World of Might and Magic  0.2.0
Open reimplementation of Might and Magic 6 7 8 game engine
Класс GUIButton

#include <GUIButton.h>

+ Граф связей класса GUIButton:

Открытые члены

 GUIButton ()
 
void DrawLabel (const String &label_text, GUIFont *pFont, int a5, int uFontShadowColor)
 
bool Contains (unsigned int x, unsigned int y)
 
void Release ()
 

Открытые атрибуты

unsigned int uX = 0
 
unsigned int uY = 0
 
unsigned int uWidth = 0
 
unsigned int uHeight = 0
 
unsigned int uZ = 0
 
unsigned int uW = 0
 
int uButtonType = 0
 
int field_1C = 0
 
UIMessageType msg = UIMSG_0
 
unsigned int msg_param = 0
 
int field_28 = 0
 
bool field_2C_is_pushed = false
 
GUIWindowpParent = nullptr
 
std::vector< Image * > vTextures
 
uint8_t uHotkey = 0
 
String sLabel = ""
 
String field_75 = ""
 

Подробное описание

См. определение в файле GUIButton.h строка 11

Конструктор(ы)

◆ GUIButton()

GUIButton::GUIButton ( )
inline

См. определение в файле GUIButton.h строка 13

13  {
14  pParent = nullptr;
15  }

Перекрестные ссылки pParent.

Методы

◆ DrawLabel()

void GUIButton::DrawLabel ( const String label_text,
GUIFont pFont,
int  a5,
int  uFontShadowColor 
)

См. определение в файле GUIButton.cpp строка 104

105  {
106  return pParent->DrawText(
107  pFont,
108  this->uX + (int)(this->uWidth - pFont->GetLineWidth(label_text)) / 2,
109  this->uY + (int)(this->uHeight - pFont->GetHeight()) / 2, a5,
110  label_text, 0, 0, uFontShadowColor);
111 }

Перекрестные ссылки GUIWindow::DrawText(), GUIFont::GetHeight(), GUIFont::GetLineWidth(), pParent, uWidth и uX.

Используется в GUIWindow_Rest::Update(), GUIWindow_RestWindow::Update(), OnButtonClick::Update() и OnButtonClick2::Update().

+ Граф вызовов:
+ Граф вызова функции:

◆ Contains()

bool GUIButton::Contains ( unsigned int  x,
unsigned int  y 
)

См. определение в файле GUIButton.cpp строка 113

113  {
114  return (x >= uX && x <= uZ && y >= uY && y <= uW);
115 }

Перекрестные ссылки uW, uX и uY.

Используется в GameUI_WritePointedObjectStatusString(), Mouse::UI_OnMouseLeftClick() и GUIWindow_MainMenu::Update().

+ Граф вызова функции:

◆ Release()

void GUIButton::Release ( )

См. определение в файле GUIButton.cpp строка 95

95  {
96  std::vector<GUIButton *>::iterator it =
97  std::find(pParent->vButtons.begin(), pParent->vButtons.end(), this);
98  if (it != pParent->vButtons.end()) {
99  pParent->vButtons.erase(it);
100  }
101  delete this;
102 }

Перекрестные ссылки pParent и GUIWindow::vButtons.

Используется в CharacterUI_ReleaseButtons(), ReleaseAwardsScrollBar() и GUIWindow_CharacterRecord::ToggleRingsOverlay().

+ Граф вызова функции:

Данные класса

◆ uX

◆ uY

◆ uWidth

unsigned int GUIButton::uWidth = 0

◆ uHeight

◆ uZ

◆ uW

◆ uButtonType

int GUIButton::uButtonType = 0

См. определение в файле GUIButton.h строка 27

Используется в GUIWindow::CreateButton(), GameUI_WritePointedObjectStatusString(), Mouse::UI_OnMouseLeftClick() и UI_OnMouseRightClick().

◆ field_1C

int GUIButton::field_1C = 0

◆ msg

◆ msg_param

◆ field_28

int GUIButton::field_28 = 0

См. определение в файле GUIButton.h строка 31

Используется в GUI_ReplaceHotkey().

◆ field_2C_is_pushed

bool GUIButton::field_2C_is_pushed = false

См. определение в файле GUIButton.h строка 32

Используется в GUIWindow::CreateButton() и Mouse::UI_OnMouseLeftClick().

◆ pParent

GUIWindow* GUIButton::pParent = nullptr

См. определение в файле GUIButton.h строка 33

Используется в GUIWindow::CreateButton(), DrawLabel(), GUIButton(), Release(), GUIWindow_Rest::Update() и GUIWindow_RestWindow::Update().

◆ vTextures

std::vector<Image*> GUIButton::vTextures

См. определение в файле GUIButton.h строка 34

Используется в GUIWindow::CreateButton(), GUIWindow_BooksButtonOverlay::Update(), OnButtonClick::Update() и OnButtonClick2::Update().

◆ uHotkey

uint8_t GUIButton::uHotkey = 0

См. определение в файле GUIButton.h строка 35

Используется в GUIWindow::CreateButton() и GUI_ReplaceHotkey().

◆ sLabel

String GUIButton::sLabel = ""

См. определение в файле GUIButton.h строка 36

Используется в GUIWindow::CreateButton(), GameUI_WritePointedObjectStatusString(), SimpleHouseDialog() и GUIWindow_Dialogue::Update().

◆ field_75

String GUIButton::field_75 = ""

См. определение в файле GUIButton.h строка 37


Объявления и описания членов классов находятся в файлах:
GUIWindow::DrawText
void DrawText(GUIFont *font, int x, int y, unsigned short uFontColor, const char *str, bool present_time_transparency=false, int max_text_height=0, int uFontShadowColor=0)
Definition: GUIWindow.cpp:694
GUIButton::pParent
GUIWindow * pParent
Definition: GUIButton.h:33
GUIFont::GetLineWidth
unsigned int GetLineWidth(const String &str)
Definition: GUIFont.cpp:278
GUIFont::GetHeight
unsigned int GetHeight() const
Definition: GUIFont.cpp:84
GUIWindow::vButtons
std::vector< GUIButton * > vButtons
Definition: GUIWindow.h:489
y
EGLSurface EGLint EGLint y
Definition: SDL_egl.h:1596
x
EGLSurface EGLint x
Definition: SDL_egl.h:1596
GUIButton::uWidth
unsigned int uWidth
Definition: GUIButton.h:23
GUIButton::uX
unsigned int uX
Definition: GUIButton.h:21
GUIButton::uW
unsigned int uW
Definition: GUIButton.h:26
GUIButton::uY
unsigned int uY
Definition: GUIButton.h:22