KarmaEngine
Game Engine for practical learning and research purposes
Loading...
Searching...
No Matches
KarmaGui.h File Reference

This file constains KarmaGui class. The chief class for our UI needs.. More...

#include "krpch.h"

Go to the source code of this file.

Classes

struct  KGVec2
struct  KGVec4
class  Karma::KarmaGui
struct  KGNewWrapper
struct  KGVector< T >
struct  KarmaGuiStyle
struct  KarmaGuiKeyData
struct  KarmaGuiIO
struct  KarmaGuiInputTextCallbackData
struct  KarmaGuiSizeCallbackData
struct  KarmaGuiWindowClass
struct  KarmaGuiPayload
struct  KarmaGuiTableColumnSortSpecs
struct  KarmaGuiTableSortSpecs
struct  KarmaGuiOnceUponAFrame
struct  KarmaGuiTextFilter
struct  KarmaGuiTextFilter::ImGuiTextRange
struct  KarmaGuiTextBuffer
struct  KarmaGuiStorage
struct  KarmaGuiStorage::ImGuiStoragePair
struct  KarmaGuiListClipper
struct  KGColor
struct  KGDrawCmd
struct  KGDrawVert
struct  KGDrawCmdHeader
struct  KGDrawChannel
struct  KGDrawListSplitter
struct  KGDrawList
 Draw command list. More...
struct  KGDrawData
struct  KGFontConfig
struct  KGFontGlyph
struct  KGFontGlyphRangesBuilder
struct  KGFontAtlasCustomRect
struct  KGFontAtlas
struct  KGFont
struct  KarmaGuiViewport
 A Platform Window (always 1 unless multi-viewport are enabled. One per platform window to output to). In the future, may represent Platform Monitor. More...
struct  KarmaGuiPlatformIO
struct  KarmaGuiPlatformMonitor
struct  KarmaGuiPlatformImeData

Macros

#define KG_FMTARGS(FMT)
#define KG_FMTLIST(FMT)
#define KG_ARRAYSIZE(_ARR)
#define KG_UNUSED(_VAR)
#define KG_OFFSETOF(_TYPE, _MEMBER)
#define KARMAGUI_PAYLOAD_TYPE_COLOR_3F   "_COL3F"
#define KARMAGUI_PAYLOAD_TYPE_COLOR_4F   "_COL4F"
#define KG_ALLOC(_SIZE)
#define KG_FREE(_PTR)
#define KG_PLACEMENT_NEW(_PTR)
#define KG_NEW(_TYPE)
#define KG_UNICODE_CODEPOINT_INVALID   0xFFFD
#define KG_UNICODE_CODEPOINT_MAX   0xFFFF
#define KG_COL32_R_SHIFT   0
#define KG_COL32_G_SHIFT   8
#define KG_COL32_B_SHIFT   16
#define KG_COL32_A_SHIFT   24
#define KG_COL32_A_MASK   0xFF000000
#define KG_COL32(R, G, B, A)
#define KG_COL32_WHITE   KG_COL32(255,255,255,255)
#define KG_COL32_BLACK   KG_COL32(0,0,0,255)
#define KG_COL32_BLACK_TRANS   KG_COL32(0,0,0,0)
#define KG_DRAWLIST_TEX_LINES_WIDTH_MAX   (63)
#define KGDrawCallback_ResetRenderState   (KGDrawCallback)(-1)

Typedefs

typedef int KarmaGuiCol
typedef int KarmaGuiCond
typedef int KarmaGuiDataType
typedef int KarmaGuiDir
typedef int KarmaGuiMouseButton
typedef int KarmaGuiMouseCursor
typedef int KarmaGuiSortDirection
typedef int KarmaGuiStyleVar
typedef int KarmaGuiTableBgTarget
typedef int KGDrawFlags
typedef int KGDrawListFlags
typedef int KGFontAtlasFlags
typedef int KarmaGuiBackendFlags
typedef int KarmaGuiButtonFlags
typedef int KarmaGuiColorEditFlags
typedef int KarmaGuiConfigFlags
typedef int KarmaGuiComboFlags
typedef int KarmaGuiDockNodeFlags
typedef int KarmaGuiDragDropFlags
typedef int KarmaGuiFocusedFlags
typedef int KarmaGuiHoveredFlags
typedef int KarmaGuiInputFlags
typedef int KarmaGuiInputTextFlags
typedef int KarmaGuiKeyChord
typedef int KarmaGuiPopupFlags
typedef int KarmaGuiSelectableFlags
typedef int KarmaGuiSliderFlags
typedef int KarmaGuiTabBarFlags
typedef int KarmaGuiTabItemFlags
typedef int KarmaGuiTableFlags
typedef int KarmaGuiTableColumnFlags
typedef int KarmaGuiTableRowFlags
typedef int KarmaGuiTreeNodeFlags
typedef int KarmaGuiViewportFlags
typedef int KarmaGuiWindowFlags
typedef void * KGTextureID
typedef unsigned short KGDrawIdx
typedef unsigned int KGGuiID
typedef signed char KGS8
typedef unsigned char KGU8
typedef signed short KGS16
typedef unsigned short KGU16
typedef signed int KGS32
typedef unsigned int KGU32
typedef signed long long KGS64
typedef unsigned long long KGU64
typedef unsigned short KGWchar16
typedef KGWchar16 KGWchar
typedef int(* KarmaGuiInputTextCallback) (KarmaGuiInputTextCallbackData *data)
typedef void(* KarmaGuiSizeCallback) (KarmaGuiSizeCallbackData *data)
typedef void *(* KarmaGuiMemAllocFunc) (size_t sz, void *user_data)
typedef void(* KarmaGuiMemFreeFunc) (void *ptr, void *user_data)
typedef void(* KGDrawCallback) (const KGDrawList *parent_list, const KGDrawCmd *cmd)

Enumerations

