Karma Engine
Loading...
Searching...
No Matches
Karma::KarmaGuiInternal Class Reference

Public Member Functions

template<typename TYPE >
TYPE RoundScalarWithFormatT (const char *format, KarmaGuiDataType data_type, TYPE v)
 
template<typename TYPE , typename SIGNEDTYPE , typename FLOATTYPE >
bool DragBehaviorT (KarmaGuiDataType data_type, TYPE *v, float v_speed, const TYPE v_min, const TYPE v_max, const char *format, KarmaGuiSliderFlags flags)
 
template<typename TYPE , typename SIGNEDTYPE , typename FLOATTYPE >
float ScaleRatioFromValueT (KarmaGuiDataType data_type, TYPE v, TYPE v_min, TYPE v_max, bool is_logarithmic, float logarithmic_zero_epsilon, float zero_deadzone_halfsize)
 
template<typename TYPE , typename SIGNEDTYPE , typename FLOATTYPE >
TYPE ScaleValueFromRatioT (KarmaGuiDataType data_type, float t, TYPE v_min, TYPE v_max, bool is_logarithmic, float logarithmic_zero_epsilon, float zero_deadzone_halfsize)
 
template<typename TYPE , typename SIGNEDTYPE , typename FLOATTYPE >
bool SliderBehaviorT (const KGRect &bb, KGGuiID id, KarmaGuiDataType data_type, TYPE *v, const TYPE v_min, const TYPE v_max, const char *format, KarmaGuiSliderFlags flags, KGRect *out_grab_bb)
 

Static Public Member Functions

static void SetCurrentWindow (KGGuiWindow *window)
 
static void FindHoveredWindow ()
 
static KGGuiWindowCreateNewWindow (const char *name, KarmaGuiWindowFlags flags)
 
static KGVec2 CalcNextScrollFromScrollTargetAndClamp (KGGuiWindow *window)
 
static void AddDrawListToDrawData (KGVector< KGDrawList * > *out_list, KGDrawList *draw_list)
 
static void AddWindowToSortBuffer (KGVector< KGGuiWindow * > *out_sorted_windows, KGGuiWindow *window)
 
static void WindowSettingsHandler_ClearAll (KarmaGuiContext *, KGGuiSettingsHandler *)
 
static void * WindowSettingsHandler_ReadOpen (KarmaGuiContext *, KGGuiSettingsHandler *, const char *name)
 
static void WindowSettingsHandler_ReadLine (KarmaGuiContext *, KGGuiSettingsHandler *, void *entry, const char *line)
 
static void WindowSettingsHandler_ApplyAll (KarmaGuiContext *, KGGuiSettingsHandler *)
 
static void WindowSettingsHandler_WriteAll (KarmaGuiContext *, KGGuiSettingsHandler *, KarmaGuiTextBuffer *buf)
 
static const char * GetClipboardTextFn_DefaultImpl (void *user_data)
 
static void SetClipboardTextFn_DefaultImpl (void *user_data, const char *text)
 
static void SetPlatformImeDataFn_DefaultImpl (KarmaGuiViewport *viewport, KarmaGuiPlatformImeData *data)
 
static void NavUpdate ()
 
static void NavUpdateWindowing ()
 
static void NavUpdateWindowingOverlay ()
 
static void NavUpdateCancelRequest ()
 
static void NavUpdateCreateMoveRequest ()
 
static void NavUpdateCreateTabbingRequest ()
 
static float NavUpdatePageUpPageDown ()
 
static void NavUpdateAnyRequestFlag ()
 
static void NavUpdateCreateWrappingRequest ()
 
static void NavEndFrame ()
 
static bool NavScoreItem (KGGuiNavItemData *result)
 
static void NavApplyItemToResult (KGGuiNavItemData *result)
 
static void NavProcessItem ()
 
static void NavProcessItemForTabbingRequest (KGGuiID id)
 
static KGVec2 NavCalcPreferredRefPos ()
 
static void NavSaveLastChildNavWindowIntoParent (KGGuiWindow *nav_window)
 
static KGGuiWindowNavRestoreLastChildNavWindow (KGGuiWindow *window)
 
static void NavRestoreLayer (KGGuiNavLayer layer)
 
static void NavRestoreHighlightAfterMove ()
 
static int FindWindowFocusIndex (KGGuiWindow *window)
 
static void ErrorCheckNewFrameSanityChecks ()
 
static void ErrorCheckEndFrameSanityChecks ()
 
static void UpdateDebugToolItemPicker ()
 
static void UpdateDebugToolStackQueries ()
 
static void UpdateKeyboardInputs ()
 
static void UpdateMouseInputs ()
 
static void UpdateMouseWheel ()
 
static void UpdateKeyRoutingTable (KGGuiKeyRoutingTable *rt)
 
static void UpdateSettings ()
 
static bool UpdateWindowManualResize (KGGuiWindow *window, const KGVec2 &size_auto_fit, int *border_held, int resize_grip_count, KGU32 resize_grip_col[4], const KGRect &visibility_rect)
 
static void RenderWindowOuterBorders (KGGuiWindow *window)
 
static void RenderWindowDecorations (KGGuiWindow *window, const KGRect &title_bar_rect, bool title_bar_is_highlight, bool handle_borders_and_resize_grips, int resize_grip_count, const KGU32 resize_grip_col[4], float resize_grip_draw_size)
 
static void RenderWindowTitleBarContents (KGGuiWindow *window, const KGRect &title_bar_rect, const char *name, bool *p_open)
 
static void RenderDimmedBackgroundBehindWindow (KGGuiWindow *window, KGU32 col)
 
static void RenderDimmedBackgrounds ()
 
static KGGuiWindowFindBlockingModal (KGGuiWindow *window)
 
