raygui was redesigned on v4.0 to always return an int as "control result value" while keeping the control required variables as function parameters, usually passed by reference.
Despite the redesign, there was no rule defining/unifying that "control result value" that should be returned by every control. Here some possible ideas (ref: #371):
typedef enum GuiControlResult {
RESULT_NONE = 0,
RESULT_FOCUSED = 1,
RESULT_CLICKED = 2,
RESULT_SCROLLED = 3,
RESULT_CUSTOM01 = 4,
RESULT_CUSTOM02 = 5,
} GuiControlResult;
Every control has to be carefully analized to see what are the possible internal states that could be returned. It would be nice to unify the possible return values but also allow per-control custom return values.
Note that some controls already return specific results, reviewing this functionality could be a breaking change:
GuiButton(): Returns 1 when clicked --> RESULT_CLICKED?
GuiTextBox(): Returns true when edited, used to change editMode
- ...
raygui was redesigned on v4.0 to always return an
intas "control result value" while keeping the control required variables as function parameters, usually passed by reference.Despite the redesign, there was no rule defining/unifying that "control result value" that should be returned by every control. Here some possible ideas (ref: #371):
Every control has to be carefully analized to see what are the possible internal states that could be returned. It would be nice to unify the possible return values but also allow per-control custom return values.
Note that some controls already return specific results, reviewing this functionality could be a breaking change:
GuiButton(): Returns1when clicked -->RESULT_CLICKED?GuiTextBox(): Returnstruewhen edited, used to changeeditMode