enum  KGGuiWindowFlags_ {
  KGGuiWindowFlags_None = 0 , KGGuiWindowFlags_NoTitleBar = 1 << 0 , KGGuiWindowFlags_NoResize = 1 << 1 , KGGuiWindowFlags_NoMove = 1 << 2 ,
  KGGuiWindowFlags_NoScrollbar = 1 << 3 , KGGuiWindowFlags_NoScrollWithMouse = 1 << 4 , KGGuiWindowFlags_NoCollapse = 1 << 5 , KGGuiWindowFlags_AlwaysAutoResize = 1 << 6 ,
  KGGuiWindowFlags_NoBackground = 1 << 7 , KGGuiWindowFlags_NoSavedSettings = 1 << 8 , KGGuiWindowFlags_NoMouseInputs = 1 << 9 , KGGuiWindowFlags_MenuBar = 1 << 10 ,
  KGGuiWindowFlags_HorizontalScrollbar = 1 << 11 , KGGuiWindowFlags_NoFocusOnAppearing = 1 << 12 , KGGuiWindowFlags_NoBringToFrontOnFocus = 1 << 13 , KGGuiWindowFlags_AlwaysVerticalScrollbar = 1 << 14 ,
  KGGuiWindowFlags_AlwaysHorizontalScrollbar =1<< 15 , KGGuiWindowFlags_AlwaysUseWindowPadding = 1 << 16 , KGGuiWindowFlags_NoNavInputs = 1 << 18 , KGGuiWindowFlags_NoNavFocus = 1 << 19 ,
  KGGuiWindowFlags_UnsavedDocument = 1 << 20 , KGGuiWindowFlags_NoDocking = 1 << 21 , KGGuiWindowFlags_NoNav = KGGuiWindowFlags_NoNavInputs | KGGuiWindowFlags_NoNavFocus , KGGuiWindowFlags_NoDecoration = KGGuiWindowFlags_NoTitleBar | KGGuiWindowFlags_NoResize | KGGuiWindowFlags_NoScrollbar | KGGuiWindowFlags_NoCollapse ,
  KGGuiWindowFlags_NoInputs = KGGuiWindowFlags_NoMouseInputs | KGGuiWindowFlags_NoNavInputs | KGGuiWindowFlags_NoNavFocus , KGGuiWindowFlags_NavFlattened = 1 << 23 , KGGuiWindowFlags_ChildWindow = 1 << 24 , KGGuiWindowFlags_Tooltip = 1 << 25 ,
  KGGuiWindowFlags_Popup = 1 << 26 , KGGuiWindowFlags_Modal = 1 << 27 , KGGuiWindowFlags_ChildMenu = 1 << 28 , KGGuiWindowFlags_DockNodeHost = 1 << 29
}
enum  KGGuiInputTextFlags_ {
  KGGuiInputTextFlags_None = 0 , KGGuiInputTextFlags_CharsDecimal = 1 << 0 , KGGuiInputTextFlags_CharsHexadecimal = 1 << 1 , KGGuiInputTextFlags_CharsUppercase = 1 << 2 ,
  KGGuiInputTextFlags_CharsNoBlank = 1 << 3 , KGGuiInputTextFlags_AutoSelectAll = 1 << 4 , KGGuiInputTextFlags_EnterReturnsTrue = 1 << 5 , KGGuiInputTextFlags_CallbackCompletion = 1 << 6 ,
  KGGuiInputTextFlags_CallbackHistory = 1 << 7 , KGGuiInputTextFlags_CallbackAlways = 1 << 8 , KGGuiInputTextFlags_CallbackCharFilter = 1 << 9 , KGGuiInputTextFlags_AllowTabInput = 1 << 10 ,
  KGGuiInputTextFlags_CtrlEnterForNewLine = 1 << 11 , KGGuiInputTextFlags_NoHorizontalScroll = 1 << 12 , KGGuiInputTextFlags_AlwaysOverwrite = 1 << 13 , KGGuiInputTextFlags_ReadOnly = 1 << 14 ,
  KGGuiInputTextFlags_Password = 1 << 15 , KGGuiInputTextFlags_NoUndoRedo = 1 << 16 , KGGuiInputTextFlags_CharsScientific = 1 << 17 , KGGuiInputTextFlags_CallbackResize = 1 << 18 ,
  KGGuiInputTextFlags_CallbackEdit = 1 << 19 , KGGuiInputTextFlags_EscapeClearsAll = 1 << 20 , KGGuiInputTextFlags_AlwaysInsertMode = KGGuiInputTextFlags_AlwaysOverwrite
}
enum  KGGuiTreeNodeFlags_ {
  KGGuiTreeNodeFlags_None = 0 , KGGuiTreeNodeFlags_Selected = 1 << 0 , KGGuiTreeNodeFlags_Framed = 1 << 1 , KGGuiTreeNodeFlags_AllowItemOverlap = 1 << 2 ,
  KGGuiTreeNodeFlags_NoTreePushOnOpen = 1 << 3 , KGGuiTreeNodeFlags_NoAutoOpenOnLog = 1 << 4 , KGGuiTreeNodeFlags_DefaultOpen = 1 << 5 , KGGuiTreeNodeFlags_OpenOnDoubleClick = 1 << 6 ,
  KGGuiTreeNodeFlags_OpenOnArrow = 1 << 7 , KGGuiTreeNodeFlags_Leaf = 1 << 8 , KGGuiTreeNodeFlags_Bullet = 1 << 9 , KGGuiTreeNodeFlags_FramePadding = 1 << 10 ,
  KGGuiTreeNodeFlags_SpanAvailWidth = 1 << 11 , KGGuiTreeNodeFlags_SpanFullWidth = 1 << 12 , KGGuiTreeNodeFlags_NavLeftJumpsBackHere = 1 << 13 , KGGuiTreeNodeFlags_CollapsingHeader = KGGuiTreeNodeFlags_Framed | KGGuiTreeNodeFlags_NoTreePushOnOpen | KGGuiTreeNodeFlags_NoAutoOpenOnLog
}
enum  KGGuiPopupFlags_ {
  KGGuiPopupFlags_None = 0 , KGGuiPopupFlags_MouseButtonLeft = 0 , KGGuiPopupFlags_MouseButtonRight = 1 , KGGuiPopupFlags_MouseButtonMiddle = 2 ,
  KGGuiPopupFlags_MouseButtonMask_ = 0x1F , KGGuiPopupFlags_MouseButtonDefault_ = 1 , KGGuiPopupFlags_NoOpenOverExistingPopup = 1 << 5 , KGGuiPopupFlags_NoOpenOverItems = 1 << 6 ,
  KGGuiPopupFlags_AnyPopupId = 1 << 7 , KGGuiPopupFlags_AnyPopupLevel = 1 << 8 , KGGuiPopupFlags_AnyPopup = KGGuiPopupFlags_AnyPopupId | KGGuiPopupFlags_AnyPopupLevel
}
enum  KGGuiSelectableFlags_ {
  KGGuiSelectableFlags_None = 0 , KGGuiSelectableFlags_DontClosePopups = 1 << 0 , KGGuiSelectableFlags_SpanAllColumns = 1 << 1 , KGGuiSelectableFlags_AllowDoubleClick = 1 << 2 ,
  KGGuiSelectableFlags_Disabled = 1 << 3 , KGGuiSelectableFlags_AllowItemOverlap = 1 << 4
}
enum  KGGuiComboFlags_ {
  KGGuiComboFlags_None = 0 , KGGuiComboFlags_PopupAlignLeft = 1 << 0 , KGGuiComboFlags_HeightSmall = 1 << 1 , KGGuiComboFlags_HeightRegular = 1 << 2 ,
  KGGuiComboFlags_HeightLarge = 1 << 3 , KGGuiComboFlags_HeightLargest = 1 << 4 , KGGuiComboFlags_NoArrowButton = 1 << 5 , KGGuiComboFlags_NoPreview = 1 << 6 ,
  KGGuiComboFlags_HeightMask_ = KGGuiComboFlags_HeightSmall | KGGuiComboFlags_HeightRegular | KGGuiComboFlags_HeightLarge | KGGuiComboFlags_HeightLargest
}
enum  KGGuiTabBarFlags_ {
  KGGuiTabBarFlags_None = 0 , KGGuiTabBarFlags_Reorderable = 1 << 0 , KGGuiTabBarFlags_AutoSelectNewTabs = 1 << 1 , KGGuiTabBarFlags_TabListPopupButton = 1 << 2 ,
  KGGuiTabBarFlags_NoCloseWithMiddleMouseButton = 1 << 3 , KGGuiTabBarFlags_NoTabListScrollingButtons = 1 << 4 , KGGuiTabBarFlags_NoTooltip = 1 << 5 , KGGuiTabBarFlags_FittingPolicyResizeDown = 1 << 6 ,
  KGGuiTabBarFlags_FittingPolicyScroll = 1 << 7 , KGGuiTabBarFlags_FittingPolicyMask_ = KGGuiTabBarFlags_FittingPolicyResizeDown | KGGuiTabBarFlags_FittingPolicyScroll , KGGuiTabBarFlags_FittingPolicyDefault_ = KGGuiTabBarFlags_FittingPolicyResizeDown
}
enum  KGGuiTabItemFlags_ {
  KGGuiTabItemFlags_None = 0 , KGGuiTabItemFlags_UnsavedDocument = 1 << 0 , KGGuiTabItemFlags_SetSelected = 1 << 1 , KGGuiTabItemFlags_NoCloseWithMiddleMouseButton = 1 << 2 ,
  KGGuiTabItemFlags_NoPushId = 1 << 3 , KGGuiTabItemFlags_NoTooltip = 1 << 4 , KGGuiTabItemFlags_NoReorder = 1 << 5 , KGGuiTabItemFlags_Leading = 1 << 6 ,
  KGGuiTabItemFlags_Trailing = 1 << 7
}
enum  KGGuiTableFlags_ {
  KGGuiTableFlags_None = 0 , KGGuiTableFlags_Resizable = 1 << 0 , KGGuiTableFlags_Reorderable = 1 << 1 , KGGuiTableFlags_Hideable = 1 << 2 ,
  KGGuiTableFlags_Sortable = 1 << 3 , KGGuiTableFlags_NoSavedSettings = 1 << 4 , KGGuiTableFlags_ContextMenuInBody = 1 << 5 , KGGuiTableFlags_RowBg = 1 << 6 ,
  KGGuiTableFlags_BordersInnerH = 1 << 7 , KGGuiTableFlags_BordersOuterH = 1 << 8 , KGGuiTableFlags_BordersInnerV = 1 << 9 , KGGuiTableFlags_BordersOuterV = 1 << 10 ,
  KGGuiTableFlags_BordersH = KGGuiTableFlags_BordersInnerH | KGGuiTableFlags_BordersOuterH , KGGuiTableFlags_BordersV = KGGuiTableFlags_BordersInnerV | KGGuiTableFlags_BordersOuterV , KGGuiTableFlags_BordersInner = KGGuiTableFlags_BordersInnerV | KGGuiTableFlags_BordersInnerH , KGGuiTableFlags_BordersOuter = KGGuiTableFlags_BordersOuterV | KGGuiTableFlags_BordersOuterH ,
  KGGuiTableFlags_Borders = KGGuiTableFlags_BordersInner | KGGuiTableFlags_BordersOuter , KGGuiTableFlags_NoBordersInBody = 1 << 11 , KGGuiTableFlags_NoBordersInBodyUntilResize = 1 << 12 , KGGuiTableFlags_SizingFixedFit = 1 << 13 ,
  KGGuiTableFlags_SizingFixedSame = 2 << 13 , KGGuiTableFlags_SizingStretchProp = 3 << 13 , KGGuiTableFlags_SizingStretchSame = 4 << 13 , KGGuiTableFlags_NoHostExtendX = 1 << 16 ,
  KGGuiTableFlags_NoHostExtendY = 1 << 17 , KGGuiTableFlags_NoKeepColumnsVisible = 1 << 18 , KGGuiTableFlags_PreciseWidths = 1 << 19 , KGGuiTableFlags_NoClip = 1 << 20 ,
  KGGuiTableFlags_PadOuterX = 1 << 21 , KGGuiTableFlags_NoPadOuterX = 1 << 22 , KGGuiTableFlags_NoPadInnerX = 1 << 23 , KGGuiTableFlags_ScrollX = 1 << 24 ,
  KGGuiTableFlags_ScrollY = 1 << 25 , KGGuiTableFlags_SortMulti = 1 << 26 , KGGuiTableFlags_SortTristate = 1 << 27 , KGGuiTableFlags_SizingMask_ = KGGuiTableFlags_SizingFixedFit | KGGuiTableFlags_SizingFixedSame | KGGuiTableFlags_SizingStretchProp | KGGuiTableFlags_SizingStretchSame
}
enum  KGGuiTableColumnFlags_ {
  KGGuiTableColumnFlags_None = 0 , KGGuiTableColumnFlags_Disabled = 1 << 0 , KGGuiTableColumnFlags_DefaultHide = 1 << 1 , KGGuiTableColumnFlags_DefaultSort = 1 << 2 ,
  KGGuiTableColumnFlags_WidthStretch = 1 << 3 , KGGuiTableColumnFlags_WidthFixed = 1 << 4 , KGGuiTableColumnFlags_NoResize = 1 << 5 , KGGuiTableColumnFlags_NoReorder = 1 << 6 ,
  KGGuiTableColumnFlags_NoHide = 1 << 7 , KGGuiTableColumnFlags_NoClip = 1 << 8 , KGGuiTableColumnFlags_NoSort = 1 << 9 , KGGuiTableColumnFlags_NoSortAscending = 1 << 10 ,
  KGGuiTableColumnFlags_NoSortDescending = 1 << 11 , KGGuiTableColumnFlags_NoHeaderLabel = 1 << 12 , KGGuiTableColumnFlags_NoHeaderWidth = 1 << 13 , KGGuiTableColumnFlags_PreferSortAscending = 1 << 14 ,
  KGGuiTableColumnFlags_PreferSortDescending = 1 << 15 , KGGuiTableColumnFlags_IndentEnable = 1 << 16 , KGGuiTableColumnFlags_IndentDisable = 1 << 17 , KGGuiTableColumnFlags_IsEnabled = 1 << 24 ,
  KGGuiTableColumnFlags_IsVisible = 1 << 25 , KGGuiTableColumnFlags_IsSorted = 1 << 26 , KGGuiTableColumnFlags_IsHovered = 1 << 27 , KGGuiTableColumnFlags_WidthMask_ = KGGuiTableColumnFlags_WidthStretch | KGGuiTableColumnFlags_WidthFixed ,
  KGGuiTableColumnFlags_IndentMask_ = KGGuiTableColumnFlags_IndentEnable | KGGuiTableColumnFlags_IndentDisable , KGGuiTableColumnFlags_StatusMask_ = KGGuiTableColumnFlags_IsEnabled | KGGuiTableColumnFlags_IsVisible | KGGuiTableColumnFlags_IsSorted | KGGuiTableColumnFlags_IsHovered , KGGuiTableColumnFlags_NoDirectResize_ = 1 << 30
}
enum  KGGuiTableRowFlags_ { KGGuiTableRowFlags_None = 0 , KGGuiTableRowFlags_Headers = 1 << 0 }
enum  KGGuiTableBgTarget_ { KGGuiTableBgTarget_None = 0 , KGGuiTableBgTarget_RowBg0 = 1 , KGGuiTableBgTarget_RowBg1 = 2 , KGGuiTableBgTarget_CellBg = 3 }
enum  KGGuiFocusedFlags_ {
  KGGuiFocusedFlags_None = 0 , KGGuiFocusedFlags_ChildWindows = 1 << 0 , KGGuiFocusedFlags_RootWindow = 1 << 1 , KGGuiFocusedFlags_AnyWindow = 1 << 2 ,
  KGGuiFocusedFlags_NoPopupHierarchy = 1 << 3 , KGGuiFocusedFlags_DockHierarchy = 1 << 4 , KGGuiFocusedFlags_RootAndChildWindows = KGGuiFocusedFlags_RootWindow | KGGuiFocusedFlags_ChildWindows
}
enum  KGGuiHoveredFlags_ {
  KGGuiHoveredFlags_None = 0 , KGGuiHoveredFlags_ChildWindows = 1 << 0 , KGGuiHoveredFlags_RootWindow = 1 << 1 , KGGuiHoveredFlags_AnyWindow = 1 << 2 ,
  KGGuiHoveredFlags_NoPopupHierarchy = 1 << 3 , KGGuiHoveredFlags_DockHierarchy = 1 << 4 , KGGuiHoveredFlags_AllowWhenBlockedByPopup = 1 << 5 , KGGuiHoveredFlags_AllowWhenBlockedByActiveItem = 1 << 7 ,
  KGGuiHoveredFlags_AllowWhenOverlapped = 1 << 8 , KGGuiHoveredFlags_AllowWhenDisabled = 1 << 9 , KGGuiHoveredFlags_NoNavOverride = 1 << 10 , KGGuiHoveredFlags_RectOnly = KGGuiHoveredFlags_AllowWhenBlockedByPopup | KGGuiHoveredFlags_AllowWhenBlockedByActiveItem | KGGuiHoveredFlags_AllowWhenOverlapped ,
  KGGuiHoveredFlags_RootAndChildWindows = KGGuiHoveredFlags_RootWindow | KGGuiHoveredFlags_ChildWindows , KGGuiHoveredFlags_DelayNormal = 1 << 11 , KGGuiHoveredFlags_DelayShort = 1 << 12 , KGGuiHoveredFlags_NoSharedDelay = 1 << 13
}
enum  KGGuiDockNodeFlags_ {
  KGGuiDockNodeFlags_None = 0 , KGGuiDockNodeFlags_KeepAliveOnly = 1 << 0 , KGGuiDockNodeFlags_NoDockingInCentralNode = 1 << 2 , KGGuiDockNodeFlags_PassthruCentralNode = 1 << 3 ,
  KGGuiDockNodeFlags_NoSplit = 1 << 4 , KGGuiDockNodeFlags_NoResize = 1 << 5 , KGGuiDockNodeFlags_AutoHideTabBar = 1 << 6
}
enum  KGGuiDragDropFlags_ {
  KGGuiDragDropFlags_None = 0 , KGGuiDragDropFlags_SourceNoPreviewTooltip = 1 << 0 , KGGuiDragDropFlags_SourceNoDisableHover = 1 << 1 , KGGuiDragDropFlags_SourceNoHoldToOpenOthers = 1 << 2 ,
  KGGuiDragDropFlags_SourceAllowNullID = 1 << 3 , KGGuiDragDropFlags_SourceExtern = 1 << 4 , KGGuiDragDropFlags_SourceAutoExpirePayload = 1 << 5 , KGGuiDragDropFlags_AcceptBeforeDelivery = 1 << 10 ,
  KGGuiDragDropFlags_AcceptNoDrawDefaultRect = 1 << 11 , KGGuiDragDropFlags_AcceptNoPreviewTooltip = 1 << 12 , KGGuiDragDropFlags_AcceptPeekOnly = KGGuiDragDropFlags_AcceptBeforeDelivery | KGGuiDragDropFlags_AcceptNoDrawDefaultRect
}
enum  KGGuiDataType_ {
  KGGuiDataType_S8 , KGGuiDataType_U8 , KGGuiDataType_S16 , KGGuiDataType_U16 ,
  KGGuiDataType_S32 , KGGuiDataType_U32 , KGGuiDataType_S64 , KGGuiDataType_U64 ,
  KGGuiDataType_Float , KGGuiDataType_Double , KGGuiDataType_COUNT
}
enum  KGGuiDir_ {
  KGGuiDir_None = -1 , KGGuiDir_Left = 0 , KGGuiDir_Right = 1 , KGGuiDir_Up = 2 ,
  KGGuiDir_Down = 3 , KGGuiDir_COUNT
}
enum  KGGuiSortDirection_ { KGGuiSortDirection_None = 0 , KGGuiSortDirection_Ascending = 1 , KGGuiSortDirection_Descending = 2 }
enum  KarmaGuiKey : int {
  KGGuiKey_None = 0 , KGGuiKey_Tab = 512 , KGGuiKey_LeftArrow , KGGuiKey_RightArrow ,
  KGGuiKey_UpArrow , KGGuiKey_DownArrow , KGGuiKey_PageUp , KGGuiKey_PageDown ,
  KGGuiKey_Home , KGGuiKey_End , KGGuiKey_Insert , KGGuiKey_Delete ,
  KGGuiKey_Backspace , KGGuiKey_Space , KGGuiKey_Enter , KGGuiKey_Escape ,
  KGGuiKey_LeftCtrl , KGGuiKey_LeftShift , KGGuiKey_LeftAlt , KGGuiKey_LeftSuper ,
  KGGuiKey_RightCtrl , KGGuiKey_RightShift , KGGuiKey_RightAlt , KGGuiKey_RightSuper ,
  KGGuiKey_Menu , KGGuiKey_0 , KGGuiKey_1 , KGGuiKey_2 ,
  KGGuiKey_3 , KGGuiKey_4 , KGGuiKey_5 , KGGuiKey_6 ,
  KGGuiKey_7 , KGGuiKey_8 , KGGuiKey_9 , KGGuiKey_A ,
  KGGuiKey_B , KGGuiKey_C , KGGuiKey_D , KGGuiKey_E ,
  KGGuiKey_F , KGGuiKey_G , KGGuiKey_H , KGGuiKey_I ,
  KGGuiKey_J , KGGuiKey_K , KGGuiKey_L , KGGuiKey_M ,
  KGGuiKey_N , KGGuiKey_O , KGGuiKey_P , KGGuiKey_Q ,
  KGGuiKey_R , KGGuiKey_S , KGGuiKey_T , KGGuiKey_U ,
  KGGuiKey_V , KGGuiKey_W , KGGuiKey_X , KGGuiKey_Y ,
  KGGuiKey_Z , KGGuiKey_F1 , KGGuiKey_F2 , KGGuiKey_F3 ,
  KGGuiKey_F4 , KGGuiKey_F5 , KGGuiKey_F6 , KGGuiKey_F7 ,
  KGGuiKey_F8 , KGGuiKey_F9 , KGGuiKey_F10 , KGGuiKey_F11 ,
  KGGuiKey_F12 , KGGuiKey_Apostrophe , KGGuiKey_Comma , KGGuiKey_Minus ,
  KGGuiKey_Period , KGGuiKey_Slash , KGGuiKey_Semicolon , KGGuiKey_Equal ,
  KGGuiKey_LeftBracket , KGGuiKey_Backslash , KGGuiKey_RightBracket , KGGuiKey_GraveAccent ,
  KGGuiKey_CapsLock , KGGuiKey_ScrollLock , KGGuiKey_NumLock , KGGuiKey_PrintScreen ,
  KGGuiKey_Pause , KGGuiKey_Keypad0 , KGGuiKey_Keypad1 , KGGuiKey_Keypad2 ,
  KGGuiKey_Keypad3 , KGGuiKey_Keypad4 , KGGuiKey_Keypad5 , KGGuiKey_Keypad6 ,
  KGGuiKey_Keypad7 , KGGuiKey_Keypad8 , KGGuiKey_Keypad9 , KGGuiKey_KeypadDecimal ,
  KGGuiKey_KeypadDivide , KGGuiKey_KeypadMultiply , KGGuiKey_KeypadSubtract , KGGuiKey_KeypadAdd ,
  KGGuiKey_KeypadEnter , KGGuiKey_KeypadEqual , KGGuiKey_GamepadStart , KGGuiKey_GamepadBack ,
  KGGuiKey_GamepadFaceLeft , KGGuiKey_GamepadFaceRight , KGGuiKey_GamepadFaceUp , KGGuiKey_GamepadFaceDown ,
  KGGuiKey_GamepadDpadLeft , KGGuiKey_GamepadDpadRight , KGGuiKey_GamepadDpadUp , KGGuiKey_GamepadDpadDown ,
  KGGuiKey_GamepadL1 , KGGuiKey_GamepadR1 , KGGuiKey_GamepadL2 , KGGuiKey_GamepadR2 ,
  KGGuiKey_GamepadL3 , KGGuiKey_GamepadR3 , KGGuiKey_GamepadLStickLeft , KGGuiKey_GamepadLStickRight ,
  KGGuiKey_GamepadLStickUp , KGGuiKey_GamepadLStickDown , KGGuiKey_GamepadRStickLeft , KGGuiKey_GamepadRStickRight ,
  KGGuiKey_GamepadRStickUp , KGGuiKey_GamepadRStickDown , KGGuiKey_MouseLeft , KGGuiKey_MouseRight ,
  KGGuiKey_MouseMiddle , KGGuiKey_MouseX1 , KGGuiKey_MouseX2 , KGGuiKey_MouseWheelX ,
  KGGuiKey_MouseWheelY , KGGuiKey_ReservedForModCtrl , KGGuiKey_ReservedForModShift , KGGuiKey_ReservedForModAlt ,
  KGGuiKey_ReservedForModSuper , KGGuiKey_COUNT , KGGuiMod_None = 0 , KGGuiMod_Ctrl = 1 << 12 ,
  KGGuiMod_Shift = 1 << 13 , KGGuiMod_Alt = 1 << 14 , KGGuiMod_Super = 1 << 15 , KGGuiMod_Shortcut = 1 << 11 ,
  KGGuiMod_Mask_ = 0xF800 , KGGuiKey_NamedKey_BEGIN = 512 , KGGuiKey_NamedKey_END = KGGuiKey_COUNT , KGGuiKey_NamedKey_COUNT = KGGuiKey_NamedKey_END - KGGuiKey_NamedKey_BEGIN ,
  KGGuiKey_KeysData_SIZE = KGGuiKey_COUNT , KGGuiKey_KeysData_OFFSET = 0 , KGGuiKey_ModCtrl = KGGuiMod_Ctrl , KGGuiKey_ModShift = KGGuiMod_Shift ,
  KGGuiKey_ModAlt = KGGuiMod_Alt , KGGuiKey_ModSuper = KGGuiMod_Super , KGGuiKey_KeyPadEnter = KGGuiKey_KeypadEnter
}
enum  KGGuiInputFlags_ {
  KGGuiInputFlags_None = 0 , KGGuiInputFlags_Repeat = 1 << 0 , KGGuiInputFlags_RouteFocused = 1 << 8 , KGGuiInputFlags_RouteGlobalLow = 1 << 9 ,
  KGGuiInputFlags_RouteGlobal = 1 << 10 , KGGuiInputFlags_RouteGlobalHigh = 1 << 11 , KGGuiInputFlags_RouteAlways = 1 << 12 , KGGuiInputFlags_RouteUnlessBgFocused = 1 << 13
}
enum  KGGuiNavInput {
  KGGuiNavInput_Activate , KGGuiNavInput_Cancel , KGGuiNavInput_Input , KGGuiNavInput_Menu ,
  KGGuiNavInput_DpadLeft , KGGuiNavInput_DpadRight , KGGuiNavInput_DpadUp , KGGuiNavInput_DpadDown ,
  KGGuiNavInput_LStickLeft , KGGuiNavInput_LStickRight , KGGuiNavInput_LStickUp , KGGuiNavInput_LStickDown ,
  KGGuiNavInput_FocusPrev , KGGuiNavInput_FocusNext , KGGuiNavInput_TweakSlow , KGGuiNavInput_TweakFast ,
  KGGuiNavInput_COUNT
}
enum  KGGuiConfigFlags_ {
  KGGuiConfigFlags_None = 0 , KGGuiConfigFlags_NavEnableKeyboard = 1 << 0 , KGGuiConfigFlags_NavEnableGamepad = 1 << 1 , KGGuiConfigFlags_NavEnableSetMousePos = 1 << 2 ,
  KGGuiConfigFlags_NavNoCaptureKeyboard = 1 << 3 , KGGuiConfigFlags_NoMouse = 1 << 4 , KGGuiConfigFlags_NoMouseCursorChange = 1 << 5 , KGGuiConfigFlags_DockingEnable = 1 << 6 ,
  KGGuiConfigFlags_ViewportsEnable = 1 << 10 , KGGuiConfigFlags_DpiEnableScaleViewports = 1 << 14 , KGGuiConfigFlags_DpiEnableScaleFonts = 1 << 15 , KGGuiConfigFlags_IsSRGB = 1 << 20 ,
  KGGuiConfigFlags_IsTouchScreen = 1 << 21
}
enum  KGGuiBackendFlags_ {
  KGGuiBackendFlags_None = 0 , KGGuiBackendFlags_HasGamepad = 1 << 0 , KGGuiBackendFlags_HasMouseCursors = 1 << 1 , KGGuiBackendFlags_HasSetMousePos = 1 << 2 ,
  KGGuiBackendFlags_RendererHasVtxOffset = 1 << 3 , KGGuiBackendFlags_PlatformHasViewports = 1 << 10 , KGGuiBackendFlags_HasMouseHoveredViewport =1 << 11 , KGGuiBackendFlags_RendererHasViewports = 1 << 12
}
enum  KGGuiCol_ {
  KGGuiCol_Text , KGGuiCol_TextDisabled , KGGuiCol_WindowBg , KGGuiCol_ChildBg ,
  KGGuiCol_PopupBg , KGGuiCol_Border , KGGuiCol_BorderShadow , KGGuiCol_FrameBg ,
  KGGuiCol_FrameBgHovered , KGGuiCol_FrameBgActive , KGGuiCol_TitleBg , KGGuiCol_TitleBgActive ,
  KGGuiCol_TitleBgCollapsed , KGGuiCol_MenuBarBg , KGGuiCol_ScrollbarBg , KGGuiCol_ScrollbarGrab ,
  KGGuiCol_ScrollbarGrabHovered , KGGuiCol_ScrollbarGrabActive , KGGuiCol_CheckMark , KGGuiCol_SliderGrab ,
  KGGuiCol_SliderGrabActive , KGGuiCol_Button , KGGuiCol_ButtonHovered , KGGuiCol_ButtonActive ,
  KGGuiCol_Header , KGGuiCol_HeaderHovered , KGGuiCol_HeaderActive , KGGuiCol_Separator ,
  KGGuiCol_SeparatorHovered , KGGuiCol_SeparatorActive , KGGuiCol_ResizeGrip , KGGuiCol_ResizeGripHovered ,
  KGGuiCol_ResizeGripActive , KGGuiCol_Tab , KGGuiCol_TabHovered , KGGuiCol_TabActive ,
  KGGuiCol_TabUnfocused , KGGuiCol_TabUnfocusedActive , KGGuiCol_DockingPreview , KGGuiCol_DockingEmptyBg ,
  KGGuiCol_PlotLines , KGGuiCol_PlotLinesHovered , KGGuiCol_PlotHistogram , KGGuiCol_PlotHistogramHovered ,
  KGGuiCol_TableHeaderBg , KGGuiCol_TableBorderStrong , KGGuiCol_TableBorderLight , KGGuiCol_TableRowBg ,
  KGGuiCol_TableRowBgAlt , KGGuiCol_TextSelectedBg , KGGuiCol_DragDropTarget , KGGuiCol_NavHighlight ,
  KGGuiCol_NavWindowingHighlight , KGGuiCol_NavWindowingDimBg , KGGuiCol_ModalWindowDimBg , KGGuiCol_COUNT
}
enum  KGGuiStyleVar_ {
  KGGuiStyleVar_Alpha , KGGuiStyleVar_DisabledAlpha , KGGuiStyleVar_WindowPadding , KGGuiStyleVar_WindowRounding ,
  KGGuiStyleVar_WindowBorderSize , KGGuiStyleVar_WindowMinSize , KGGuiStyleVar_WindowTitleAlign , KGGuiStyleVar_ChildRounding ,
  KGGuiStyleVar_ChildBorderSize , KGGuiStyleVar_PopupRounding , KGGuiStyleVar_PopupBorderSize , KGGuiStyleVar_FramePadding ,
  KGGuiStyleVar_FrameRounding , KGGuiStyleVar_FrameBorderSize , KGGuiStyleVar_ItemSpacing , KGGuiStyleVar_ItemInnerSpacing ,
  KGGuiStyleVar_IndentSpacing , KGGuiStyleVar_CellPadding , KGGuiStyleVar_ScrollbarSize , KGGuiStyleVar_ScrollbarRounding ,
  KGGuiStyleVar_GrabMinSize , KGGuiStyleVar_GrabRounding , KGGuiStyleVar_TabRounding , KGGuiStyleVar_ButtonTextAlign ,
  KGGuiStyleVar_SelectableTextAlign , KGGuiStyleVar_COUNT
}
enum  KGGuiButtonFlags_ {
  KGGuiButtonFlags_None = 0 , KGGuiButtonFlags_MouseButtonLeft = 1 << 0 , KGGuiButtonFlags_MouseButtonRight = 1 << 1 , KGGuiButtonFlags_MouseButtonMiddle = 1 << 2 ,
  KGGuiButtonFlags_MouseButtonMask_ = KGGuiButtonFlags_MouseButtonLeft | KGGuiButtonFlags_MouseButtonRight | KGGuiButtonFlags_MouseButtonMiddle , KGGuiButtonFlags_MouseButtonDefault_ = KGGuiButtonFlags_MouseButtonLeft
}
enum  KGGuiColorEditFlags_ {
  KGGuiColorEditFlags_None = 0 , KGGuiColorEditFlags_NoAlpha = 1 << 1 , KGGuiColorEditFlags_NoPicker = 1 << 2 , KGGuiColorEditFlags_NoOptions = 1 << 3 ,
  KGGuiColorEditFlags_NoSmallPreview = 1 << 4 , KGGuiColorEditFlags_NoInputs = 1 << 5 , KGGuiColorEditFlags_NoTooltip = 1 << 6 , KGGuiColorEditFlags_NoLabel = 1 << 7 ,
  KGGuiColorEditFlags_NoSidePreview = 1 << 8 , KGGuiColorEditFlags_NoDragDrop = 1 << 9 , KGGuiColorEditFlags_NoBorder = 1 << 10 , KGGuiColorEditFlags_AlphaBar = 1 << 16 ,
  KGGuiColorEditFlags_AlphaPreview = 1 << 17 , KGGuiColorEditFlags_AlphaPreviewHalf = 1 << 18 , KGGuiColorEditFlags_HDR = 1 << 19 , KGGuiColorEditFlags_DisplayRGB = 1 << 20 ,
  KGGuiColorEditFlags_DisplayHSV = 1 << 21 , KGGuiColorEditFlags_DisplayHex = 1 << 22 , KGGuiColorEditFlags_Uint8 = 1 << 23 , KGGuiColorEditFlags_Float = 1 << 24 ,
  KGGuiColorEditFlags_PickerHueBar = 1 << 25 , KGGuiColorEditFlags_PickerHueWheel = 1 << 26 , KGGuiColorEditFlags_InputRGB = 1 << 27 , KGGuiColorEditFlags_InputHSV = 1 << 28 ,
  KGGuiColorEditFlags_DefaultOptions_ = KGGuiColorEditFlags_Uint8 | KGGuiColorEditFlags_DisplayRGB | KGGuiColorEditFlags_InputRGB | KGGuiColorEditFlags_PickerHueBar , KGGuiColorEditFlags_DisplayMask_ = KGGuiColorEditFlags_DisplayRGB | KGGuiColorEditFlags_DisplayHSV | KGGuiColorEditFlags_DisplayHex , KGGuiColorEditFlags_DataTypeMask_ = KGGuiColorEditFlags_Uint8 | KGGuiColorEditFlags_Float , KGGuiColorEditFlags_PickerMask_ = KGGuiColorEditFlags_PickerHueWheel | KGGuiColorEditFlags_PickerHueBar ,
  KGGuiColorEditFlags_InputMask_ = KGGuiColorEditFlags_InputRGB | KGGuiColorEditFlags_InputHSV
}
enum  KGGuiSliderFlags_ {
  KGGuiSliderFlags_None = 0 , KGGuiSliderFlags_AlwaysClamp = 1 << 4 , KGGuiSliderFlags_Logarithmic = 1 << 5 , KGGuiSliderFlags_NoRoundToFormat = 1 << 6 ,
  KGGuiSliderFlags_NoInput = 1 << 7 , KGGuiSliderFlags_InvalidMask_ = 0x7000000F , KGGuiSliderFlags_ClampOnInput = KGGuiSliderFlags_AlwaysClamp
}
enum  KGGuiMouseButton_ { KGGuiMouseButton_Left = 0 , KGGuiMouseButton_Right = 1 , KGGuiMouseButton_Middle = 2 , KGGuiMouseButton_COUNT = 5 }
enum  KGGuiMouseCursor_ {
  KGGuiMouseCursor_None = -1 , KGGuiMouseCursor_Arrow = 0 , KGGuiMouseCursor_TextInput , KGGuiMouseCursor_ResizeAll ,
  KGGuiMouseCursor_ResizeNS , KGGuiMouseCursor_ResizeEW , KGGuiMouseCursor_ResizeNESW , KGGuiMouseCursor_ResizeNWSE ,
  KGGuiMouseCursor_Hand , KGGuiMouseCursor_NotAllowed , KGGuiMouseCursor_COUNT
}
enum  KGGuiCond_ {
  KGGuiCond_None = 0 , KGGuiCond_Always = 1 << 0 , KGGuiCond_Once = 1 << 1 , KGGuiCond_FirstUseEver = 1 << 2 ,
  KGGuiCond_Appearing = 1 << 3
}
enum  KGDrawFlags_ {
  KGDrawFlags_None = 0 , KGDrawFlags_Closed = 1 << 0 , KGDrawFlags_RoundCornersTopLeft = 1 << 4 , KGDrawFlags_RoundCornersTopRight = 1 << 5 ,
  KGDrawFlags_RoundCornersBottomLeft = 1 << 6 , KGDrawFlags_RoundCornersBottomRight = 1 << 7 , KGDrawFlags_RoundCornersNone = 1 << 8 , KGDrawFlags_RoundCornersTop = KGDrawFlags_RoundCornersTopLeft | KGDrawFlags_RoundCornersTopRight ,
  KGDrawFlags_RoundCornersBottom = KGDrawFlags_RoundCornersBottomLeft | KGDrawFlags_RoundCornersBottomRight , KGDrawFlags_RoundCornersLeft = KGDrawFlags_RoundCornersBottomLeft | KGDrawFlags_RoundCornersTopLeft , KGDrawFlags_RoundCornersRight = KGDrawFlags_RoundCornersBottomRight | KGDrawFlags_RoundCornersTopRight , KGDrawFlags_RoundCornersAll = KGDrawFlags_RoundCornersTopLeft | KGDrawFlags_RoundCornersTopRight | KGDrawFlags_RoundCornersBottomLeft | KGDrawFlags_RoundCornersBottomRight ,
  KGDrawFlags_RoundCornersDefault_ = KGDrawFlags_RoundCornersAll , KGDrawFlags_RoundCornersMask_ = KGDrawFlags_RoundCornersAll | KGDrawFlags_RoundCornersNone
}
enum  KGDrawListFlags_ {
  KGDrawListFlags_None = 0 , KGDrawListFlags_AntiAliasedLines = 1 << 0 , KGDrawListFlags_AntiAliasedLinesUseTex = 1 << 1 , KGDrawListFlags_AntiAliasedFill = 1 << 2 ,
  KGDrawListFlags_AllowVtxOffset = 1 << 3
}
enum  KGFontAtlasFlags_ { KGFontAtlasFlags_None = 0 , KGFontAtlasFlags_NoPowerOfTwoHeight = 1 << 0 , KGFontAtlasFlags_NoMouseCursors = 1 << 1 , KGFontAtlasFlags_NoBakedLines = 1 << 2 }
enum  KGGuiViewportFlags_ {
  KGGuiViewportFlags_None = 0 , KGGuiViewportFlags_IsPlatformWindow = 1 << 0 , KGGuiViewportFlags_IsPlatformMonitor = 1 << 1 , KGGuiViewportFlags_OwnedByApp = 1 << 2 ,
  KGGuiViewportFlags_NoDecoration = 1 << 3 , KGGuiViewportFlags_NoTaskBarIcon = 1 << 4 , KGGuiViewportFlags_NoFocusOnAppearing = 1 << 5 , KGGuiViewportFlags_NoFocusOnClick = 1 << 6 ,
  KGGuiViewportFlags_NoInputs = 1 << 7 , KGGuiViewportFlags_NoRendererClear = 1 << 8 , KGGuiViewportFlags_TopMost = 1 << 9 , KGGuiViewportFlags_Minimized = 1 << 10 ,
  KGGuiViewportFlags_NoAutoMerge = 1 << 11 , KGGuiViewportFlags_CanHostOtherWindows = 1 << 12
}