static KGGuiViewportPAddUpdateViewport (KGGuiWindow *window, KGGuiID id, const KGVec2 &platform_pos, const KGVec2 &size, KarmaGuiViewportFlags flags)
 
static void DestroyViewport (KGGuiViewportP *viewport)
 
static void UpdateViewportsNewFrame ()
 
static void UpdateViewportsEndFrame ()
 
static void WindowSelectViewport (KGGuiWindow *window)
 
static void WindowSyncOwnedViewport (KGGuiWindow *window, KGGuiWindow *parent_window_in_stack)
 
static bool UpdateTryMergeWindowIntoHostViewport (KGGuiWindow *window, KGGuiViewportP *host_viewport)
 
static bool UpdateTryMergeWindowIntoHostViewports (KGGuiWindow *window)
 
static bool GetWindowAlwaysWantOwnViewport (KGGuiWindow *window)
 
static int FindPlatformMonitorForPos (const KGVec2 &pos)
 
static int FindPlatformMonitorForRect (const KGRect &r)
 
static void UpdateViewportPlatformMonitor (KGGuiViewportP *viewport)
 
static KarmaGuiStorage::ImGuiStoragePairLowerBound (KGVector< KarmaGuiStorage::ImGuiStoragePair > &data, KGGuiID key)
 
static KGGuiWindowGetCurrentWindowRead ()
 
static KGGuiWindowGetCurrentWindow ()
 
static KGGuiWindowFindWindowByID (KGGuiID id)
 
static KGGuiWindowFindWindowByName (const char *name)
 
static void UpdateWindowParentAndRootLinks (KGGuiWindow *window, KarmaGuiWindowFlags flags, KGGuiWindow *parent_window)
 
static KGVec2 CalcWindowNextAutoFitSize (KGGuiWindow *window)
 
static bool IsWindowChildOf (KGGuiWindow *window, KGGuiWindow *potential_parent, bool popup_hierarchy, bool dock_hierarchy)
 
static bool IsWindowWithinBeginStackOf (KGGuiWindow *window, KGGuiWindow *potential_parent)
 
static bool IsWindowAbove (KGGuiWindow *potential_above, KGGuiWindow *potential_below)
 
static bool IsWindowNavFocusable (KGGuiWindow *window)
 
static void SetWindowPos (KGGuiWindow *window, const KGVec2 &pos, KarmaGuiCond cond=0)
 
static void SetWindowSize (KGGuiWindow *window, const KGVec2 &size, KarmaGuiCond cond=0)
 
static void SetWindowCollapsed (KGGuiWindow *window, bool collapsed, KarmaGuiCond cond=0)
 
static void SetWindowHitTestHole (KGGuiWindow *window, const KGVec2 &pos, const KGVec2 &size)
 
static KGRect WindowRectAbsToRel (KGGuiWindow *window, const KGRect &r)
 
static KGRect WindowRectRelToAbs (KGGuiWindow *window, const KGRect &r)
 
static void FocusWindow (KGGuiWindow *window)
 
static void FocusTopMostWindowUnderOne (KGGuiWindow *under_this_window, KGGuiWindow *ignore_window)
 
static void BringWindowToFocusFront (KGGuiWindow *window)
 
static void BringWindowToDisplayFront (KGGuiWindow *window)
 
static void BringWindowToDisplayBack (KGGuiWindow *window)
 
static void BringWindowToDisplayBehind (KGGuiWindow *window, KGGuiWindow *above_window)
 
static int FindWindowDisplayIndex (KGGuiWindow *window)
 
static KGGuiWindowFindBottomMostVisibleWindowWithinBeginStack (KGGuiWindow *window)
 
static void SetCurrentFont (KGFont *font)
 
static KGFontGetDefaultFont ()
 
static KGDrawListGetForegroundDrawList (KGGuiWindow *window)
 
static void Initialize ()
 
static void Shutdown ()
 
static void UpdateInputEvents (bool trickle_fast_inputs)
 
static void UpdateHoveredWindowAndCaptureFlags ()
 
static void StartMouseMovingWindow (KGGuiWindow *window)
 
static void StartMouseMovingWindowOrNode (KGGuiWindow *window, KGGuiDockNode *node, bool undock_floating_node)
 
static void UpdateMouseMovingWindowNewFrame ()
 
static void UpdateMouseMovingWindowEndFrame ()
 
static KGGuiID AddContextHook (KarmaGuiContext *context, const KGGuiContextHook *hook)
 
static void RemoveContextHook (KarmaGuiContext *context, KGGuiID hook_to_remove)
 
static void CallContextHooks (KarmaGuiContext *context, ImGuiContextHookType type)
 
static void TranslateWindowsInViewport (KGGuiViewportP *viewport, const KGVec2 &old_pos, const KGVec2 &new_pos)
 
static void ScaleWindowsInViewport (KGGuiViewportP *viewport, float scale)
 
static void DestroyPlatformWindow (KGGuiViewportP *viewport)
 
static void SetWindowViewport (KGGuiWindow *window, KGGuiViewportP *viewport)
 
static void SetCurrentViewport (KGGuiWindow *window, KGGuiViewportP *viewport)
 
static const KarmaGuiPlatformMonitorGetViewportPlatformMonitor (KarmaGuiViewport *viewport)
 
static KGGuiViewportPFindHoveredViewportFromPlatformWindowStack (const KGVec2 &mouse_platform_pos)
 
static void MarkIniSettingsDirty ()
 
static void MarkIniSettingsDirty (KGGuiWindow *window)
 
static void ClearIniSettings ()
 
static KGGuiWindowSettingsCreateNewWindowSettings (const char *name)
 
static KGGuiWindowSettingsFindWindowSettings (KGGuiID id)
 
