|
Deki 1.3.0
Modular C++ 2D engine for embedded displays and desktop
|
Singleton providing the editor UI controls + inspector drawing. More...
#include <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 internally 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-valued style vars adjustable via 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. More... | |
| enum class | Unit { None = 0 , Distance , Velocity , Acceleration , Angle } |
| using | DrawPropertyByNameFunc = std::function<void(const char*)> |
| Callback types for property drawing. | |
| 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 = std::function<void(const std::string&, const std::string&, const std::string&, const std::string&)> |
Public Member Functions | |
| void | DrawDefaultInspector () |
| Draw all default properties for current component. | |
| void | PropertyField (size_t offset) |
| Draw a specific property by member offset. | |
| void | PropertyField (const char *propertyName) |
| Draw a specific property by name. | |
| std::string | ResolveAssetName (const std::string &guid) |
| Resolve asset GUID to display name. | |
| uint32_t | GetFontAtlasTexture (const std::string &fontGuid, int fontSize, uint32_t *outWidth, uint32_t *outHeight) |
| Get font atlas texture for preview. | |
| void | ModifyAsset (const std::string &assetPath, const std::string &assetGuid, const std::string &oldJson, const std::string &newJson) |
| Modify an asset file with undo/redo support. | |
| bool | SectionHeader (const char *label) |
| void | PropertyRow (const char *label) |
| 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) |
| 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) |
| void | Unindent (float amount) |
| void | BulletText (const char *text) |
| bool | CollapsingHeader (const char *label, bool *pVisible=nullptr, bool defaultOpen=false) |
| void | GetCursorScreenPos (float *outX, float *outY) |
| Top-left screen position where the next widget/drawing goes. | |
| void | SetCursorScreenPos (float x, float y) |
| Place the layout cursor at an absolute screen position (for custom chrome that positions widgets/draws by hand, e.g. | |
| void | Dummy (float width, float height) |
| Advance the layout cursor by w x h (reserve 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) |
| void | MeasureTextCss (float cssPx, const char *text, float *outW, float *outH) |
| 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 (advances layout), e.g. | |
| 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) |
| float | GetFrameHeight () |
| float | CalcItemWidth () |
| 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) |
| 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 () |
| 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) |
| void | EndToolbar () |
| void | BeginTabLinks () |
| 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) |
| 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) |
| void | EndPopup () |
| void | CloseCurrentPopup () |
| bool | MenuItem (const char *label, bool enabled=true) |
| bool | BeginMenu (const char *label) |
| 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) |
| 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 () |
| bool | IsKeyAlt () |
| bool | IsKeyPressed (Key key, bool repeat=true) |
| float | GetDeltaTime () |
| bool | IsWindowFocused (bool rootAndChildWindows=false) |
| bool | IsItemActive () |
| bool | IsItemDeactivatedAfterEdit () |
| bool | IsItemDeactivated () |
| void | SetKeyboardFocusHere () |
| bool | InvisibleButton (const char *id, float w, float h, bool allowLeft, bool allowMiddle, bool allowRight=false) |
| void | SetNextItemAllowOverlap () |
| 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) |
| DekiComponent * | GetCurrentComponent () const |
| const DekiComponentMeta * | GetCurrentMeta () const |
| void | BeginComponent (DekiComponent *comp, const DekiComponentMeta *meta, DrawPropertyByNameFunc drawByName, DrawPropertyByOffsetFunc drawByOffset, DrawDefaultPropertiesFunc drawDefault, ResolveAssetNameFunc resolveAsset, GetFontAtlasFunc getFontAtlas, ModifyAssetFunc modifyAsset=nullptr) |
| Begin editing a component (called by InspectorPanel). | |
| void | EndComponent () |
| End editing a component. | |
Static Public Member Functions | |
| static EditorUI & | Get () |
| Get singleton instance. | |
| static uint32_t | Rgba (uint8_t r, uint8_t g, uint8_t b, uint8_t a=255) |
| Pack 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) |
Singleton providing the editor UI controls + inspector drawing.
Unity-like static access for CustomEditor implementations: auto& ui = EditorUI::Get(); ui.DrawDefaultInspector(); ui.PropertyField("speed");
Packages depend on this class instead of ImGui directly: the implementations live in the editor executable and are installed via the callback bridge (BeginComponent for property drawing; widget methods added in later phases), so package editors render with the editor's styled widgets.
The InspectorPanel calls BeginComponent/EndComponent to set up context before invoking CustomEditor::OnInspectorGUI().
| using DekiEditor::EditorUI::DrawPropertyByNameFunc = std::function<void(const char*)> |
Callback types for property drawing.
| 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*)> |
| using DekiEditor::EditorUI::ModifyAssetFunc = std::function<void(const std::string&, const std::string&, const std::string&, const std::string&)> |
|
strong |
|
strong |
|
strong |
|
strong |
|
strong |
|
static |
Get singleton instance.
| void DekiEditor::EditorUI::DrawDefaultInspector | ( | ) |
Draw all default properties for current component.
Equivalent to Unity's DrawDefaultInspector().
| void DekiEditor::EditorUI::PropertyField | ( | size_t | offset | ) |
Draw a specific property by member offset.
| offset | offsetof(ComponentType, member) |
| void DekiEditor::EditorUI::PropertyField | ( | const char * | propertyName | ) |
Draw a specific property by name.
| propertyName | Name of the property to draw |
| std::string DekiEditor::EditorUI::ResolveAssetName | ( | const std::string & | guid | ) |
Resolve asset GUID to display name.
| guid | Asset GUID |
| uint32_t DekiEditor::EditorUI::GetFontAtlasTexture | ( | const std::string & | fontGuid, |
| int | fontSize, | ||
| uint32_t * | outWidth, | ||
| uint32_t * | outHeight ) |
Get font atlas texture for preview.
| fontGuid | Font asset GUID |
| fontSize | Font size |
| outWidth | Output atlas width |
| outHeight | Output atlas height |
| void DekiEditor::EditorUI::ModifyAsset | ( | const std::string & | assetPath, |
| const std::string & | assetGuid, | ||
| const std::string & | oldJson, | ||
| const std::string & | newJson ) |
Modify an asset file with undo/redo support.
| assetPath | Absolute path to the asset file |
| assetGuid | Asset GUID |
| oldJson | Old JSON state (for undo) |
| newJson | New JSON state (to apply) |
| bool DekiEditor::EditorUI::SectionHeader | ( | const char * | label | ) |
| void DekiEditor::EditorUI::PropertyRow | ( | const char * | label | ) |
| 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 ) |
| 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 | ) |
| 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 ) |
|
inlinestatic |
Pack 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/drawing goes.
| void DekiEditor::EditorUI::SetCursorScreenPos | ( | float | x, |
| float | y ) |
Place the layout cursor at an absolute screen position (for custom chrome that positions widgets/draws by hand, e.g.
toolbars).
| void DekiEditor::EditorUI::Dummy | ( | float | width, |
| float | height ) |
Advance the layout cursor by w x h (reserve 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 ) |
| void DekiEditor::EditorUI::MeasureTextCss | ( | float | cssPx, |
| const char * | text, | ||
| float * | outW, | ||
| float * | outH ) |
| 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 (advances layout), e.g.
a texture/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 ) |
| float DekiEditor::EditorUI::GetFrameHeight | ( | ) |
| float DekiEditor::EditorUI::CalcItemWidth | ( | ) |
| 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 ) |
| 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 | ( | ) |
| 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 ) |
| void DekiEditor::EditorUI::EndToolbar | ( | ) |
| void DekiEditor::EditorUI::BeginTabLinks | ( | ) |
| 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 ) |
| 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 ) |
| 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 | ) |
| 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 ) |
| 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 | ( | ) |
| 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 | ( | ) |
| void DekiEditor::EditorUI::SetKeyboardFocusHere | ( | ) |
| bool DekiEditor::EditorUI::InvisibleButton | ( | const char * | id, |
| float | w, | ||
| float | h, | ||
| bool | allowLeft, | ||
| bool | allowMiddle, | ||
| bool | allowRight = false ) |
| void DekiEditor::EditorUI::SetNextItemAllowOverlap | ( | ) |
| 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 |
|
inline |
|
inline |
| void DekiEditor::EditorUI::BeginComponent | ( | DekiComponent * | comp, |
| const DekiComponentMeta * | meta, | ||
| DrawPropertyByNameFunc | drawByName, | ||
| DrawPropertyByOffsetFunc | drawByOffset, | ||
| DrawDefaultPropertiesFunc | drawDefault, | ||
| ResolveAssetNameFunc | resolveAsset, | ||
| GetFontAtlasFunc | getFontAtlas, | ||
| ModifyAssetFunc | modifyAsset = nullptr ) |
Begin editing a component (called by InspectorPanel).
| void DekiEditor::EditorUI::EndComponent | ( | ) |
End editing a component.