raygui
raygui copied to clipboard
Define a consistent convention on controls return values
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(): Returns1when clicked -->RESULT_CLICKED?GuiTextBox(): Returnstruewhen edited, used to changeeditMode- ...