static KGGuiWindowSettingsFindOrCreateWindowSettings (const char *name)
 
static void AddSettingsHandler (const KGGuiSettingsHandler *handler)
 
static void RemoveSettingsHandler (const char *type_name)
 
static KGGuiSettingsHandlerFindSettingsHandler (const char *type_name)
 
static void LocalizeRegisterEntries (const KGGuiLocEntry *entries, int count)
 
static const char * LocalizeGetMsg (KGGuiLocKey key)
 
static void SetScrollX (KGGuiWindow *window, float scroll_x)
 
static void SetScrollY (KGGuiWindow *window, float scroll_y)
 
static void SetScrollFromPosX (KGGuiWindow *window, float local_x, float center_x_ratio)
 
static void SetScrollFromPosY (KGGuiWindow *window, float local_y, float center_y_ratio)
 
static void ScrollToItem (KGGuiScrollFlags flags=0)
 
static void ScrollToRect (KGGuiWindow *window, const KGRect &rect, KGGuiScrollFlags flags=0)
 
static KGVec2 ScrollToRectEx (KGGuiWindow *window, const KGRect &rect, KGGuiScrollFlags flags=0)
 
static KGGuiItemStatusFlags GetItemStatusFlags ()
 
static KGGuiItemFlags GetItemFlags ()
 
static KGGuiID GetActiveID ()
 
static KGGuiID GetFocusID ()
 
static void SetActiveID (KGGuiID id, KGGuiWindow *window)
 
static void SetFocusID (KGGuiID id, KGGuiWindow *window)
 
static void ClearActiveID ()
 
static KGGuiID GetHoveredID ()
 
static void SetHoveredID (KGGuiID id)
 
static void KeepAliveID (KGGuiID id)
 
static void MarkItemEdited (KGGuiID id)
 
static void PushOverrideID (KGGuiID id)
 
static KGGuiID GetIDWithSeed (const char *str_id_begin, const char *str_id_end, KGGuiID seed)
 
static void ItemSize (const KGVec2 &size, float text_baseline_y=-1.0f)
 
static void ItemSize (const KGRect &bb, float text_baseline_y=-1.0f)
 
static bool ItemAdd (const KGRect &bb, KGGuiID id, const KGRect *nav_bb=NULL, KGGuiItemFlags extra_flags=0)
 
static bool ItemHoverable (const KGRect &bb, KGGuiID id)
 
static bool IsClippedEx (const KGRect &bb, KGGuiID id)
 
static void SetLastItemData (KGGuiID item_id, KGGuiItemFlags in_flags, KGGuiItemStatusFlags status_flags, const KGRect &item_rect)
 
static KGVec2 CalcItemSize (KGVec2 size, float default_w, float default_h)
 
static float CalcWrapWidthForPos (const KGVec2 &pos, float wrap_pos_x)
 
static void PushMultiItemsWidths (int components, float width_full)
 
static bool IsItemToggledSelection ()
 
static KGVec2 GetContentRegionMaxAbs ()
 
static void ShrinkWidths (KGGuiShrinkWidthItem *items, int count, float width_excess)
 
static void PushItemFlag (KGGuiItemFlags option, bool enabled)
 
static void PopItemFlag ()
 
static void LogBegin (KGGuiLogType type, int auto_open_depth)
 
static void LogToBuffer (int auto_open_depth=-1)
 
static void LogRenderedText (const KGVec2 *ref_pos, const char *text, const char *text_end=NULL)
 
static void LogSetNextTextDecoration (const char *prefix, const char *suffix)
 
static bool BeginChildEx (const char *name, KGGuiID id, const KGVec2 &size_arg, bool border, KarmaGuiWindowFlags flags)
 
static void OpenPopupEx (KGGuiID id, KarmaGuiPopupFlags popup_flags=KGGuiPopupFlags_None)
 
static void ClosePopupToLevel (int remaining, bool restore_focus_to_window_under_popup)
 
static void ClosePopupsOverWindow (KGGuiWindow *ref_window, bool restore_focus_to_window_under_popup)
 
static void ClosePopupsExceptModals ()
 
static bool IsPopupOpen (KGGuiID id, KarmaGuiPopupFlags popup_flags)
 
static bool BeginPopupEx (KGGuiID id, KarmaGuiWindowFlags extra_flags)
 
static void BeginTooltipEx (KGGuiTooltipFlags tooltip_flags, KarmaGuiWindowFlags extra_window_flags)
 
static KGRect GetPopupAllowedExtentRect (KGGuiWindow *window)
 
static KGGuiWindowGetTopMostPopupModal ()
 
static KGGuiWindowGetTopMostAndVisiblePopupModal ()
 
static KGVec2 FindBestWindowPosForPopup (KGGuiWindow *window)
 
static KGVec2 FindBestWindowPosForPopupEx (const KGVec2 &ref_pos, const KGVec2 &size, KarmaGuiDir *last_dir, const KGRect &r_outer, const KGRect &r_avoid, KGGuiPopupPositionPolicy policy)
 
static bool BeginViewportSideBar (const char *name, KarmaGuiViewport *viewport, KarmaGuiDir dir, float size, KarmaGuiWindowFlags window_flags)
 
static bool BeginMenuEx (const char *label, const char *icon, bool enabled=true)
 
static bool MenuItemEx (const char *label, const char *icon, const char *shortcut=NULL, bool selected=false, bool enabled=true)
 
static bool BeginComboPopup (KGGuiID popup_id, const KGRect &bb, KarmaGuiComboFlags flags)
 
static bool BeginComboPreview ()
 
static void EndComboPreview ()
 
static void NavInitWindow (KGGuiWindow *window, bool force_reinit)
 
static void NavInitRequestApplyResult ()
 
static bool NavMoveRequestButNoResultYet ()
 
