mirror of
https://github.com/ocornut/imgui.git
synced 2024-12-13 04:39:02 +08:00
Nav: moved enums/struct declarations in imgui_internal.h
This commit is contained in:
parent
20a1edef89
commit
4351febe9f
119
imgui_internal.h
119
imgui_internal.h
@ -18,6 +18,7 @@ Index of this file:
|
|||||||
// [SECTION] Generic helpers
|
// [SECTION] Generic helpers
|
||||||
// [SECTION] ImDrawList support
|
// [SECTION] ImDrawList support
|
||||||
// [SECTION] Widgets support: flags, enums, data structures
|
// [SECTION] Widgets support: flags, enums, data structures
|
||||||
|
// [SECTION] Navigation support
|
||||||
// [SECTION] Columns support
|
// [SECTION] Columns support
|
||||||
// [SECTION] Multi-select support
|
// [SECTION] Multi-select support
|
||||||
// [SECTION] Docking support
|
// [SECTION] Docking support
|
||||||
@ -915,49 +916,6 @@ enum ImGuiInputReadMode
|
|||||||
ImGuiInputReadMode_RepeatFast
|
ImGuiInputReadMode_RepeatFast
|
||||||
};
|
};
|
||||||
|
|
||||||
enum ImGuiNavHighlightFlags_
|
|
||||||
{
|
|
||||||
ImGuiNavHighlightFlags_None = 0,
|
|
||||||
ImGuiNavHighlightFlags_TypeDefault = 1 << 0,
|
|
||||||
ImGuiNavHighlightFlags_TypeThin = 1 << 1,
|
|
||||||
ImGuiNavHighlightFlags_AlwaysDraw = 1 << 2, // Draw rectangular highlight if (g.NavId == id) _even_ when using the mouse.
|
|
||||||
ImGuiNavHighlightFlags_NoRounding = 1 << 3
|
|
||||||
};
|
|
||||||
|
|
||||||
enum ImGuiNavDirSourceFlags_
|
|
||||||
{
|
|
||||||
ImGuiNavDirSourceFlags_None = 0,
|
|
||||||
ImGuiNavDirSourceFlags_Keyboard = 1 << 0,
|
|
||||||
ImGuiNavDirSourceFlags_PadDPad = 1 << 1,
|
|
||||||
ImGuiNavDirSourceFlags_PadLStick = 1 << 2
|
|
||||||
};
|
|
||||||
|
|
||||||
enum ImGuiNavMoveFlags_
|
|
||||||
{
|
|
||||||
ImGuiNavMoveFlags_None = 0,
|
|
||||||
ImGuiNavMoveFlags_LoopX = 1 << 0, // On failed request, restart from opposite side
|
|
||||||
ImGuiNavMoveFlags_LoopY = 1 << 1,
|
|
||||||
ImGuiNavMoveFlags_WrapX = 1 << 2, // On failed request, request from opposite side one line down (when NavDir==right) or one line up (when NavDir==left)
|
|
||||||
ImGuiNavMoveFlags_WrapY = 1 << 3, // This is not super useful but provided for completeness
|
|
||||||
ImGuiNavMoveFlags_AllowCurrentNavId = 1 << 4, // Allow scoring and considering the current NavId as a move target candidate. This is used when the move source is offset (e.g. pressing PageDown actually needs to send a Up move request, if we are pressing PageDown from the bottom-most item we need to stay in place)
|
|
||||||
ImGuiNavMoveFlags_AlsoScoreVisibleSet = 1 << 5, // Store alternate result in NavMoveResultLocalVisibleSet that only comprise elements that are already fully visible (used by PageUp/PageDown)
|
|
||||||
ImGuiNavMoveFlags_ScrollToEdge = 1 << 6
|
|
||||||
};
|
|
||||||
|
|
||||||
enum ImGuiNavForward
|
|
||||||
{
|
|
||||||
ImGuiNavForward_None,
|
|
||||||
ImGuiNavForward_ForwardQueued,
|
|
||||||
ImGuiNavForward_ForwardActive
|
|
||||||
};
|
|
||||||
|
|
||||||
enum ImGuiNavLayer
|
|
||||||
{
|
|
||||||
ImGuiNavLayer_Main = 0, // Main scrolling layer
|
|
||||||
ImGuiNavLayer_Menu = 1, // Menu layer (access with Alt/ImGuiNavInput_Menu)
|
|
||||||
ImGuiNavLayer_COUNT
|
|
||||||
};
|
|
||||||
|
|
||||||
enum ImGuiPopupPositionPolicy
|
enum ImGuiPopupPositionPolicy
|
||||||
{
|
{
|
||||||
ImGuiPopupPositionPolicy_Default,
|
ImGuiPopupPositionPolicy_Default,
|
||||||
@ -1104,20 +1062,6 @@ struct ImGuiPopupData
|
|||||||
ImGuiPopupData() { memset(this, 0, sizeof(*this)); OpenFrameCount = -1; }
|
ImGuiPopupData() { memset(this, 0, sizeof(*this)); OpenFrameCount = -1; }
|
||||||
};
|
};
|
||||||
|
|
||||||
struct ImGuiNavItemData
|
|
||||||
{
|
|
||||||
ImGuiWindow* Window; // Init,Move // Best candidate window (result->ItemWindow->RootWindowForNav == request->Window)
|
|
||||||
ImGuiID ID; // Init,Move // Best candidate item ID
|
|
||||||
ImGuiID FocusScopeId; // Init,Move // Best candidate focus scope ID
|
|
||||||
ImRect RectRel; // Init,Move // Best candidate bounding box in window relative space
|
|
||||||
float DistBox; // Move // Best candidate box distance to current NavId
|
|
||||||
float DistCenter; // Move // Best candidate center distance to current NavId
|
|
||||||
float DistAxial; // Move // Best candidate axial distance to current NavId
|
|
||||||
|
|
||||||
ImGuiNavItemData() { Clear(); }
|
|
||||||
void Clear() { Window = NULL; ID = FocusScopeId = 0; RectRel = ImRect(); DistBox = DistCenter = DistAxial = FLT_MAX; }
|
|
||||||
};
|
|
||||||
|
|
||||||
enum ImGuiNextWindowDataFlags_
|
enum ImGuiNextWindowDataFlags_
|
||||||
{
|
{
|
||||||
ImGuiNextWindowDataFlags_None = 0,
|
ImGuiNextWindowDataFlags_None = 0,
|
||||||
@ -1207,6 +1151,67 @@ struct ImGuiPtrOrIndex
|
|||||||
ImGuiPtrOrIndex(int index) { Ptr = NULL; Index = index; }
|
ImGuiPtrOrIndex(int index) { Ptr = NULL; Index = index; }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// [SECTION] Navigation support
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
enum ImGuiNavHighlightFlags_
|
||||||
|
{
|
||||||
|
ImGuiNavHighlightFlags_None = 0,
|
||||||
|
ImGuiNavHighlightFlags_TypeDefault = 1 << 0,
|
||||||
|
ImGuiNavHighlightFlags_TypeThin = 1 << 1,
|
||||||
|
ImGuiNavHighlightFlags_AlwaysDraw = 1 << 2, // Draw rectangular highlight if (g.NavId == id) _even_ when using the mouse.
|
||||||
|
ImGuiNavHighlightFlags_NoRounding = 1 << 3
|
||||||
|
};
|
||||||
|
|
||||||
|
enum ImGuiNavDirSourceFlags_
|
||||||
|
{
|
||||||
|
ImGuiNavDirSourceFlags_None = 0,
|
||||||
|
ImGuiNavDirSourceFlags_Keyboard = 1 << 0,
|
||||||
|
ImGuiNavDirSourceFlags_PadDPad = 1 << 1,
|
||||||
|
ImGuiNavDirSourceFlags_PadLStick = 1 << 2
|
||||||
|
};
|
||||||
|
|
||||||
|
enum ImGuiNavMoveFlags_
|
||||||
|
{
|
||||||
|
ImGuiNavMoveFlags_None = 0,
|
||||||
|
ImGuiNavMoveFlags_LoopX = 1 << 0, // On failed request, restart from opposite side
|
||||||
|
ImGuiNavMoveFlags_LoopY = 1 << 1,
|
||||||
|
ImGuiNavMoveFlags_WrapX = 1 << 2, // On failed request, request from opposite side one line down (when NavDir==right) or one line up (when NavDir==left)
|
||||||
|
ImGuiNavMoveFlags_WrapY = 1 << 3, // This is not super useful but provided for completeness
|
||||||
|
ImGuiNavMoveFlags_AllowCurrentNavId = 1 << 4, // Allow scoring and considering the current NavId as a move target candidate. This is used when the move source is offset (e.g. pressing PageDown actually needs to send a Up move request, if we are pressing PageDown from the bottom-most item we need to stay in place)
|
||||||
|
ImGuiNavMoveFlags_AlsoScoreVisibleSet = 1 << 5, // Store alternate result in NavMoveResultLocalVisibleSet that only comprise elements that are already fully visible (used by PageUp/PageDown)
|
||||||
|
ImGuiNavMoveFlags_ScrollToEdge = 1 << 6
|
||||||
|
};
|
||||||
|
|
||||||
|
enum ImGuiNavForward
|
||||||
|
{
|
||||||
|
ImGuiNavForward_None,
|
||||||
|
ImGuiNavForward_ForwardQueued,
|
||||||
|
ImGuiNavForward_ForwardActive
|
||||||
|
};
|
||||||
|
|
||||||
|
enum ImGuiNavLayer
|
||||||
|
{
|
||||||
|
ImGuiNavLayer_Main = 0, // Main scrolling layer
|
||||||
|
ImGuiNavLayer_Menu = 1, // Menu layer (access with Alt/ImGuiNavInput_Menu)
|
||||||
|
ImGuiNavLayer_COUNT
|
||||||
|
};
|
||||||
|
|
||||||
|
struct ImGuiNavItemData
|
||||||
|
{
|
||||||
|
ImGuiWindow* Window; // Init,Move // Best candidate window (result->ItemWindow->RootWindowForNav == request->Window)
|
||||||
|
ImGuiID ID; // Init,Move // Best candidate item ID
|
||||||
|
ImGuiID FocusScopeId; // Init,Move // Best candidate focus scope ID
|
||||||
|
ImRect RectRel; // Init,Move // Best candidate bounding box in window relative space
|
||||||
|
float DistBox; // Move // Best candidate box distance to current NavId
|
||||||
|
float DistCenter; // Move // Best candidate center distance to current NavId
|
||||||
|
float DistAxial; // Move // Best candidate axial distance to current NavId
|
||||||
|
|
||||||
|
ImGuiNavItemData() { Clear(); }
|
||||||
|
void Clear() { Window = NULL; ID = FocusScopeId = 0; RectRel = ImRect(); DistBox = DistCenter = DistAxial = FLT_MAX; }
|
||||||
|
};
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// [SECTION] Columns support
|
// [SECTION] Columns support
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
Loading…
Reference in New Issue
Block a user