mirror of
https://github.com/raysan5/raylib.git
synced 2025-10-02 16:08:32 +00:00
Review GuiToggleButton()
This commit is contained in:
21
src/raygui.c
21
src/raygui.c
@@ -258,15 +258,28 @@ bool GuiToggleButton(Rectangle bounds, const char *text, bool toggle)
|
|||||||
//--------------------------------------------------------------------
|
//--------------------------------------------------------------------
|
||||||
if (toggleButton.width < textWidth) toggleButton.width = textWidth + style[TOGGLE_TEXT_PADDING];
|
if (toggleButton.width < textWidth) toggleButton.width = textWidth + style[TOGGLE_TEXT_PADDING];
|
||||||
if (toggleButton.height < textHeight) toggleButton.height = textHeight + style[TOGGLE_TEXT_PADDING]/2;
|
if (toggleButton.height < textHeight) toggleButton.height = textHeight + style[TOGGLE_TEXT_PADDING]/2;
|
||||||
|
|
||||||
|
if (toggle) toggleState = TOGGLE_ACTIVE;
|
||||||
|
else toggleState = TOGGLE_UNACTIVE;
|
||||||
|
|
||||||
if (CheckCollisionPointRec(mousePoint, toggleButton))
|
if (CheckCollisionPointRec(mousePoint, toggleButton))
|
||||||
{
|
{
|
||||||
if (IsMouseButtonDown(MOUSE_LEFT_BUTTON)) toggleState = TOGGLE_PRESSED;
|
if (IsMouseButtonDown(MOUSE_LEFT_BUTTON)) toggleState = TOGGLE_PRESSED;
|
||||||
else if (IsMouseButtonReleased(MOUSE_LEFT_BUTTON)) toggleState = TOGGLE_ACTIVE;
|
else if (IsMouseButtonReleased(MOUSE_LEFT_BUTTON))
|
||||||
|
{
|
||||||
|
if (toggle)
|
||||||
|
{
|
||||||
|
toggle = false;
|
||||||
|
toggleState = TOGGLE_UNACTIVE;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
toggle = true;
|
||||||
|
toggleState = TOGGLE_ACTIVE;
|
||||||
|
}
|
||||||
|
}
|
||||||
else toggleState = TOGGLE_HOVER;
|
else toggleState = TOGGLE_HOVER;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (toggleState == TOGGLE_ACTIVE && !toggle) toggle = true;
|
|
||||||
if (toggle) toggleState = TOGGLE_ACTIVE;
|
|
||||||
//--------------------------------------------------------------------
|
//--------------------------------------------------------------------
|
||||||
|
|
||||||
// Draw control
|
// Draw control
|
||||||
|
Reference in New Issue
Block a user