static void NavMoveRequestSubmit (KarmaGuiDir move_dir, KarmaGuiDir clip_dir, KGGuiNavMoveFlags move_flags, KGGuiScrollFlags scroll_flags)
 
static void NavMoveRequestForward (KarmaGuiDir move_dir, KarmaGuiDir clip_dir, KGGuiNavMoveFlags move_flags, KGGuiScrollFlags scroll_flags)
 
static void NavMoveRequestResolveWithLastItem (KGGuiNavItemData *result)
 
static void NavMoveRequestCancel ()
 
static void NavMoveRequestApplyResult ()
 
static void NavMoveRequestTryWrapping (KGGuiWindow *window, KGGuiNavMoveFlags move_flags)
 
static void ActivateItem (KGGuiID id)
 
static void SetNavWindow (KGGuiWindow *window)
 
static void SetNavID (KGGuiID id, KGGuiNavLayer nav_layer, KGGuiID focus_scope_id, const KGRect &rect_rel)
 
static bool IsNamedKey (KarmaGuiKey key)
 
static bool IsNamedKeyOrModKey (KarmaGuiKey key)
 
static bool IsLegacyKey (KarmaGuiKey key)
 
static bool IsKeyboardKey (KarmaGuiKey key)
 
static bool IsGamepadKey (KarmaGuiKey key)
 
static bool IsMouseKey (KarmaGuiKey key)
 
static bool IsAliasKey (KarmaGuiKey key)
 
static KarmaGuiKeyChord ConvertShortcutMod (KarmaGuiKeyChord key_chord)
 
static KarmaGuiKey ConvertSingleModFlagToKey (KarmaGuiKey key)
 
static KarmaGuiKeyDataGetKeyData (KarmaGuiKey key)
 
static void GetKeyChordName (KarmaGuiKeyChord key_chord, char *out_buf, int out_buf_size)
 
static KarmaGuiKey MouseButtonToKey (KarmaGuiMouseButton button)
 
static bool IsMouseDragPastThreshold (KarmaGuiMouseButton button, float lock_threshold=-1.0f)
 
static KGVec2 GetKeyMagnitude2d (KarmaGuiKey key_left, KarmaGuiKey key_right, KarmaGuiKey key_up, KarmaGuiKey key_down)
 
static float GetNavTweakPressedAmount (KGGuiAxis axis)
 
static int CalcTypematicRepeatAmount (float t0, float t1, float repeat_delay, float repeat_rate)
 
static void GetTypematicRepeatRate (KarmaGuiInputFlags flags, float *repeat_delay, float *repeat_rate)
 
static void SetActiveIdUsingAllKeyboardKeys ()
 
static bool IsActiveIdUsingNavDir (KarmaGuiDir dir)
 
static KGGuiID GetKeyOwner (KarmaGuiKey key)
 
static void SetKeyOwner (KarmaGuiKey key, KGGuiID owner_id, KarmaGuiInputFlags flags=0)
 
static void SetItemKeyOwner (KarmaGuiKey key, KarmaGuiInputFlags flags=0)
 
static bool TestKeyOwner (KarmaGuiKey key, KGGuiID owner_id)
 
static KGGuiKeyOwnerDataGetKeyOwnerData (KarmaGuiKey key)
 
static bool IsKeyDown (KarmaGuiKey key, KGGuiID owner_id)
 
static bool IsKeyPressed (KarmaGuiKey key, KGGuiID owner_id, KarmaGuiInputFlags flags=0)
 
static bool IsKeyReleased (KarmaGuiKey key, KGGuiID owner_id)
 
static bool IsMouseDown (KarmaGuiMouseButton button, KGGuiID owner_id)
 
static bool IsMouseClicked (KarmaGuiMouseButton button, KGGuiID owner_id, KarmaGuiInputFlags flags=0)
 
static bool IsMouseReleased (KarmaGuiMouseButton button, KGGuiID owner_id)
 
static bool SetShortcutRouting (KarmaGuiKeyChord key_chord, KGGuiID owner_id=0, KarmaGuiInputFlags flags=0)
 
static bool TestShortcutRouting (KarmaGuiKeyChord key_chord, KGGuiID owner_id)
 
static KGGuiKeyRoutingDataGetShortcutRoutingData (KarmaGuiKeyChord key_chord)
 
static void DockContextInitialize (KarmaGuiContext *ctx)
 
static void DockContextShutdown (KarmaGuiContext *ctx)
 
static void DockContextClearNodes (KarmaGuiContext *ctx, KGGuiID root_id, bool clear_settings_refs)
 
static void DockContextRebuildNodes (KarmaGuiContext *ctx)
 
static void DockContextNewFrameUpdateUndocking (KarmaGuiContext *ctx)
 
static void DockContextNewFrameUpdateDocking (KarmaGuiContext *ctx)
 
static void DockContextEndFrame (KarmaGuiContext *ctx)
 
static KGGuiID DockContextGenNodeID (KarmaGuiContext *ctx)
 
static KGGuiDockNodeDockContextAddNode (KarmaGuiContext *ctx, KGGuiID id)
 
static void DockContextRemoveNode (KarmaGuiContext *ctx, KGGuiDockNode *node, bool merge_sibling_into_parent_node)
 
static void DockContextQueueDock (KarmaGuiContext *ctx, KGGuiWindow *target, KGGuiDockNode *target_node, KGGuiWindow *payload, KarmaGuiDir split_dir, float split_ratio, bool split_outer)
 
static void DockContextQueueUndockWindow (KarmaGuiContext *ctx, KGGuiWindow *window)
 
static void DockContextQueueUndockNode (KarmaGuiContext *ctx, KGGuiDockNode *node)
 
