|
|
|
@ -18,6 +18,7 @@ Index of this file: |
|
|
|
|
// [SECTION] Generic helpers
|
|
|
|
|
// [SECTION] ImDrawList support
|
|
|
|
|
// [SECTION] Widgets support: flags, enums, data structures
|
|
|
|
|
// [SECTION] Inputs support
|
|
|
|
|
// [SECTION] Clipper support
|
|
|
|
|
// [SECTION] Navigation support
|
|
|
|
|
// [SECTION] Columns support
|
|
|
|
@ -899,69 +900,6 @@ enum ImGuiPlotType |
|
|
|
|
ImGuiPlotType_Histogram |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
enum ImGuiInputEventType |
|
|
|
|
{ |
|
|
|
|
ImGuiInputEventType_None = 0, |
|
|
|
|
ImGuiInputEventType_MousePos, |
|
|
|
|
ImGuiInputEventType_MouseWheel, |
|
|
|
|
ImGuiInputEventType_MouseButton, |
|
|
|
|
ImGuiInputEventType_Key, |
|
|
|
|
ImGuiInputEventType_KeyMods, |
|
|
|
|
ImGuiInputEventType_Char, |
|
|
|
|
ImGuiInputEventType_Focus, |
|
|
|
|
ImGuiInputEventType_COUNT |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
enum ImGuiInputSource |
|
|
|
|
{ |
|
|
|
|
ImGuiInputSource_None = 0, |
|
|
|
|
ImGuiInputSource_Mouse, |
|
|
|
|
ImGuiInputSource_Keyboard, |
|
|
|
|
ImGuiInputSource_Gamepad, |
|
|
|
|
ImGuiInputSource_Clipboard, // Currently only used by InputText()
|
|
|
|
|
ImGuiInputSource_Nav, // Stored in g.ActiveIdSource only
|
|
|
|
|
ImGuiInputSource_COUNT |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
// FIXME: Structures in the union below need to be declared as anonymous unions appears to be an extension?
|
|
|
|
|
// Using ImVec2() would fail on Clang 'union member 'MousePos' has a non-trivial default constructor'
|
|
|
|
|
struct ImGuiInputEventMousePos { float PosX, PosY; }; |
|
|
|
|
struct ImGuiInputEventMouseWheel { float WheelX, WheelY; }; |
|
|
|
|
struct ImGuiInputEventMouseButton { int Button; bool Down; }; |
|
|
|
|
struct ImGuiInputEventKey { ImGuiKey Key; bool Down; float AnalogValue; }; |
|
|
|
|
struct ImGuiInputEventKeyMods { ImGuiKeyModFlags Mods; }; |
|
|
|
|
struct ImGuiInputEventText { unsigned int Char; }; |
|
|
|
|
struct ImGuiInputEventAppFocused { bool Focused; }; |
|
|
|
|
|
|
|
|
|
struct ImGuiInputEvent |
|
|
|
|
{ |
|
|
|
|
ImGuiInputEventType Type; |
|
|
|
|
ImGuiInputSource Source; |
|
|
|
|
union |
|
|
|
|
{ |
|
|
|
|
ImGuiInputEventMousePos MousePos; // if Type == ImGuiInputEventType_MousePos
|
|
|
|
|
ImGuiInputEventMouseWheel MouseWheel; // if Type == ImGuiInputEventType_MouseWheel
|
|
|
|
|
ImGuiInputEventMouseButton MouseButton; // if Type == ImGuiInputEventType_MouseButton
|
|
|
|
|
ImGuiInputEventKey Key; // if Type == ImGuiInputEventType_Key
|
|
|
|
|
ImGuiInputEventKeyMods KeyMods; // if Type == ImGuiInputEventType_Modifiers
|
|
|
|
|
ImGuiInputEventText Text; // if Type == ImGuiInputEventType_Text
|
|
|
|
|
ImGuiInputEventAppFocused AppFocused; // if Type == ImGuiInputEventType_Focus
|
|
|
|
|
}; |
|
|
|
|
bool AddedByTestEngine; |
|
|
|
|
|
|
|
|
|
ImGuiInputEvent() { memset(this, 0, sizeof(*this)); } |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
// FIXME-NAV: Clarify/expose various repeat delay/rate
|
|
|
|
|
enum ImGuiInputReadMode |
|
|
|
|
{ |
|
|
|
|
ImGuiInputReadMode_Down, |
|
|
|
|
ImGuiInputReadMode_Pressed, |
|
|
|
|
ImGuiInputReadMode_Released, |
|
|
|
|
ImGuiInputReadMode_Repeat, |
|
|
|
|
ImGuiInputReadMode_RepeatSlow, |
|
|
|
|
ImGuiInputReadMode_RepeatFast |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
enum ImGuiPopupPositionPolicy |
|
|
|
|
{ |
|
|
|
@ -1215,6 +1153,74 @@ struct ImGuiPtrOrIndex |
|
|
|
|
ImGuiPtrOrIndex(int index) { Ptr = NULL; Index = index; } |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
|
// [SECTION] Inputs support
|
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
enum ImGuiInputEventType |
|
|
|
|
{ |
|
|
|
|
ImGuiInputEventType_None = 0, |
|
|
|
|
ImGuiInputEventType_MousePos, |
|
|
|
|
ImGuiInputEventType_MouseWheel, |
|
|
|
|
ImGuiInputEventType_MouseButton, |
|
|
|
|
ImGuiInputEventType_Key, |
|
|
|
|
ImGuiInputEventType_KeyMods, |
|
|
|
|
ImGuiInputEventType_Char, |
|
|
|
|
ImGuiInputEventType_Focus, |
|
|
|
|
ImGuiInputEventType_COUNT |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
enum ImGuiInputSource |
|
|
|
|
{ |
|
|
|
|
ImGuiInputSource_None = 0, |
|
|
|
|
ImGuiInputSource_Mouse, |
|
|
|
|
ImGuiInputSource_Keyboard, |
|
|
|
|
ImGuiInputSource_Gamepad, |
|
|
|
|
ImGuiInputSource_Clipboard, // Currently only used by InputText()
|
|
|
|
|
ImGuiInputSource_Nav, // Stored in g.ActiveIdSource only
|
|
|
|
|
ImGuiInputSource_COUNT |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
// FIXME: Structures in the union below need to be declared as anonymous unions appears to be an extension?
|
|
|
|
|
// Using ImVec2() would fail on Clang 'union member 'MousePos' has a non-trivial default constructor'
|
|
|
|
|
struct ImGuiInputEventMousePos { float PosX, PosY; }; |
|
|
|
|
struct ImGuiInputEventMouseWheel { float WheelX, WheelY; }; |
|
|
|
|
struct ImGuiInputEventMouseButton { int Button; bool Down; }; |
|
|
|
|
struct ImGuiInputEventKey { ImGuiKey Key; bool Down; float AnalogValue; }; |
|
|
|
|
struct ImGuiInputEventKeyMods { ImGuiKeyModFlags Mods; }; |
|
|
|
|
struct ImGuiInputEventText { unsigned int Char; }; |
|
|
|
|
struct ImGuiInputEventAppFocused { bool Focused; }; |
|
|
|
|
|
|
|
|
|
struct ImGuiInputEvent |
|
|
|
|
{ |
|
|
|
|
ImGuiInputEventType Type; |
|
|
|
|
ImGuiInputSource Source; |
|
|
|
|
union |
|
|
|
|
{ |
|
|
|
|
ImGuiInputEventMousePos MousePos; // if Type == ImGuiInputEventType_MousePos
|
|
|
|
|
ImGuiInputEventMouseWheel MouseWheel; // if Type == ImGuiInputEventType_MouseWheel
|
|
|
|
|
ImGuiInputEventMouseButton MouseButton; // if Type == ImGuiInputEventType_MouseButton
|
|
|
|
|
ImGuiInputEventKey Key; // if Type == ImGuiInputEventType_Key
|
|
|
|
|
ImGuiInputEventKeyMods KeyMods; // if Type == ImGuiInputEventType_Modifiers
|
|
|
|
|
ImGuiInputEventText Text; // if Type == ImGuiInputEventType_Text
|
|
|
|
|
ImGuiInputEventAppFocused AppFocused; // if Type == ImGuiInputEventType_Focus
|
|
|
|
|
}; |
|
|
|
|
bool AddedByTestEngine; |
|
|
|
|
|
|
|
|
|
ImGuiInputEvent() { memset(this, 0, sizeof(*this)); } |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
// FIXME-NAV: Clarify/expose various repeat delay/rate
|
|
|
|
|
enum ImGuiInputReadMode |
|
|
|
|
{ |
|
|
|
|
ImGuiInputReadMode_Down, |
|
|
|
|
ImGuiInputReadMode_Pressed, |
|
|
|
|
ImGuiInputReadMode_Released, |
|
|
|
|
ImGuiInputReadMode_Repeat, |
|
|
|
|
ImGuiInputReadMode_RepeatSlow, |
|
|
|
|
ImGuiInputReadMode_RepeatFast |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
|
// [SECTION] Clipper support
|
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
|