|
Deki 0.19.0
Modular C++ 2D engine for embedded displays and desktop
|
The editor's UI controls and inspector drawing, for CustomEditor code: auto& ui = EditorUI::Get(); ui.DrawDefaultInspector(); ui.PropertyField("speed");. More...
#include <C:/Users/kirby/Documents/Github/deki/deki-editor/deki-editor/include/deki-editor/EditorUI.h>
Classes | |
| struct | FloatCallbacks |
| struct | IntCallbacks |
| struct | VecCallbacks |
| struct | EnumCallbacks |
| struct | TextCallbacks |
| struct | EditCallbacksBytes |
| struct | WidgetBackend |
Public Types | |
| enum class | Col { Text , Button , ButtonHovered , ButtonActive , FrameBg , FrameBgHovered , FrameBgActive , CheckMark } |
| Editor style color slots, mapped to the theme. More... | |
| enum | TreeFlags { TreeNone = 0 , TreeDefaultOpen = 1 << 0 , TreeLeaf = 1 << 1 , TreeOpenOnArrow = 1 << 2 , TreeSelected = 1 << 3 } |
| Tree node flags (bitwise-or). More... | |
| enum | WinFlags { WinNone = 0 , WinNoScrollbar = 1 << 0 , WinAlwaysAutoResize = 1 << 1 , WinNoSavedSettings = 1 << 2 , WinNoCollapse = 1 << 3 } |
| Window flags (bitwise-or). More... | |
| enum | TableFlags { TableNone = 0 , TableResizable = 1 << 0 , TableRowBg = 1 << 1 , TableScrollY = 1 << 2 , TableBordersInnerV = 1 << 3 , TableBordersOuter = 1 << 4 } |
| Table flags (bitwise-or). More... | |
| enum | TableColumnFlags { TableColumnNone = 0 , TableColumnWidthStretch = 1 << 0 , TableColumnWidthFixed = 1 << 1 } |
| Table column flags (bitwise-or). More... | |
| enum class | StyleVar { ItemSpacing , ItemInnerSpacing , FramePadding , CellPadding , WindowPadding } |
| Vec2 style vars for PushStyleVar (balance with PopStyleVar). More... | |
| enum class | Key { Z , Y , S , Delete } |
| enum class | MouseCursor { Arrow , TextInput , ResizeNS , ResizeEW , ResizeAll , Hand , NotAllowed } |
| Mouse cursor shapes for SetMouseCursor (e.g. splitter resize handles). More... | |
| enum class | Unit { None = 0 , Distance , Velocity , Acceleration , Angle } |
| Physical unit of a float or vector field. More... | |
| using | DrawPropertyByNameFunc = std::function<void(const char*)> |
| using | DrawPropertyByOffsetFunc = std::function<void(size_t)> |
| using | DrawDefaultPropertiesFunc = std::function<void()> |
| using | ResolveAssetNameFunc = std::function<std::string(const std::string&)> |
| using | GetFontAtlasFunc = std::function<uint32_t(const std::string&, int, uint32_t*, uint32_t*)> |
| using | ModifyAssetFunc |
Public Member Functions | |
| void | DrawDefaultInspector () |
| Draws every property of the current component, like Unity's DrawDefaultInspector(). | |
| void | PropertyField (size_t offset) |
| Draws one property by member offset: offsetof(ComponentType, member). | |
| void | PropertyField (const char *propertyName) |
| Draws one property by name. | |
| std::string | ResolveAssetName (const std::string &guid) |
| A readable path or name for an asset GUID. | |
| uint32_t | GetFontAtlasTexture (const std::string &fontGuid, int fontSize, uint32_t *outWidth, uint32_t *outHeight) |
| The OpenGL atlas texture of a font at a size, for previews, with its width and height, or 0 on failure. | |
| void | ModifyAsset (const std::string &assetPath, const std::string &assetGuid, const std::string &oldJson, const std::string &newJson) |
| Changes an asset file (absolute path) from oldJson to newJson, as an undoable edit. | |
| bool | SectionHeader (const char *label) |
| Collapsing section header (full-bleed band). Returns true if expanded. | |
| void | PropertyRow (const char *label) |
| Starts a "label : value" row; the next control fills the value column. | |
| bool | DragInt (const char *id, int *v, float speed=1.0f, int vmin=0, int vmax=0) |
| bool | DragFloat (const char *id, float *v, float speed=1.0f, float vmin=0.0f, float vmax=0.0f, const char *format="%.3f") |
| bool | Checkbox (const char *label, bool *v) |
| A visible label (e.g. | |
| bool | ColorEdit4 (const char *id, float col[4]) |
| bool | ColorEdit3 (const char *id, float col[3]) |
| bool | Combo (const char *id, int *currentIndex, const char *const items[], int count) |
| bool | Combo (const char *id, int *currentIndex, const char *itemsSeparatedByZeros) |
| bool | SliderFloat (const char *id, float *v, float vmin, float vmax, const char *format="%.3f") |
| bool | InputInt (const char *id, int *v, int step=1, int stepFast=100) |
| bool | InputText (const char *id, char *buf, size_t bufSize) |
| bool | Button (const char *label, float width=0.0f, float height=0.0f) |
| bool | SmallButton (const char *label) |
| void | Text (const char *text) |
| void | TextColored (float r, float g, float b, float a, const char *text) |
| void | TextDisabled (const char *text) |
| void | SameLine (float offsetFromStartX=0.0f, float spacing=-1.0f) |
| void | Spacing () |
| void | Separator () |
| void | PushID (int id) |
| void | PushID (const void *ptr) |
| void | PopID () |
| void | Indent () |
| void | Unindent () |
| void | Indent (float amount) |
| Indents by a given number of pixels (e.g. | |
| void | Unindent (float amount) |
| void | BulletText (const char *text) |
| bool | CollapsingHeader (const char *label, bool *pVisible=nullptr, bool defaultOpen=false) |
| Collapsing header with an optional close button. | |
| void | GetCursorScreenPos (float *outX, float *outY) |
| Top-left screen position where the next widget or drawing goes. | |
| void | SetCursorScreenPos (float x, float y) |
| Puts the layout cursor at an absolute screen position, for custom chrome that places widgets and drawing by hand (e.g. | |
| void | Dummy (float width, float height) |
| Advances the layout cursor by width x height, reserving space for drawing. | |
| void | DrawLine (float x0, float y0, float x1, float y1, uint32_t rgba, float thickness=1.0f) |
| void | DrawRect (float x0, float y0, float x1, float y1, uint32_t rgba, float thickness=1.0f, float rounding=0.0f) |
| void | DrawRectFilled (float x0, float y0, float x1, float y1, uint32_t rgba, float rounding=0.0f) |
| void | DrawCircle (float cx, float cy, float radius, uint32_t rgba, float thickness=1.0f) |
| void | DrawCircleFilled (float cx, float cy, float radius, uint32_t rgba) |
| void | DrawImage (uint32_t texture, float x0, float y0, float x1, float y1, float u0=0.0f, float v0=0.0f, float u1=1.0f, float v1=1.0f, uint32_t tint=0xFFFFFFFFu) |
| void | DrawTextAt (float pixelSize, float x, float y, uint32_t rgba, const char *text) |
| void | DrawTextCss (float cssPx, float x, float y, uint32_t rgba, const char *text) |
| Text sized in CSS px: the backend converts with Fonts::CssPx(currentFont, cssPx) and applies the DPI scale, so hand-drawn labels match widget text. | |
| void | MeasureTextCss (float cssPx, const char *text, float *outW, float *outH) |
| Measures text exactly as DrawTextCss draws it. | |
| void | PushClipRect (float x0, float y0, float x1, float y1, bool intersectWithCurrent=true) |
| void | PopClipRect () |
| void | Image (uint32_t texture, float w, float h, float u0=0.0f, float v0=0.0f, float u1=1.0f, float v1=1.0f) |
| Inline image widget that advances the layout, e.g. a texture or atlas preview. | |
| bool | IsItemHovered (bool allowWhenDisabled=false) |
| bool | IsItemClicked () |
| void | GetContentRegionAvail (float *outW, float *outH) |
| void | GetContentRegionMax (float *outX, float *outY) |
| void | GetFramePadding (float *outX, float *outY) |
| void | GetItemSpacing (float *outX, float *outY) |
| void | GetItemInnerSpacing (float *outX, float *outY) |
| void | GetItemRect (float *outMinX, float *outMinY, float *outMaxX, float *outMaxY) |
| Bounds of the last submitted item (screen space), e.g. | |
| float | GetFrameHeight () |
| float | CalcItemWidth () |
| Width the next framed control would take with the current item width and indent, for splitting a row between two controls. | |
| float | GetFontSize () |
| void | MeasureText (const char *text, float *outW, float *outH) |
| void | AlignTextToFramePadding () |
| void | SetTooltip (const char *text) |
| float | GetTextLineHeight () |
| float | GetFrameHeightWithSpacing () |
| void | PushItemWidth (float w) |
| void | PopItemWidth () |
| void | GetMainViewportRect (float *outX, float *outY, float *outW, float *outH) |
| void | TextWrapped (const char *text) |
| bool | SliderInt (const char *id, int *v, int vmin, int vmax) |
| bool | RadioButton (const char *label, bool active) |
| bool | Selectable (const char *label, bool selected) |
| bool | Selectable (const char *label, bool selected, bool spanAllColumns) |
| Selectable spanning every column of the enclosing table (a full-width row). | |
| bool | ImageButton (const char *id, uint32_t texture, float w, float h, float u0=0.0f, float v0=0.0f, float u1=1.0f, float v1=1.0f) |
| bool | InvisibleButton (const char *id, float w, float h) |
| void | SetNextItemWidth (float w) |
| void | BeginListClipper (int itemCount, float itemHeight=-1.0f) |
| bool | ListClipperStep (int *outStart, int *outEnd) |
| void | EndListClipper () |
| bool | InputTextWithHint (const char *id, const char *hint, char *buf, int bufSize) |
| bool | BeginCombo (const char *label, const char *preview) |
| void | EndCombo () |
| bool | BeginChild (const char *id, float w, float h, bool border=false) |
| void | EndChild () |
| bool | BeginTabBar (const char *id) |
| void | EndTabBar () |
| bool | BeginTabItem (const char *label) |
| void | EndTabItem () |
| bool | TreeNodeEx (const char *label, int treeFlags=0) |
| void | TreePop () |
| void | BeginGroup () |
| Treats a run of widgets as one item (for SameLine, sizing and hit testing the whole block). | |
| void | EndGroup () |
| bool | BeginTable (const char *id, int columns, int tableFlags=0, float outerW=0.0f, float outerH=0.0f) |
| void | TableSetupColumn (const char *label, int columnFlags=0, float widthOrWeight=0.0f) |
| void | TableSetupScrollFreeze (int cols, int rows) |
| void | TableHeadersRow () |
| void | TableNextRow () |
| bool | TableNextColumn () |
| void | EndTable () |
| void | BeginToolbar () |
| bool | ToolbarButton (const char *label, bool enabled=true, bool active=false) |
| bool | ToolbarIconButton (const char *id, const char *icon, const char *tooltip=nullptr, bool enabled=true, bool active=false, bool destructive=false) |
| destructive marks a cell that removes something: it is drawn in the palette's red with a red hover fill, so a delete never looks like the buttons beside it. | |
| void | EndToolbar () |
| void | BeginTabLinks () |
| Sub-nav "tab links": a full-bleed row of text labels with a 2px accent underline on the active one (dim -> bright on hover) and a bottom hairline, like the Asset Browser's Assets/Scripts tabs. | |
| bool | TabLink (const char *label, bool active) |
| void | EndTabLinks () |
| bool | SelectableCard (const char *id, const char *title, const char *subtitle, bool selected, uint32_t subtitleColor=0) |
| A richer list entry than Selectable: a full-width "card" with a bold title and an optional dim subtitle, rounded hover/selected backgrounds, and a left accent bar when selected. | |
| void | OpenPopup (const char *id) |
| bool | BeginPopup (const char *id) |
| bool | BeginPopupModal (const char *name, bool *open=nullptr, int winFlags=0) |
| bool | BeginPopupContextItem (const char *id=nullptr) |
| void | OpenPopupOnItemClick (const char *id, int mouseButton=1) |
| Opens id when the last submitted item is clicked with mouseButton (0 = left, 1 = right, 2 = middle). | |
| void | EndPopup () |
| void | CloseCurrentPopup () |
| bool | MenuItem (const char *label, bool enabled=true) |
| bool | BeginMenu (const char *label) |
| Submenu inside an open popup or menu. | |
| void | EndMenu () |
| bool | Begin (const char *name, bool *open=nullptr, int winFlags=0) |
| void | End () |
| void | SetNextWindowSize (float w, float h, bool firstUseEver=false) |
| void | SetNextWindowSizeConstraints (float minW, float minH, float maxW, float maxH) |
| void | SetNextWindowPos (float x, float y, float pivotX=0.0f, float pivotY=0.0f) |
| void | PushStyleColor (Col col, uint32_t rgba) |
| void | PopStyleColor (int count=1) |
| uint32_t | GetStyleColor (Col col) |
| void | PushButtonTextAlign (float x, float y) |
| void | PushStyleVar (StyleVar var, float x, float y) |
| Pushes a Vec2 style var (e.g. table CellPadding, ItemSpacing); pop with PopStyleVar. | |
| void | PopStyleVar (int count=1) |
| void | TextColored (uint32_t rgba, const char *text) |
| void | PushBoldFont () |
| void | PopFont () |
| void | GetMousePos (float *outX, float *outY) |
| void | GetMouseDelta (float *outX, float *outY) |
| bool | IsMouseDown (int button) |
| bool | IsMouseClicked (int button) |
| bool | IsMouseDoubleClicked (int button) |
| bool | IsMouseDragging (int button, float lockThreshold=-1.0f) |
| void | SetMouseCursor (MouseCursor cursor) |
| float | GetMouseWheel () |
| bool | IsKeyShift () |
| bool | IsKeyCtrl () |
| float | GetDpiScale () |
| The global DPI scale (FontScaleDpi). | |
| bool | IsKeyAlt () |
| bool | IsKeyPressed (Key key, bool repeat=true) |
| float | GetDeltaTime () |
| bool | IsWindowFocused (bool rootAndChildWindows=false) |
| bool | IsItemActive () |
| bool | IsItemDeactivatedAfterEdit () |
| bool | IsItemDeactivated () |
| Lost focus this frame, edited or not. | |
| void | SetKeyboardFocusHere () |
| Gives the NEXT widget keyboard focus, for fields that should appear focused (click-to-rename) so the user can type without a second click. | |
| bool | InvisibleButton (const char *id, float w, float h, bool allowLeft, bool allowMiddle, bool allowRight=false) |
| InvisibleButton that takes which mouse buttons activate it. | |
| void | SetNextItemAllowOverlap () |
| Lets items submitted LATER in the same window win the hit test against the NEXT item, so submission order becomes front-to-back hit testing. | |
| bool | DragFloat2 (const char *id, float v[2], float speed=1.0f, float vmin=0.0f, float vmax=0.0f, const char *format="%.3f") |
| bool | DragFloat3 (const char *id, float v[3], float speed=1.0f, float vmin=0.0f, float vmax=0.0f, const char *format="%.3f") |
| void | FullBleedSeparator () |
| void | BeginDisabled (bool disabled=true) |
| void | EndDisabled () |
| void | Label (const char *text) |
| void | Space () |
| bool | IntField (const char *label, int32_t *v, float speed=1.0f, int64_t vmin=0, int64_t vmax=0, const IntCallbacks &cb={}) |
| bool | IntField (const char *label, uint32_t *v, float speed=1.0f, int64_t vmin=0, int64_t vmax=0, const IntCallbacks &cb={}) |
| bool | IntField (const char *label, int16_t *v, float speed=1.0f, int64_t vmin=0, int64_t vmax=0, const IntCallbacks &cb={}) |
| bool | IntField (const char *label, uint16_t *v, float speed=1.0f, int64_t vmin=0, int64_t vmax=0, const IntCallbacks &cb={}) |
| bool | IntField (const char *label, int8_t *v, float speed=1.0f, int64_t vmin=0, int64_t vmax=0, const IntCallbacks &cb={}) |
| bool | IntField (const char *label, uint8_t *v, float speed=1.0f, int64_t vmin=0, int64_t vmax=0, const IntCallbacks &cb={}) |
| bool | FloatField (const char *label, float *v, float speed=1.0f, float vmin=0.0f, float vmax=0.0f, const char *format="%.3f", const FloatCallbacks &cb={}) |
| bool | Vector2Field (const char *label, float v[2], float speed=1.0f, float vmin=0.0f, float vmax=0.0f, const char *format="%.3f", const VecCallbacks &cb={}) |
| bool | Vector3Field (const char *label, float v[3], float speed=1.0f, float vmin=0.0f, float vmax=0.0f, const char *format="%.3f", const VecCallbacks &cb={}) |
| bool | FloatField (const char *label, float *v, Unit unit, const FloatCallbacks &cb={}) |
| bool | Vector2Field (const char *label, float v[2], Unit unit, const VecCallbacks &cb={}) |
| bool | Vector3Field (const char *label, float v[3], Unit unit, const VecCallbacks &cb={}) |
| bool | ColorField (const char *label, float v[4], const VecCallbacks &cb={}) |
| bool | ColorRGBField (const char *label, float v[3], const VecCallbacks &cb={}) |
| bool | EnumField (const char *label, int *index, const char *const items[], int count, const EnumCallbacks &cb={}) |
| bool | EnumField (const char *label, int *index, const char *itemsZeroSep, const EnumCallbacks &cb={}) |
| bool | InputField (const char *label, char *buf, size_t bufSize, const TextCallbacks &cb={}) |
| bool | SliderField (const char *label, float *v, float vmin, float vmax, const char *format="%.3f", const FloatCallbacks &cb={}) |
| bool | SliderField (const char *label, int *v, int vmin, int vmax, const EnumCallbacks &cb={}) |
| bool | FloatField (const char *label, float value, Unit unit, const FloatCallbacks &cb) |
| bool | Vector2Field (const char *label, float x, float y, Unit unit, const VecCallbacks &cb) |
| bool | Vector3Field (const char *label, float x, float y, float z, Unit unit, const VecCallbacks &cb) |
| bool | FloatField (const char *label, float value, float speed, float vmin, float vmax, const char *format, const FloatCallbacks &cb) |
| bool | Vector2Field (const char *label, float x, float y, float speed, float vmin, float vmax, const char *format, const VecCallbacks &cb) |
| bool | Vector3Field (const char *label, float x, float y, float z, float speed, float vmin, float vmax, const char *format, const VecCallbacks &cb) |
| Deki::Component * | GetCurrentComponent () const |
| const Deki::ComponentMeta * | GetCurrentMeta () const |
| void | BeginComponent (Deki::Component *comp, const Deki::ComponentMeta *meta, DrawPropertyByNameFunc drawByName, DrawPropertyByOffsetFunc drawByOffset, DrawDefaultPropertiesFunc drawDefault, ResolveAssetNameFunc resolveAsset, GetFontAtlasFunc getFontAtlas, ModifyAssetFunc modifyAsset=nullptr) |
| Starts drawing a component's Inspector. Called by InspectorPanel. | |
| void | EndComponent () |
Static Public Member Functions | |
| static EditorUI & | Get () |
| static uint32_t | Rgba (uint8_t r, uint8_t g, uint8_t b, uint8_t a=255) |
| Packs an RGBA color (components 0-255) for the Draw* methods. | |
| static void | SetWidgetBackend (const WidgetBackend &backend) |
| static void | SetExtraWindowFlagsProvider (std::function< int(const char *)> fn) |
| Extra ImGui window flags for a window, by the name passed to Begin(). | |
The editor's UI controls and inspector drawing, for CustomEditor code: auto& ui = EditorUI::Get(); ui.DrawDefaultInspector(); ui.PropertyField("speed");.
Packages use this class instead of ImGui directly. The implementations live in the editor executable and are installed through callbacks (BeginComponent for property drawing, SetWidgetBackend for widgets), so package editors draw with the editor's styled widgets.
InspectorPanel calls BeginComponent/EndComponent around CustomEditor::OnInspectorGUI().
| using DekiEditor::EditorUI::DrawPropertyByNameFunc = std::function<void(const char*)> |
| using DekiEditor::EditorUI::DrawPropertyByOffsetFunc = std::function<void(size_t)> |
| using DekiEditor::EditorUI::DrawDefaultPropertiesFunc = std::function<void()> |
| using DekiEditor::EditorUI::ResolveAssetNameFunc = std::function<std::string(const std::string&)> |
| using DekiEditor::EditorUI::GetFontAtlasFunc = std::function<uint32_t(const std::string&, int, uint32_t*, uint32_t*)> |
|
strong |
|
strong |
|
strong |
|
strong |
|
strong |
Physical unit of a float or vector field.
The value is stored in canonical units (meters, radians); the editor shows it in the project's display unit (px/m, degrees) and snaps Distance to whole pixels in Pixels mode. Mirrors the engine's Deki::PhysicalUnit so the int passes straight through.
| Enumerator | |
|---|---|
| None | |
| Distance | |
| Velocity | |
| Acceleration | |
| Angle | |
|
static |
| void DekiEditor::EditorUI::DrawDefaultInspector | ( | ) |
Draws every property of the current component, like Unity's DrawDefaultInspector().
| void DekiEditor::EditorUI::PropertyField | ( | size_t | offset | ) |
Draws one property by member offset: offsetof(ComponentType, member).
| void DekiEditor::EditorUI::PropertyField | ( | const char * | propertyName | ) |
Draws one property by name.
| std::string DekiEditor::EditorUI::ResolveAssetName | ( | const std::string & | guid | ) |
A readable path or name for an asset GUID.
| uint32_t DekiEditor::EditorUI::GetFontAtlasTexture | ( | const std::string & | fontGuid, |
| int | fontSize, | ||
| uint32_t * | outWidth, | ||
| uint32_t * | outHeight ) |
The OpenGL atlas texture of a font at a size, for previews, with its width and height, or 0 on failure.
| void DekiEditor::EditorUI::ModifyAsset | ( | const std::string & | assetPath, |
| const std::string & | assetGuid, | ||
| const std::string & | oldJson, | ||
| const std::string & | newJson ) |
Changes an asset file (absolute path) from oldJson to newJson, as an undoable edit.
| bool DekiEditor::EditorUI::SectionHeader | ( | const char * | label | ) |
Collapsing section header (full-bleed band). Returns true if expanded.
| void DekiEditor::EditorUI::PropertyRow | ( | const char * | label | ) |
Starts a "label : value" row; the next control fills the value column.
| bool DekiEditor::EditorUI::DragInt | ( | const char * | id, |
| int * | v, | ||
| float | speed = 1.0f, | ||
| int | vmin = 0, | ||
| int | vmax = 0 ) |
| bool DekiEditor::EditorUI::DragFloat | ( | const char * | id, |
| float * | v, | ||
| float | speed = 1.0f, | ||
| float | vmin = 0.0f, | ||
| float | vmax = 0.0f, | ||
| const char * | format = "%.3f" ) |
| bool DekiEditor::EditorUI::Checkbox | ( | const char * | label, |
| bool * | v ) |
A visible label (e.g.
"Antialiased") draws a whole labeled row, compact (sized to the checkbox, not the tall field frame). A hidden or empty label ("##id") draws just the styled box, for custom inline layouts. Returns true when toggled.
| bool DekiEditor::EditorUI::ColorEdit4 | ( | const char * | id, |
| float | col[4] ) |
| bool DekiEditor::EditorUI::ColorEdit3 | ( | const char * | id, |
| float | col[3] ) |
| bool DekiEditor::EditorUI::Combo | ( | const char * | id, |
| int * | currentIndex, | ||
| const char *const | items[], | ||
| int | count ) |
| bool DekiEditor::EditorUI::Combo | ( | const char * | id, |
| int * | currentIndex, | ||
| const char * | itemsSeparatedByZeros ) |
| bool DekiEditor::EditorUI::SliderFloat | ( | const char * | id, |
| float * | v, | ||
| float | vmin, | ||
| float | vmax, | ||
| const char * | format = "%.3f" ) |
| bool DekiEditor::EditorUI::InputInt | ( | const char * | id, |
| int * | v, | ||
| int | step = 1, | ||
| int | stepFast = 100 ) |
| bool DekiEditor::EditorUI::InputText | ( | const char * | id, |
| char * | buf, | ||
| size_t | bufSize ) |
| bool DekiEditor::EditorUI::Button | ( | const char * | label, |
| float | width = 0.0f, | ||
| float | height = 0.0f ) |
| bool DekiEditor::EditorUI::SmallButton | ( | const char * | label | ) |
| void DekiEditor::EditorUI::Text | ( | const char * | text | ) |
| void DekiEditor::EditorUI::TextColored | ( | float | r, |
| float | g, | ||
| float | b, | ||
| float | a, | ||
| const char * | text ) |
| void DekiEditor::EditorUI::TextDisabled | ( | const char * | text | ) |
| void DekiEditor::EditorUI::SameLine | ( | float | offsetFromStartX = 0.0f, |
| float | spacing = -1.0f ) |
| void DekiEditor::EditorUI::Spacing | ( | ) |
| void DekiEditor::EditorUI::Separator | ( | ) |
| void DekiEditor::EditorUI::PushID | ( | int | id | ) |
| void DekiEditor::EditorUI::PushID | ( | const void * | ptr | ) |
| void DekiEditor::EditorUI::PopID | ( | ) |
| void DekiEditor::EditorUI::Indent | ( | ) |
| void DekiEditor::EditorUI::Unindent | ( | ) |
| void DekiEditor::EditorUI::Indent | ( | float | amount | ) |
Indents by a given number of pixels (e.g.
a panel's content gutter). Pair Indent(amount) with Unindent(amount).
| void DekiEditor::EditorUI::Unindent | ( | float | amount | ) |
| void DekiEditor::EditorUI::BulletText | ( | const char * | text | ) |
| bool DekiEditor::EditorUI::CollapsingHeader | ( | const char * | label, |
| bool * | pVisible = nullptr, | ||
| bool | defaultOpen = false ) |
Collapsing header with an optional close button.
With a null pVisible there is no close button; otherwise clicking it sets *pVisible to false. Returns true when the section is expanded.
|
inlinestatic |
Packs an RGBA color (components 0-255) for the Draw* methods.
| void DekiEditor::EditorUI::GetCursorScreenPos | ( | float * | outX, |
| float * | outY ) |
Top-left screen position where the next widget or drawing goes.
| void DekiEditor::EditorUI::SetCursorScreenPos | ( | float | x, |
| float | y ) |
Puts the layout cursor at an absolute screen position, for custom chrome that places widgets and drawing by hand (e.g.
toolbars).
| void DekiEditor::EditorUI::Dummy | ( | float | width, |
| float | height ) |
Advances the layout cursor by width x height, reserving space for drawing.
| void DekiEditor::EditorUI::DrawLine | ( | float | x0, |
| float | y0, | ||
| float | x1, | ||
| float | y1, | ||
| uint32_t | rgba, | ||
| float | thickness = 1.0f ) |
| void DekiEditor::EditorUI::DrawRect | ( | float | x0, |
| float | y0, | ||
| float | x1, | ||
| float | y1, | ||
| uint32_t | rgba, | ||
| float | thickness = 1.0f, | ||
| float | rounding = 0.0f ) |
| void DekiEditor::EditorUI::DrawRectFilled | ( | float | x0, |
| float | y0, | ||
| float | x1, | ||
| float | y1, | ||
| uint32_t | rgba, | ||
| float | rounding = 0.0f ) |
| void DekiEditor::EditorUI::DrawCircle | ( | float | cx, |
| float | cy, | ||
| float | radius, | ||
| uint32_t | rgba, | ||
| float | thickness = 1.0f ) |
| void DekiEditor::EditorUI::DrawCircleFilled | ( | float | cx, |
| float | cy, | ||
| float | radius, | ||
| uint32_t | rgba ) |
| void DekiEditor::EditorUI::DrawImage | ( | uint32_t | texture, |
| float | x0, | ||
| float | y0, | ||
| float | x1, | ||
| float | y1, | ||
| float | u0 = 0.0f, | ||
| float | v0 = 0.0f, | ||
| float | u1 = 1.0f, | ||
| float | v1 = 1.0f, | ||
| uint32_t | tint = 0xFFFFFFFFu ) |
| void DekiEditor::EditorUI::DrawTextAt | ( | float | pixelSize, |
| float | x, | ||
| float | y, | ||
| uint32_t | rgba, | ||
| const char * | text ) |
| void DekiEditor::EditorUI::DrawTextCss | ( | float | cssPx, |
| float | x, | ||
| float | y, | ||
| uint32_t | rgba, | ||
| const char * | text ) |
Text sized in CSS px: the backend converts with Fonts::CssPx(currentFont, cssPx) and applies the DPI scale, so hand-drawn labels match widget text.
Use this rather than DrawTextAt (raw pixels) for any UI-like text.
| void DekiEditor::EditorUI::MeasureTextCss | ( | float | cssPx, |
| const char * | text, | ||
| float * | outW, | ||
| float * | outH ) |
Measures text exactly as DrawTextCss draws it.
| void DekiEditor::EditorUI::PushClipRect | ( | float | x0, |
| float | y0, | ||
| float | x1, | ||
| float | y1, | ||
| bool | intersectWithCurrent = true ) |
| void DekiEditor::EditorUI::PopClipRect | ( | ) |
| void DekiEditor::EditorUI::Image | ( | uint32_t | texture, |
| float | w, | ||
| float | h, | ||
| float | u0 = 0.0f, | ||
| float | v0 = 0.0f, | ||
| float | u1 = 1.0f, | ||
| float | v1 = 1.0f ) |
Inline image widget that advances the layout, e.g. a texture or atlas preview.
| bool DekiEditor::EditorUI::IsItemHovered | ( | bool | allowWhenDisabled = false | ) |
| bool DekiEditor::EditorUI::IsItemClicked | ( | ) |
| void DekiEditor::EditorUI::GetContentRegionAvail | ( | float * | outW, |
| float * | outH ) |
| void DekiEditor::EditorUI::GetContentRegionMax | ( | float * | outX, |
| float * | outY ) |
| void DekiEditor::EditorUI::GetFramePadding | ( | float * | outX, |
| float * | outY ) |
| void DekiEditor::EditorUI::GetItemSpacing | ( | float * | outX, |
| float * | outY ) |
| void DekiEditor::EditorUI::GetItemInnerSpacing | ( | float * | outX, |
| float * | outY ) |
| void DekiEditor::EditorUI::GetItemRect | ( | float * | outMinX, |
| float * | outMinY, | ||
| float * | outMaxX, | ||
| float * | outMaxY ) |
Bounds of the last submitted item (screen space), e.g.
to hang a control off the right edge of a row just drawn.
| float DekiEditor::EditorUI::GetFrameHeight | ( | ) |
| float DekiEditor::EditorUI::CalcItemWidth | ( | ) |
Width the next framed control would take with the current item width and indent, for splitting a row between two controls.
| float DekiEditor::EditorUI::GetFontSize | ( | ) |
| void DekiEditor::EditorUI::MeasureText | ( | const char * | text, |
| float * | outW, | ||
| float * | outH ) |
| void DekiEditor::EditorUI::AlignTextToFramePadding | ( | ) |
| void DekiEditor::EditorUI::SetTooltip | ( | const char * | text | ) |
| float DekiEditor::EditorUI::GetTextLineHeight | ( | ) |
| float DekiEditor::EditorUI::GetFrameHeightWithSpacing | ( | ) |
| void DekiEditor::EditorUI::PushItemWidth | ( | float | w | ) |
| void DekiEditor::EditorUI::PopItemWidth | ( | ) |
| void DekiEditor::EditorUI::GetMainViewportRect | ( | float * | outX, |
| float * | outY, | ||
| float * | outW, | ||
| float * | outH ) |
| void DekiEditor::EditorUI::TextWrapped | ( | const char * | text | ) |
| bool DekiEditor::EditorUI::SliderInt | ( | const char * | id, |
| int * | v, | ||
| int | vmin, | ||
| int | vmax ) |
| bool DekiEditor::EditorUI::RadioButton | ( | const char * | label, |
| bool | active ) |
| bool DekiEditor::EditorUI::Selectable | ( | const char * | label, |
| bool | selected ) |
| bool DekiEditor::EditorUI::Selectable | ( | const char * | label, |
| bool | selected, | ||
| bool | spanAllColumns ) |
Selectable spanning every column of the enclosing table (a full-width row).
| bool DekiEditor::EditorUI::ImageButton | ( | const char * | id, |
| uint32_t | texture, | ||
| float | w, | ||
| float | h, | ||
| float | u0 = 0.0f, | ||
| float | v0 = 0.0f, | ||
| float | u1 = 1.0f, | ||
| float | v1 = 1.0f ) |
| bool DekiEditor::EditorUI::InvisibleButton | ( | const char * | id, |
| float | w, | ||
| float | h ) |
| void DekiEditor::EditorUI::SetNextItemWidth | ( | float | w | ) |
| void DekiEditor::EditorUI::BeginListClipper | ( | int | itemCount, |
| float | itemHeight = -1.0f ) |
| bool DekiEditor::EditorUI::ListClipperStep | ( | int * | outStart, |
| int * | outEnd ) |
| void DekiEditor::EditorUI::EndListClipper | ( | ) |
| bool DekiEditor::EditorUI::InputTextWithHint | ( | const char * | id, |
| const char * | hint, | ||
| char * | buf, | ||
| int | bufSize ) |
| bool DekiEditor::EditorUI::BeginCombo | ( | const char * | label, |
| const char * | preview ) |
| void DekiEditor::EditorUI::EndCombo | ( | ) |
| bool DekiEditor::EditorUI::BeginChild | ( | const char * | id, |
| float | w, | ||
| float | h, | ||
| bool | border = false ) |
| void DekiEditor::EditorUI::EndChild | ( | ) |
| bool DekiEditor::EditorUI::BeginTabBar | ( | const char * | id | ) |
| void DekiEditor::EditorUI::EndTabBar | ( | ) |
| bool DekiEditor::EditorUI::BeginTabItem | ( | const char * | label | ) |
| void DekiEditor::EditorUI::EndTabItem | ( | ) |
| bool DekiEditor::EditorUI::TreeNodeEx | ( | const char * | label, |
| int | treeFlags = 0 ) |
| void DekiEditor::EditorUI::TreePop | ( | ) |
| void DekiEditor::EditorUI::BeginGroup | ( | ) |
Treats a run of widgets as one item (for SameLine, sizing and hit testing the whole block).
Pair BeginGroup with EndGroup.
| void DekiEditor::EditorUI::EndGroup | ( | ) |
| bool DekiEditor::EditorUI::BeginTable | ( | const char * | id, |
| int | columns, | ||
| int | tableFlags = 0, | ||
| float | outerW = 0.0f, | ||
| float | outerH = 0.0f ) |
| void DekiEditor::EditorUI::TableSetupColumn | ( | const char * | label, |
| int | columnFlags = 0, | ||
| float | widthOrWeight = 0.0f ) |
| void DekiEditor::EditorUI::TableSetupScrollFreeze | ( | int | cols, |
| int | rows ) |
| void DekiEditor::EditorUI::TableHeadersRow | ( | ) |
| void DekiEditor::EditorUI::TableNextRow | ( | ) |
| bool DekiEditor::EditorUI::TableNextColumn | ( | ) |
| void DekiEditor::EditorUI::EndTable | ( | ) |
| void DekiEditor::EditorUI::BeginToolbar | ( | ) |
| bool DekiEditor::EditorUI::ToolbarButton | ( | const char * | label, |
| bool | enabled = true, | ||
| bool | active = false ) |
| bool DekiEditor::EditorUI::ToolbarIconButton | ( | const char * | id, |
| const char * | icon, | ||
| const char * | tooltip = nullptr, | ||
| bool | enabled = true, | ||
| bool | active = false, | ||
| bool | destructive = false ) |
destructive marks a cell that removes something: it is drawn in the palette's red with a red hover fill, so a delete never looks like the buttons beside it.
| void DekiEditor::EditorUI::EndToolbar | ( | ) |
| void DekiEditor::EditorUI::BeginTabLinks | ( | ) |
Sub-nav "tab links": a full-bleed row of text labels with a 2px accent underline on the active one (dim -> bright on hover) and a bottom hairline, like the Asset Browser's Assets/Scripts tabs.
Pair BeginTabLinks with EndTabLinks; draw each with TabLink (returns true when clicked).
| bool DekiEditor::EditorUI::TabLink | ( | const char * | label, |
| bool | active ) |
| void DekiEditor::EditorUI::EndTabLinks | ( | ) |
| bool DekiEditor::EditorUI::SelectableCard | ( | const char * | id, |
| const char * | title, | ||
| const char * | subtitle, | ||
| bool | selected, | ||
| uint32_t | subtitleColor = 0 ) |
A richer list entry than Selectable: a full-width "card" with a bold title and an optional dim subtitle, rounded hover/selected backgrounds, and a left accent bar when selected.
Reserves its own height, so cards stack vertically. Returns true when clicked; call IsItemHovered() / IsMouseDoubleClicked() right after for hover and double-click. subtitle may be null for a single line. subtitleColor (packed with Rgba()) tints the subtitle; 0 = the default dim.
| void DekiEditor::EditorUI::OpenPopup | ( | const char * | id | ) |
| bool DekiEditor::EditorUI::BeginPopup | ( | const char * | id | ) |
| bool DekiEditor::EditorUI::BeginPopupModal | ( | const char * | name, |
| bool * | open = nullptr, | ||
| int | winFlags = 0 ) |
| bool DekiEditor::EditorUI::BeginPopupContextItem | ( | const char * | id = nullptr | ) |
| void DekiEditor::EditorUI::OpenPopupOnItemClick | ( | const char * | id, |
| int | mouseButton = 1 ) |
Opens id when the last submitted item is clicked with mouseButton (0 = left, 1 = right, 2 = middle).
For context menus on a widget that already uses the click itself.
| void DekiEditor::EditorUI::EndPopup | ( | ) |
| void DekiEditor::EditorUI::CloseCurrentPopup | ( | ) |
| bool DekiEditor::EditorUI::MenuItem | ( | const char * | label, |
| bool | enabled = true ) |
| bool DekiEditor::EditorUI::BeginMenu | ( | const char * | label | ) |
Submenu inside an open popup or menu.
Call EndMenu() only when BeginMenu() returned true.
| void DekiEditor::EditorUI::EndMenu | ( | ) |
| bool DekiEditor::EditorUI::Begin | ( | const char * | name, |
| bool * | open = nullptr, | ||
| int | winFlags = 0 ) |
| void DekiEditor::EditorUI::End | ( | ) |
| void DekiEditor::EditorUI::SetNextWindowSize | ( | float | w, |
| float | h, | ||
| bool | firstUseEver = false ) |
| void DekiEditor::EditorUI::SetNextWindowSizeConstraints | ( | float | minW, |
| float | minH, | ||
| float | maxW, | ||
| float | maxH ) |
| void DekiEditor::EditorUI::SetNextWindowPos | ( | float | x, |
| float | y, | ||
| float | pivotX = 0.0f, | ||
| float | pivotY = 0.0f ) |
| void DekiEditor::EditorUI::PushStyleColor | ( | Col | col, |
| uint32_t | rgba ) |
| void DekiEditor::EditorUI::PopStyleColor | ( | int | count = 1 | ) |
| uint32_t DekiEditor::EditorUI::GetStyleColor | ( | Col | col | ) |
| void DekiEditor::EditorUI::PushButtonTextAlign | ( | float | x, |
| float | y ) |
| void DekiEditor::EditorUI::PushStyleVar | ( | StyleVar | var, |
| float | x, | ||
| float | y ) |
Pushes a Vec2 style var (e.g. table CellPadding, ItemSpacing); pop with PopStyleVar.
| void DekiEditor::EditorUI::PopStyleVar | ( | int | count = 1 | ) |
| void DekiEditor::EditorUI::TextColored | ( | uint32_t | rgba, |
| const char * | text ) |
| void DekiEditor::EditorUI::PushBoldFont | ( | ) |
| void DekiEditor::EditorUI::PopFont | ( | ) |
| void DekiEditor::EditorUI::GetMousePos | ( | float * | outX, |
| float * | outY ) |
| void DekiEditor::EditorUI::GetMouseDelta | ( | float * | outX, |
| float * | outY ) |
| bool DekiEditor::EditorUI::IsMouseDown | ( | int | button | ) |
| bool DekiEditor::EditorUI::IsMouseClicked | ( | int | button | ) |
| bool DekiEditor::EditorUI::IsMouseDoubleClicked | ( | int | button | ) |
| bool DekiEditor::EditorUI::IsMouseDragging | ( | int | button, |
| float | lockThreshold = -1.0f ) |
| void DekiEditor::EditorUI::SetMouseCursor | ( | MouseCursor | cursor | ) |
| float DekiEditor::EditorUI::GetMouseWheel | ( | ) |
| bool DekiEditor::EditorUI::IsKeyShift | ( | ) |
| bool DekiEditor::EditorUI::IsKeyCtrl | ( | ) |
| float DekiEditor::EditorUI::GetDpiScale | ( | ) |
The global DPI scale (FontScaleDpi).
Multiply custom-drawn geometry by it to match widget sizes (DrawTextCss already applies it to text).
| bool DekiEditor::EditorUI::IsKeyAlt | ( | ) |
| bool DekiEditor::EditorUI::IsKeyPressed | ( | Key | key, |
| bool | repeat = true ) |
| float DekiEditor::EditorUI::GetDeltaTime | ( | ) |
| bool DekiEditor::EditorUI::IsWindowFocused | ( | bool | rootAndChildWindows = false | ) |
| bool DekiEditor::EditorUI::IsItemActive | ( | ) |
| bool DekiEditor::EditorUI::IsItemDeactivatedAfterEdit | ( | ) |
| bool DekiEditor::EditorUI::IsItemDeactivated | ( | ) |
Lost focus this frame, edited or not.
IsItemDeactivatedAfterEdit stays false when the value was left alone, so it cannot close an inline edit field the user clicked away from without typing.
| void DekiEditor::EditorUI::SetKeyboardFocusHere | ( | ) |
Gives the NEXT widget keyboard focus, for fields that should appear focused (click-to-rename) so the user can type without a second click.
| bool DekiEditor::EditorUI::InvisibleButton | ( | const char * | id, |
| float | w, | ||
| float | h, | ||
| bool | allowLeft, | ||
| bool | allowMiddle, | ||
| bool | allowRight = false ) |
InvisibleButton that takes which mouse buttons activate it.
| void DekiEditor::EditorUI::SetNextItemAllowOverlap | ( | ) |
Lets items submitted LATER in the same window win the hit test against the NEXT item, so submission order becomes front-to-back hit testing.
Without it, a big hit surface (a canvas) takes the hovered id for the frame and every widget drawn on top of it cannot be clicked. Call it right before the surface, not before the widgets on top.
| bool DekiEditor::EditorUI::DragFloat2 | ( | const char * | id, |
| float | v[2], | ||
| float | speed = 1.0f, | ||
| float | vmin = 0.0f, | ||
| float | vmax = 0.0f, | ||
| const char * | format = "%.3f" ) |
| bool DekiEditor::EditorUI::DragFloat3 | ( | const char * | id, |
| float | v[3], | ||
| float | speed = 1.0f, | ||
| float | vmin = 0.0f, | ||
| float | vmax = 0.0f, | ||
| const char * | format = "%.3f" ) |
| void DekiEditor::EditorUI::FullBleedSeparator | ( | ) |
| void DekiEditor::EditorUI::BeginDisabled | ( | bool | disabled = true | ) |
| void DekiEditor::EditorUI::EndDisabled | ( | ) |
|
inline |
|
inline |
| bool DekiEditor::EditorUI::IntField | ( | const char * | label, |
| int32_t * | v, | ||
| float | speed = 1.0f, | ||
| int64_t | vmin = 0, | ||
| int64_t | vmax = 0, | ||
| const IntCallbacks & | cb = {} ) |
| bool DekiEditor::EditorUI::IntField | ( | const char * | label, |
| uint32_t * | v, | ||
| float | speed = 1.0f, | ||
| int64_t | vmin = 0, | ||
| int64_t | vmax = 0, | ||
| const IntCallbacks & | cb = {} ) |
| bool DekiEditor::EditorUI::IntField | ( | const char * | label, |
| int16_t * | v, | ||
| float | speed = 1.0f, | ||
| int64_t | vmin = 0, | ||
| int64_t | vmax = 0, | ||
| const IntCallbacks & | cb = {} ) |
| bool DekiEditor::EditorUI::IntField | ( | const char * | label, |
| uint16_t * | v, | ||
| float | speed = 1.0f, | ||
| int64_t | vmin = 0, | ||
| int64_t | vmax = 0, | ||
| const IntCallbacks & | cb = {} ) |
| bool DekiEditor::EditorUI::IntField | ( | const char * | label, |
| int8_t * | v, | ||
| float | speed = 1.0f, | ||
| int64_t | vmin = 0, | ||
| int64_t | vmax = 0, | ||
| const IntCallbacks & | cb = {} ) |
| bool DekiEditor::EditorUI::IntField | ( | const char * | label, |
| uint8_t * | v, | ||
| float | speed = 1.0f, | ||
| int64_t | vmin = 0, | ||
| int64_t | vmax = 0, | ||
| const IntCallbacks & | cb = {} ) |
| bool DekiEditor::EditorUI::FloatField | ( | const char * | label, |
| float * | v, | ||
| float | speed = 1.0f, | ||
| float | vmin = 0.0f, | ||
| float | vmax = 0.0f, | ||
| const char * | format = "%.3f", | ||
| const FloatCallbacks & | cb = {} ) |
| bool DekiEditor::EditorUI::Vector2Field | ( | const char * | label, |
| float | v[2], | ||
| float | speed = 1.0f, | ||
| float | vmin = 0.0f, | ||
| float | vmax = 0.0f, | ||
| const char * | format = "%.3f", | ||
| const VecCallbacks & | cb = {} ) |
| bool DekiEditor::EditorUI::Vector3Field | ( | const char * | label, |
| float | v[3], | ||
| float | speed = 1.0f, | ||
| float | vmin = 0.0f, | ||
| float | vmax = 0.0f, | ||
| const char * | format = "%.3f", | ||
| const VecCallbacks & | cb = {} ) |
| bool DekiEditor::EditorUI::FloatField | ( | const char * | label, |
| float * | v, | ||
| Unit | unit, | ||
| const FloatCallbacks & | cb = {} ) |
| bool DekiEditor::EditorUI::Vector2Field | ( | const char * | label, |
| float | v[2], | ||
| Unit | unit, | ||
| const VecCallbacks & | cb = {} ) |
| bool DekiEditor::EditorUI::Vector3Field | ( | const char * | label, |
| float | v[3], | ||
| Unit | unit, | ||
| const VecCallbacks & | cb = {} ) |
| bool DekiEditor::EditorUI::ColorField | ( | const char * | label, |
| float | v[4], | ||
| const VecCallbacks & | cb = {} ) |
| bool DekiEditor::EditorUI::ColorRGBField | ( | const char * | label, |
| float | v[3], | ||
| const VecCallbacks & | cb = {} ) |
| bool DekiEditor::EditorUI::EnumField | ( | const char * | label, |
| int * | index, | ||
| const char *const | items[], | ||
| int | count, | ||
| const EnumCallbacks & | cb = {} ) |
| bool DekiEditor::EditorUI::EnumField | ( | const char * | label, |
| int * | index, | ||
| const char * | itemsZeroSep, | ||
| const EnumCallbacks & | cb = {} ) |
| bool DekiEditor::EditorUI::InputField | ( | const char * | label, |
| char * | buf, | ||
| size_t | bufSize, | ||
| const TextCallbacks & | cb = {} ) |
| bool DekiEditor::EditorUI::SliderField | ( | const char * | label, |
| float * | v, | ||
| float | vmin, | ||
| float | vmax, | ||
| const char * | format = "%.3f", | ||
| const FloatCallbacks & | cb = {} ) |
| bool DekiEditor::EditorUI::SliderField | ( | const char * | label, |
| int * | v, | ||
| int | vmin, | ||
| int | vmax, | ||
| const EnumCallbacks & | cb = {} ) |
| bool DekiEditor::EditorUI::FloatField | ( | const char * | label, |
| float | value, | ||
| Unit | unit, | ||
| const FloatCallbacks & | cb ) |
| bool DekiEditor::EditorUI::Vector2Field | ( | const char * | label, |
| float | x, | ||
| float | y, | ||
| Unit | unit, | ||
| const VecCallbacks & | cb ) |
| bool DekiEditor::EditorUI::Vector3Field | ( | const char * | label, |
| float | x, | ||
| float | y, | ||
| float | z, | ||
| Unit | unit, | ||
| const VecCallbacks & | cb ) |
| bool DekiEditor::EditorUI::FloatField | ( | const char * | label, |
| float | value, | ||
| float | speed, | ||
| float | vmin, | ||
| float | vmax, | ||
| const char * | format, | ||
| const FloatCallbacks & | cb ) |
| bool DekiEditor::EditorUI::Vector2Field | ( | const char * | label, |
| float | x, | ||
| float | y, | ||
| float | speed, | ||
| float | vmin, | ||
| float | vmax, | ||
| const char * | format, | ||
| const VecCallbacks & | cb ) |
| bool DekiEditor::EditorUI::Vector3Field | ( | const char * | label, |
| float | x, | ||
| float | y, | ||
| float | z, | ||
| float | speed, | ||
| float | vmin, | ||
| float | vmax, | ||
| const char * | format, | ||
| const VecCallbacks & | cb ) |
|
static |
|
static |
Extra ImGui window flags for a window, by the name passed to Begin().
The editor executable installs it to make a maximized panel non-resizable: the flag must reach ImGui::Begin() itself, which decides whether the resize grips, border highlight and resize cursor exist. Null (the default) adds nothing.
|
inline |
|
inline |
| void DekiEditor::EditorUI::BeginComponent | ( | Deki::Component * | comp, |
| const Deki::ComponentMeta * | meta, | ||
| DrawPropertyByNameFunc | drawByName, | ||
| DrawPropertyByOffsetFunc | drawByOffset, | ||
| DrawDefaultPropertiesFunc | drawDefault, | ||
| ResolveAssetNameFunc | resolveAsset, | ||
| GetFontAtlasFunc | getFontAtlas, | ||
| ModifyAssetFunc | modifyAsset = nullptr ) |
Starts drawing a component's Inspector. Called by InspectorPanel.
| void DekiEditor::EditorUI::EndComponent | ( | ) |