static bool DockContextCalcDropPosForDocking (KGGuiWindow *target, KGGuiDockNode *target_node, KGGuiWindow *payload_window, KGGuiDockNode *payload_node, KarmaGuiDir split_dir, bool split_outer, KGVec2 *out_pos)
 
static KGGuiDockNodeDockContextFindNodeByID (KarmaGuiContext *ctx, KGGuiID id)
 
static bool DockNodeBeginAmendTabBar (KGGuiDockNode *node)
 
static void DockNodeEndAmendTabBar ()
 
static KGGuiDockNodeDockNodeGetRootNode (KGGuiDockNode *node)
 
static bool DockNodeIsInHierarchyOf (KGGuiDockNode *node, KGGuiDockNode *parent)
 
static int DockNodeGetDepth (const KGGuiDockNode *node)
 
static KGGuiID DockNodeGetWindowMenuButtonId (const KGGuiDockNode *node)
 
static KGGuiDockNodeGetWindowDockNode ()
 
static bool GetWindowAlwaysWantOwnTabBar (KGGuiWindow *window)
 
static void BeginDocked (KGGuiWindow *window, bool *p_open)
 
static void BeginDockableDragDropSource (KGGuiWindow *window)
 
static void BeginDockableDragDropTarget (KGGuiWindow *window)
 
static void SetWindowDock (KGGuiWindow *window, KGGuiID dock_id, KarmaGuiCond cond)
 
static void DockBuilderDockWindow (const char *window_name, KGGuiID node_id)
 
static KGGuiID DockBuilderAddNode (KGGuiID node_id=0, KarmaGuiDockNodeFlags flags=0)
 
static void DockBuilderRemoveNode (KGGuiID node_id)
 
static void DockBuilderRemoveNodeDockedWindows (KGGuiID node_id, bool clear_settings_refs=true)
 
static void DockBuilderRemoveNodeChildNodes (KGGuiID node_id)
 
static void DockBuilderSetNodePos (KGGuiID node_id, KGVec2 pos)
 
static void DockBuilderSetNodeSize (KGGuiID node_id, KGVec2 size)
 
static KGGuiID DockBuilderSplitNode (KGGuiID node_id, KarmaGuiDir split_dir, float size_ratio_for_node_at_dir, KGGuiID *out_id_at_dir, KGGuiID *out_id_at_opposite_dir)
 
static void DockBuilderCopyDockSpace (KGGuiID src_dockspace_id, KGGuiID dst_dockspace_id, KGVector< const char * > *in_window_remap_pairs)
 
static void DockBuilderCopyNode (KGGuiID src_node_id, KGGuiID dst_node_id, KGVector< KGGuiID > *out_node_remap_pairs)
 
static void DockBuilderCopyWindowSettings (const char *src_name, const char *dst_name)
 
static void DockBuilderFinish (KGGuiID node_id)
 
static void PushFocusScope (KGGuiID id)
 
static void PopFocusScope ()
 
static KGGuiID GetCurrentFocusScope ()
 
static bool IsDragDropActive ()
 
static bool BeginDragDropTargetCustom (const KGRect &bb, KGGuiID id)
 
static void ClearDragDrop ()
 
static bool IsDragDropPayloadBeingAccepted ()
 
static void RenderDragDropTargetRect (const KGRect &bb)
 
static void SetWindowClipRectBeforeSetChannel (KGGuiWindow *window, const KGRect &clip_rect)
 
static void BeginColumns (const char *str_id, int count, KGGuiOldColumnFlags flags=0)
 
static void EndColumns ()
 
static void PushColumnClipRect (int column_index)
 
static void PushColumnsBackground ()
 
static void PopColumnsBackground ()
 
static KGGuiID GetColumnsID (const char *str_id, int count)
 
static KGGuiOldColumnsFindOrCreateColumns (KGGuiWindow *window, KGGuiID id)
 
static float GetColumnOffsetFromNorm (const KGGuiOldColumns *columns, float offset_norm)
 
static float GetColumnNormFromOffset (const KGGuiOldColumns *columns, float offset)
 
static void TableOpenContextMenu (int column_n=-1)
 
static void TableSetColumnWidth (int column_n, float width)
 
static void TableSetColumnSortDirection (int column_n, KarmaGuiSortDirection sort_direction, bool append_to_sort_specs)
 
static int TableGetHoveredColumn ()
 
static float TableGetHeaderRowHeight ()
 
static void TablePushBackgroundChannel ()
 
static void TablePopBackgroundChannel ()
 
static KGGuiTableGetCurrentTable ()
 
static KGGuiTableTableFindByID (KGGuiID id)
 
static bool BeginTableEx (const char *name, KGGuiID id, int columns_count, KarmaGuiTableFlags flags=0, const KGVec2 &outer_size=KGVec2(0, 0), float inner_width=0.0f)
 
static void TableBeginInitMemory (KGGuiTable *table, int columns_count)
 
static void TableBeginApplyRequests (KGGuiTable *table)
 
static void TableSetupDrawChannels (KGGuiTable *table)
 
static void TableUpdateLayout (KGGuiTable *table)
 
static void TableUpdateBorders (KGGuiTable *table)
 
static void TableUpdateColumnsWeightFromWidth (KGGuiTable *table)
 
static void TableDrawBorders (KGGuiTable *table)
 
static void TableDrawContextMenu (KGGuiTable *table)
 
static bool TableBeginContextMenuPopup (KGGuiTable *table)
 
static void TableMergeDrawChannels (KGGuiTable *table)
 
static KGGuiTableInstanceDataTableGetInstanceData (KGGuiTable *table, int instance_no)
 
static void TableSortSpecsSanitize (KGGuiTable *table)
 
static void TableSortSpecsBuild (KGGuiTable *table)
 