Functions

void * operator new (size_t, KGNewWrapper, void *ptr)
void operator delete (void *, KGNewWrapper, void *)
template<typename T>
void KG_DELETE (T *p)

Detailed Description

This file constains KarmaGui class. The chief class for our UI needs..

Author
Ravi Mohan (the_cowboy)
Version
1.0
Date
January 10, 2023

Macro Definition Documentation

◆ KG_ALLOC

#define KG_ALLOC ( _SIZE)
Value:
static void * MemAlloc(size_t size)
A legacy function brought from ImGui for UI relevant memory allocation.
Definition KarmaGui.cpp:3094

◆ KG_ARRAYSIZE

#define KG_ARRAYSIZE ( _ARR)
Value:
((int)(sizeof(_ARR) / sizeof(*(_ARR))))

◆ KG_COL32

#define KG_COL32 ( R,
G,
B,
A )
Value:
(((KGU32)(A)<<KG_COL32_A_SHIFT) | ((KGU32)(B)<<KG_COL32_B_SHIFT) | ((KGU32)(G)<<KG_COL32_G_SHIFT) | ((KGU32)(R)<<KG_COL32_R_SHIFT))

◆ KG_FREE

#define KG_FREE ( _PTR)
Value:
static void MemFree(void *ptr)
A legacy function brought from ImGui for UI relevant memory deallocation.
Definition KarmaGui.cpp:3102

◆ KG_NEW

#define KG_NEW ( _TYPE)
Value:
new(KGNewWrapper(), Karma::KarmaGui::MemAlloc(sizeof(_TYPE))) _TYPE
Definition KarmaGui.h:1785

◆ KG_OFFSETOF

#define KG_OFFSETOF ( _TYPE,
_MEMBER )
Value:
offsetof(_TYPE, _MEMBER)

◆ KG_PLACEMENT_NEW

#define KG_PLACEMENT_NEW ( _PTR)
Value:
new(KGNewWrapper(), _PTR)

◆ KG_UNUSED

#define KG_UNUSED ( _VAR)
Value:
((void)(_VAR))