static KarmaGuiSortDirection TableGetColumnNextSortDirection (KGGuiTableColumn *column)
 
static void TableFixColumnSortDirection (KGGuiTable *table, KGGuiTableColumn *column)
 
static float TableGetColumnWidthAuto (KGGuiTable *table, KGGuiTableColumn *column)
 
static void TableBeginRow (KGGuiTable *table)
 
static void TableEndRow (KGGuiTable *table)
 
static void TableBeginCell (KGGuiTable *table, int column_n)
 
static void TableEndCell (KGGuiTable *table)
 
static KGRect TableGetCellBgRect (const KGGuiTable *table, int column_n)
 
static const char * TableGetColumnName (const KGGuiTable *table, int column_n)
 
static KGGuiID TableGetColumnResizeID (const KGGuiTable *table, int column_n, int instance_no=0)
 
static float TableGetMaxColumnWidth (const KGGuiTable *table, int column_n)
 
static void TableSetColumnWidthAutoSingle (KGGuiTable *table, int column_n)
 
static void TableSetColumnWidthAutoAll (KGGuiTable *table)
 
static void TableRemove (KGGuiTable *table)
 
static void TableGcCompactTransientBuffers (KGGuiTable *table)
 
static void TableGcCompactTransientBuffers (KGGuiTableTempData *table)
 
static void TableGcCompactSettings ()
 
static void TableLoadSettings (KGGuiTable *table)
 
static void TableSaveSettings (KGGuiTable *table)
 
static void TableResetSettings (KGGuiTable *table)
 
static KGGuiTableSettingsTableGetBoundSettings (KGGuiTable *table)
 
static void TableSettingsAddSettingsHandler ()
 
static KGGuiTableSettingsTableSettingsCreate (KGGuiID id, int columns_count)
 
static KGGuiTableSettingsTableSettingsFindByID (KGGuiID id)
 
static bool BeginTabBarEx (KGGuiTabBar *tab_bar, const KGRect &bb, KarmaGuiTabBarFlags flags, KGGuiDockNode *dock_node)
 
static KGGuiTabItemTabBarFindTabByID (KGGuiTabBar *tab_bar, KGGuiID tab_id)
 
static KGGuiTabItemTabBarFindMostRecentlySelectedTabForActiveWindow (KGGuiTabBar *tab_bar)
 
static void TabBarAddTab (KGGuiTabBar *tab_bar, KarmaGuiTabItemFlags tab_flags, KGGuiWindow *window)
 
static void TabBarRemoveTab (KGGuiTabBar *tab_bar, KGGuiID tab_id)
 
static void TabBarCloseTab (KGGuiTabBar *tab_bar, KGGuiTabItem *tab)
 
static void TabBarQueueReorder (KGGuiTabBar *tab_bar, const KGGuiTabItem *tab, int offset)
 
static void TabBarQueueReorderFromMousePos (KGGuiTabBar *tab_bar, const KGGuiTabItem *tab, KGVec2 mouse_pos)
 
static bool TabBarProcessReorder (KGGuiTabBar *tab_bar)
 
static bool TabItemEx (KGGuiTabBar *tab_bar, const char *label, bool *p_open, KarmaGuiTabItemFlags flags, KGGuiWindow *docked_window)
 
static KGVec2 TabItemCalcSize (const char *label, bool has_close_button_or_unsaved_marker)
 
static KGVec2 TabItemCalcSize (KGGuiWindow *window)
 
static void TabItemBackground (KGDrawList *draw_list, const KGRect &bb, KarmaGuiTabItemFlags flags, KGU32 col)
 
static void TabItemLabelAndCloseButton (KGDrawList *draw_list, const KGRect &bb, KarmaGuiTabItemFlags flags, KGVec2 frame_padding, const char *label, KGGuiID tab_id, KGGuiID close_button_id, bool is_contents_visible, bool *out_just_closed, bool *out_text_clipped)
 
static void RenderText (KGVec2 pos, const char *text, const char *text_end=NULL, bool hide_text_after_hash=true)
 
static void RenderTextWrapped (KGVec2 pos, const char *text, const char *text_end, float wrap_width)
 
static void RenderTextClipped (const KGVec2 &pos_min, const KGVec2 &pos_max, const char *text, const char *text_end, const KGVec2 *text_size_if_known, const KGVec2 &align=KGVec2(0, 0), const KGRect *clip_rect=NULL)
 
static void RenderTextClippedEx (KGDrawList *draw_list, const KGVec2 &pos_min, const KGVec2 &pos_max, const char *text, const char *text_end, const KGVec2 *text_size_if_known, const KGVec2 &align=KGVec2(0, 0), const KGRect *clip_rect=NULL)
 
static void RenderTextEllipsis (KGDrawList *draw_list, const KGVec2 &pos_min, const KGVec2 &pos_max, float clip_max_x, float ellipsis_max_x, const char *text, const char *text_end, const KGVec2 *text_size_if_known)
 
static void RenderFrame (KGVec2 p_min, KGVec2 p_max, KGU32 fill_col, bool border=true, float rounding=0.0f)
 
static void RenderFrameBorder (KGVec2 p_min, KGVec2 p_max, float rounding=0.0f)
 
static void RenderColorRectWithAlphaCheckerboard (KGDrawList *draw_list, KGVec2 p_min, KGVec2 p_max, KGU32 fill_col, float grid_step, KGVec2 grid_off, float rounding=0.0f, KGDrawFlags flags=0)
 
static void RenderNavHighlight (const KGRect &bb, KGGuiID id, KGGuiNavHighlightFlags flags=KGGuiNavHighlightFlags_TypeDefault)
 
static const char * FindRenderedTextEnd (const char *text, const char *text_end=NULL)
 
static void RenderMouseCursor (KGVec2 pos, float scale, KarmaGuiMouseCursor mouse_cursor, KGU32 col_fill, KGU32 col_border, KGU32 col_shadow)
 
static void RenderArrow (KGDrawList *draw_list, KGVec2 pos, KGU32 col, KarmaGuiDir dir, float scale=1.0f)
 
static void RenderBullet (KGDrawList *draw_list, KGVec2 pos, KGU32 col)
 
static void RenderCheckMark (KGDrawList *draw_list, KGVec2 pos, KGU32 col, float sz)
 
static void RenderArrowPointingAt (KGDrawList *draw_list, KGVec2 pos, KGVec2 half_sz, KarmaGuiDir direction, KGU32 col)
 
static void RenderArrowDockMenu (KGDrawList *draw_list, KGVec2 p_min, float sz, KGU32 col)
 
static void RenderRectFilledRangeH (KGDrawList *draw_list, const KGRect &rect, KGU32 col, float x_start_norm, float x_end_norm, float rounding)
 
static void RenderRectFilledWithHole (KGDrawList *draw_list, const KGRect &outer, const KGRect &inner, KGU32 col, float rounding)
 
static KGDrawFlags CalcRoundingFlagsForRectInRect (const KGRect &r_in, const KGRect &r_outer, float threshold)
 
static void TextEx (const char *text, const char *text_end=NULL, KGGuiTextFlags flags=0)
 
static bool ButtonEx (const char *label, const KGVec2 &size_arg=KGVec2(0, 0), KarmaGuiButtonFlags flags=0)
 
static bool ArrowButtonEx (const char *str_id, KarmaGuiDir dir, KGVec2 size_arg, KarmaGuiButtonFlags flags=0)
 
static bool ImageButtonEx (KGGuiID id, KGTextureID texture_id, const KGVec2 &size, const KGVec2 &uv0, const KGVec2 &uv1, const KGVec4 &bg_col, const KGVec4 &tint_col)
 
static void SeparatorEx (KGGuiSeparatorFlags flags)
 
static bool CheckboxFlags (const char *label, KGS64 *flags, KGS64 flags_value)
 
static bool CheckboxFlags (const char *label, KGU64 *flags, KGU64 flags_value)
 
static bool CloseButton (KGGuiID id, const KGVec2 &pos)
 
static bool CollapseButton (KGGuiID id, const KGVec2 &pos, KGGuiDockNode *dock_node)
 
static void Scrollbar (KGGuiAxis axis)
 
static bool ScrollbarEx (const KGRect &bb, KGGuiID id, KGGuiAxis axis, KGS64 *p_scroll_v, KGS64 avail_v, KGS64 contents_v, KGDrawFlags flags)
 
static KGRect GetWindowScrollbarRect (KGGuiWindow *window, KGGuiAxis axis)
 
static KGGuiID GetWindowScrollbarID (KGGuiWindow *window, KGGuiAxis axis)
 
static KGGuiID GetWindowResizeCornerID (KGGuiWindow *window, int n)
 
static KGGuiID GetWindowResizeBorderID (KGGuiWindow *window, KarmaGuiDir dir)
 
static bool ButtonBehavior (const KGRect &bb, KGGuiID id, bool *out_hovered, bool *out_held, KarmaGuiButtonFlags flags=0)
 
static bool DragBehavior (KGGuiID id, KarmaGuiDataType data_type, void *p_v, float v_speed, const void *p_min, const void *p_max, const char *format, KarmaGuiSliderFlags flags)
 
static bool SliderBehavior (const KGRect &bb, KGGuiID id, KarmaGuiDataType data_type, void *p_v, const void *p_min, const void *p_max, const char *format, KarmaGuiSliderFlags flags, KGRect *out_grab_bb)
 
static bool SplitterBehavior (const KGRect &bb, KGGuiID id, KGGuiAxis axis, float *size1, float *size2, float min_size1, float min_size2, float hover_extend=0.0f, float hover_visibility_delay=0.0f, KGU32 bg_col=0)
 
static bool TreeNodeBehavior (KGGuiID id, KarmaGuiTreeNodeFlags flags, const char *label, const char *label_end=NULL)
 
static void TreePushOverrideID (KGGuiID id)
 
static void TreeNodeSetOpen (KGGuiID id, bool open)
 
static bool TreeNodeUpdateNextOpen (KGGuiID id, KarmaGuiTreeNodeFlags flags)
 
template<typename T , typename SIGNED_T , typename FLOAT_T >
static float ScaleRatioFromValueT (KarmaGuiDataType data_type, T v, T v_min, T v_max, bool is_logarithmic, float logarithmic_zero_epsilon, float zero_deadzone_size)
 
template<typename T , typename SIGNED_T , typename FLOAT_T >
static T ScaleValueFromRatioT (KarmaGuiDataType data_type, float t, T v_min, T v_max, bool is_logarithmic, float logarithmic_zero_epsilon, float zero_deadzone_size)
 
template<typename T , typename SIGNED_T , typename FLOAT_T >
static bool DragBehaviorT (KarmaGuiDataType data_type, T *v, float v_speed, T v_min, T v_max, const char *format, KarmaGuiSliderFlags flags)
 
template<typename T , typename SIGNED_T , typename FLOAT_T >
static bool SliderBehaviorT (const KGRect &bb, KGGuiID id, KarmaGuiDataType data_type, T *v, T v_min, T v_max, const char *format, KarmaGuiSliderFlags flags, KGRect *out_grab_bb)
 
template<typename T >
static T RoundScalarWithFormatT (const char *format, KarmaGuiDataType data_type, T v)
 
template<typename T >
static bool CheckboxFlagsT (const char *label, T *flags, T flags_value)
 
static const KGGuiDataTypeInfoDataTypeGetInfo (KarmaGuiDataType data_type)
 
static int DataTypeFormatString (char *buf, int buf_size, KarmaGuiDataType data_type, const void *p_data, const char *format)
 
static void DataTypeApplyOp (KarmaGuiDataType data_type, int op, void *output, const void *arg_1, const void *arg_2)
 
static bool DataTypeApplyFromText (const char *buf, KarmaGuiDataType data_type, void *p_data, const char *format)
 
static int DataTypeCompare (KarmaGuiDataType data_type, const void *arg_1, const void *arg_2)
 
static bool DataTypeClamp (KarmaGuiDataType data_type, void *p_data, const void *p_min, const void *p_max)
 
static bool InputTextEx (const char *label, const char *hint, char *buf, int buf_size, const KGVec2 &size_arg, KarmaGuiInputTextFlags flags, KarmaGuiInputTextCallback callback=NULL, void *user_data=NULL)
 
static bool TempInputText (const KGRect &bb, KGGuiID id, const char *label, char *buf, int buf_size, KarmaGuiInputTextFlags flags)
 
static bool TempInputScalar (const KGRect &bb, KGGuiID id, const char *label, KarmaGuiDataType data_type, void *p_data, const char *format, const void *p_clamp_min=NULL, const void *p_clamp_max=NULL)
 
static bool TempInputIsActive (KGGuiID id)
 
static KGGuiInputTextStateGetInputTextState (KGGuiID id)
 
static void ColorTooltip (const char *text, const float *col, KarmaGuiColorEditFlags flags)
 
static void ColorEditOptionsPopup (const float *col, KarmaGuiColorEditFlags flags)
 
static void ColorPickerOptionsPopup (const float *ref_col, KarmaGuiColorEditFlags flags)
 
static int PlotEx (KGGuiPlotType plot_type, const char *label, float(*values_getter)(void *data, int idx), void *data, int values_count, int values_offset, const char *overlay_text, float scale_min, float scale_max, KGVec2 frame_size)
 
static void ShadeVertsLinearColorGradientKeepAlpha (KGDrawList *draw_list, int vert_start_idx, int vert_end_idx, KGVec2 gradient_p0, KGVec2 gradient_p1, KGU32 col0, KGU32 col1)
 
static void ShadeVertsLinearUV (KGDrawList *draw_list, int vert_start_idx, int vert_end_idx, const KGVec2 &a, const KGVec2 &b, const KGVec2 &uv_a, const KGVec2 &uv_b, bool clamp)
 
static void GcCompactTransientMiscBuffers ()
 
static void GcCompactTransientWindowBuffers (KGGuiWindow *window)
 
static void GcAwakeTransientWindowBuffers (KGGuiWindow *window)
 
static void ErrorCheckEndFrameRecover (KGGuiErrorLogCallback log_callback, void *user_data=NULL)
 
static void ErrorCheckEndWindowRecover (KGGuiErrorLogCallback log_callback, void *user_data=NULL)
 
static void ErrorCheckUsingSetCursorPosToExtendParentBoundaries ()
 
static void DebugLocateItem (KGGuiID target_id)
 
static void DebugLocateItemOnHover (KGGuiID target_id)
 
static void DebugLocateItemResolveWithLastItem ()
 
static void DebugDrawItemRect (KGU32 col=KG_COL32(255, 0, 0, 255))
 
static void DebugStartItemPicker ()
 
static void ShowFontAtlas (KGFontAtlas *atlas)
 
static void DebugHookIdInfo (KGGuiID id, KarmaGuiDataType data_type, const void *data_id, const void *data_id_end)
 
static void DebugNodeColumns (KGGuiOldColumns *columns)
 
static void DebugNodeDockNode (KGGuiDockNode *node, const char *label)
 
static void DebugNodeDrawList (KGGuiWindow *window, KGGuiViewportP *viewport, const KGDrawList *draw_list, const char *label)
 
static void DebugNodeDrawCmdShowMeshAndBoundingBox (KGDrawList *out_draw_list, const KGDrawList *draw_list, const KGDrawCmd *draw_cmd, bool show_mesh, bool show_aabb)
 
static void DebugNodeFont (KGFont *font)
 
static void DebugNodeFontGlyph (KGFont *font, const KGFontGlyph *glyph)
 
static void DebugNodeStorage (KarmaGuiStorage *storage, const char *label)
 
static void DebugNodeTabBar (KGGuiTabBar *tab_bar, const char *label)
 
static void DebugNodeTable (KGGuiTable *table)
 
static void DebugNodeTableSettings (KGGuiTableSettings *settings)
 
static void DebugNodeInputTextState (KGGuiInputTextState *state)
 
static void DebugNodeWindow (KGGuiWindow *window, const char *label)
 
static void DebugNodeWindowSettings (KGGuiWindowSettings *settings)
 
static void DebugNodeWindowsList (KGVector< KGGuiWindow * > *windows, const char *label)
 
static void DebugNodeWindowsListByBeginStackParent (KGGuiWindow **windows, int windows_size, KGGuiWindow *parent_in_begin_stack)
 
static void DebugNodeViewport (KGGuiViewportP *viewport)
 
static void DebugRenderKeyboardPreview (KGDrawList *draw_list)
 
static void DebugRenderViewportThumbnail (KGDrawList *draw_list, KGGuiViewportP *viewport, const KGRect &bb)
 

Static Public Attributes

static KarmaGuiMemAllocFunc GImAllocatorAllocFunc = MallocWrapper
 
static KarmaGuiMemFreeFunc GImAllocatorFreeFunc = FreeWrapper
 
static void * GImAllocatorUserData = NULL
 
static const KGGuiID IMGUI_VIEWPORT_DEFAULT_ID = 0x11111111
 

The documentation for this class was generated from the following files: