1 /* 2 * Copyright (c) 2015 Derelict Developers 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions are 7 * met: 8 * 9 * * Redistributions of source code must retain the above copyright 10 * notice, this list of conditions and the following disclaimer. 11 * 12 * * Redistributions in binary form must reproduce the above copyright 13 * notice, this list of conditions and the following disclaimer in the 14 * documentation and/or other materials provided with the distribution. 15 * 16 * * Neither the names 'Derelict', 'DerelictILUT', nor the names of its contributors 17 * may be used to endorse or promote products derived from this software 18 * without specific prior written permission. 19 * 20 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 21 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 22 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 23 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 24 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 25 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 26 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 27 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 28 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 29 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 30 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 31 */ 32 module derelict.imgui.funcs; 33 34 private 35 { 36 import derelict.util.system; 37 import derelict.imgui.types; 38 import core.stdc.stdarg:va_list; 39 } 40 41 extern(C) @nogc nothrow 42 { 43 alias da_igGetIO = ImGuiIO* function(); 44 alias da_igGetStyle = ImGuiStyle* function(); 45 alias da_igGetDrawData = ImDrawData* function(); 46 alias da_igNewFrame = void function(); 47 alias da_igRender = void function(); 48 alias da_igShutdown = void function(); 49 alias da_igShowUserGuide = void function(); 50 alias da_igShowStyleEditor = void function(ImGuiStyle* ref_); 51 alias da_igShowTestWindow = void function(bool* opened = null); 52 alias da_igShowMetricsWindow = void function(bool* opened = null); 53 54 // Window 55 alias da_igBegin = bool function(const char* name, bool* p_opened = null, ImGuiWindowFlags flags = 0); 56 alias da_igBegin2 = bool function(const char* name, bool* p_opened, const ImVec2 size_on_first_use, float bg_alpha = -1.0f, ImGuiWindowFlags flags = 0); 57 alias da_igEnd = void function(); 58 alias da_igBeginChild = bool function(const char* str_id, const ImVec2 size = ImVec2(0, 0), bool border = false, ImGuiWindowFlags extra_flags = 0); 59 alias da_igBeginChildEx = bool function(ImGuiID id, const ImVec2 size = ImVec2(0, 0), bool border = false, ImGuiWindowFlags extra_flags = 0); 60 alias da_igEndChild = void function(); 61 alias da_igGetContentRegionMax = void function(ImVec2* outParam); 62 alias da_igGetContentRegionAvail = void function(ImVec2* outParam); 63 alias da_igGetContentRegionAvailWidth = float function(); 64 alias da_igGetWindowContentRegionMin = void function(ImVec2* outParam); 65 alias da_igGetWindowContentRegionMax = void function(ImVec2* outParam); 66 alias da_igGetWindowContentRegionWidth = float function(); 67 alias da_igGetWindowDrawList = ImDrawList* function(); 68 alias da_igGetWindowFont = ImFont* function(); 69 alias da_igGetWindowFontSize = float function(); 70 alias da_igSetWindowFontScale = void function(float scale); 71 alias da_igGetWindowPos = void function(ImVec2* outParam); 72 alias da_igGetWindowSize = void function(ImVec2* outParam); 73 alias da_igGetWindowWidth = float function(); 74 alias da_igGetWindowHeight = float function(); 75 alias da_igIsWindowCollapsed = bool function(); 76 77 alias da_igSetNextWindowPos = void function(const ImVec2 pos, ImGuiSetCond cond = 0); 78 alias da_igSetNextWindowPosCenter = void function(ImGuiSetCond cond = 0); 79 alias da_igSetNextWindowSize = void function(const ImVec2 size, ImGuiSetCond cond = 0); 80 alias da_igSetNextWindowCollapsed = void function(bool collapsed, ImGuiSetCond cond = 0); 81 alias da_igSetNextWindowFocus = void function(); 82 alias da_igSetWindowPos = void function(const ImVec2 pos, ImGuiSetCond cond = 0); 83 alias da_igSetWindowSize = void function(const ImVec2 size, ImGuiSetCond cond = 0); 84 alias da_igSetNextWindowContentSize = void function(const ImVec2 size); 85 alias da_igSetNextWindowContentWidth = void function(float width); 86 alias da_igSetWindowCollapsed = void function(bool collapsed, ImGuiSetCond cond = 0); 87 alias da_igSetWindowFocus = void function(); 88 alias da_igSetWindowPosByName = void function(const char* name, const ImVec2 pos, ImGuiSetCond cond = 0); 89 alias da_igSetWindowSize2 = void function(const char* name, const ImVec2 size, ImGuiSetCond cond = 0); 90 alias da_igSetWindowCollapsed2 = void function(const char* name, bool collapsed, ImGuiSetCond cond = 0); 91 alias da_igSetWindowFocus2 = void function(const char* name); 92 93 alias da_igGetScrollX = float function(); 94 alias da_igGetScrollY = float function(); 95 alias da_igGetScrollMaxX = float function(); 96 alias da_igGetScrollMaxY = float function(); 97 alias da_igSetScrollX = void function(int scroll_x); 98 alias da_igSetScrollY = void function(int scroll_y); 99 alias da_igSetScrollHere = void function(float center_y_ratio = 0.5f); 100 alias da_igSetScrollFromPosY = void function(float pos_y, float center_y_ratio = 0.5f); 101 alias da_igSetKeyboardFocusHere = void function(int offset = 0); 102 alias da_igSetStateStorage = void function(ImGuiStorage* tree); 103 alias da_igGetStateStorage = ImGuiStorage* function(); 104 105 alias da_igPushFont = void function(ImFont* font); 106 alias da_igPopFont = void function(); 107 alias da_igPushStyleColor = void function(ImGuiCol idx, const ImVec4 col); 108 alias da_igPopStyleColor = void function(int count = 1); 109 alias da_igPushStyleVar = void function(ImGuiStyleVar idx, float val); 110 alias da_igPushStyleVarVec = void function(ImGuiStyleVar idx, const ImVec2 val); 111 alias da_igPopStyleVar = void function(int count = 1); 112 113 alias da_igPushItemWidth = void function(float item_width); 114 alias da_igPopItemWidth = void function(); 115 alias da_igCalcItemWidth = float function(); 116 alias da_igPushAllowKeyboardFocus = void function(bool v); 117 alias da_igPopAllowKeyboardFocus = void function(); 118 alias da_igPushTextWrapPos = void function(float wrap_pos_x = 0.0f); 119 alias da_igPopTextWrapPos = void function(); 120 alias da_igPushButtonRepeat = void function(bool repeat); 121 alias da_igPopButtonRepeat = void function(); 122 123 alias da_igBeginGroup = void function(); 124 alias da_igEndGroup = void function(); 125 alias da_igSeparator = void function(); 126 alias da_igSameLine = void function(float local_pos_x = 0.0f, float spacing_w = -1.0f); 127 alias da_igSpacing = void function(); 128 alias da_igDummy = void function(const ImVec2* size); 129 alias da_igIndent = void function(); 130 alias da_igUnindent = void function(); 131 alias da_igColumns = void function(int count = 1, const char* id = null, bool border = true); 132 alias da_igNextColumn = void function(); 133 alias da_igGetColumnIndex = int function(); 134 alias da_igGetColumnOffset = float function(int column_index = -1); 135 alias da_igSetColumnOffset = void function(int column_index, float offset_x); 136 alias da_igGetColumnWidth = float function(int column_index = -1); 137 alias da_igGetColumnsCount = int function(); 138 alias da_igGetCursorPos = void function(ImVec2* pOut); 139 alias da_igGetCursorPosX = float function(); 140 alias da_igGetCursorPosY = float function(); 141 alias da_igSetCursorPos = void function(const ImVec2 locl_pos); 142 alias da_igSetCursorPosX = void function(float x); 143 alias da_igSetCursorPosY = void function(float y); 144 alias da_igGetCursorStartPos = void function(ImVec2* pOut); 145 alias da_igGetCursorScreenPos = void function(ImVec2* pOut); 146 alias da_igSetCursorScreenPos = void function(const ImVec2 pos); 147 alias da_igAlignFirstTextHeightToWidgets = void function(); 148 alias da_igGetTextLineHeight = float function(); 149 alias da_igGetTextLineHeightWithSpacing = float function(); 150 alias da_igGetItemsLineHeightWithSpacing = float function(); 151 152 alias da_igPushIdStr = void function(const char* str_id); 153 alias da_igPushIdStrRange = void function(const char* str_begin, const char* str_end); 154 alias da_igPushIdPtr = void function(const void* ptr_id); 155 alias da_igPushIdInt = void function(int int_id); 156 alias da_igPopId = void function(); 157 alias da_igGetIdStr = ImGuiID function(const char* str_id); 158 alias da_igGetIdStrRange = ImGuiID function(const char* str_begin, const char* str_end); 159 alias da_igGetIdPtr = ImGuiID function(const void* ptr_id); 160 161 alias da_igText = void function(const char* fmt, ...); 162 alias da_igTextV = void function(const char* fmt, va_list args); 163 alias da_igTextColored = void function(const ImVec4 col, const char* fmt, ...); 164 alias da_igTextColoredV = void function(const ImVec4 col, const char* fmt, va_list args); 165 alias da_igTextDisabled = void function(const char* fmt, ...); 166 alias da_igTextDisabledV = void function(const char* fmt, va_list args); 167 alias da_igTextWrapped = void function(const char* fmt, ...); 168 alias da_igTextWrappedV = void function(const char* fmt, va_list args); 169 alias da_igTextUnformatted = void function(const char* text, const char* text_end = null); 170 alias da_igLabelText = void function(const char* label, const char* fmt, ...); 171 alias da_igLabelTextV = void function(const char* label, const char* fmt, va_list args); 172 alias da_igBullet = void function(); 173 alias da_igBulletText = void function(const char* fmt, ...); 174 alias da_igBulletTextV = void function(const char* fmt, va_list args); 175 alias da_igButton = bool function(const char* label, const ImVec2 size = ImVec2(0, 0)); 176 alias da_igSmallButton = bool function(const char* label); 177 alias da_igInvisibleButton = bool function(const char* str_id, const ImVec2 size); 178 alias da_igImage = void function(ImTextureID user_texture_id, const ImVec2 size, const ImVec2 uv0 = ImVec2(0, 0), const ImVec2 uv1 = ImVec2(1, 1), const ImVec4 tint_col = ImVec4(1, 1, 1, 1), const ImVec4 border_col = ImVec4(0, 0, 0, 0)); 179 alias da_igImageButton = bool function(ImTextureID user_texture_id, const ImVec2 size, const ImVec2 uv0 = ImVec2(0, 0), const ImVec2 uv1 = ImVec2(1, 1), int frame_padding = -1, const ImVec4 bg_col = ImVec4(0, 0, 0, 0), const ImVec4 tint_col = ImVec4(1, 1, 1, 1)); 180 alias da_igCollapsingHeader = bool function(const char* label, const char* str_id = null, bool display_frame = true, bool default_open = false); 181 alias da_igCheckbox = bool function(const char* label, bool* v); 182 alias da_igCheckboxFlags = bool function(const char* label, uint* flags, uint flags_value); 183 alias da_igRadioButtonBool = bool function(const char* label, bool active); 184 alias da_igRadioButton = bool function(const char* label, int* v, int v_button); 185 alias da_igCombo = bool function(const char* label, int* current_item, const char** items, int items_count, int height_in_items = -1); 186 alias da_igCombo2 = bool function(const char* label, int* current_item, const char* items_separated_by_zeros, int height_in_items = -1); 187 alias da_igCombo3 = bool function(const char* label, int* current_item, bool function(void* data, int idx, const(char)** out_text) items_getter, void* data, int items_count, int height_in_items = -1); 188 alias da_igColorButton = bool function(const ImVec4 col, bool small_height = false, bool outline_border = true); 189 alias da_igColorEdit3 = bool function(const char* label, ref float[3] col); 190 alias da_igColorEdit4 = bool function(const char* label, ref float[4] col, bool show_alpha = true); 191 alias da_igColorEditMode = void function(ImGuiColorEditMode mode); 192 alias da_igPlotLines = void function(const char* label, const float* values, int values_count, int values_offset = 0, const char* overlay_text = null, float scale_min = float.max, float scale_max = float.max, ImVec2 graph_size = ImVec2(0, 0), size_t stride = float.sizeof); 193 alias da_igPlotLines2 = void function(const char* label, float function(void* data, int idx) values_getter, void* data, int values_count, int values_offset = 0, const char* overlay_text = null, float scale_min = float.max, float scale_max = float.max, ImVec2 graph_size = ImVec2(0, 0)); 194 alias da_igPlotHistogram = void function(const char* label, const float* values, int values_count, int values_offset = 0, const char* overlay_text = null, float scale_min = float.max, float scale_max = float.max, ImVec2 graph_size = ImVec2(0, 0), size_t stride = float.sizeof); 195 alias da_igPlotHistogram2 = void function(const char* label, float function(void* data, int idx) values_getter, void* data, int values_count, int values_offset = 0, const char* overlay_text = null, float scale_min = float.max, float scale_max = float.max, ImVec2 graph_size = ImVec2(0, 0)); 196 197 alias da_igSliderFloat = bool function(const char* label, float* v, float v_min, float v_max, const char* display_format = "%.3f", float power = 1.0f); 198 alias da_igSliderFloat2 = bool function(const char* label, ref float[2] v, float v_min, float v_max, const char* display_format = "%.3f", float power = 1.0f); 199 alias da_igSliderFloat3 = bool function(const char* label, ref float[3] v, float v_min, float v_max, const char* display_format = "%.3f", float power = 1.0f); 200 alias da_igSliderFloat4 = bool function(const char* label, ref float[4] v, float v_min, float v_max, const char* display_format = "%.3f", float power = 1.0f); 201 alias da_igSliderAngle = bool function(const char* label, float* v_rad, float v_degrees_min = -360.0f, float v_degrees_max = +360.0f); 202 alias da_igSliderInt = bool function(const char* label, int* v, int v_min, int v_max, const char* display_format = "%.0f"); 203 alias da_igSliderInt2 = bool function(const char* label, ref int[2] v, int v_min, int v_max, const char* display_format = "%.0f"); 204 alias da_igSliderInt3 = bool function(const char* label, ref int[3] v, int v_min, int v_max, const char* display_format = "%.0f"); 205 alias da_igSliderInt4 = bool function(const char* label, ref int[4] v, int v_min, int v_max, const char* display_format = "%.0f"); 206 alias da_igVSliderFloat = bool function(const char* label, const ImVec2 size, float* v, float v_min, float v_max, const char* display_format = "%.3f", float power = 1.0f); 207 alias da_igVSliderInt = bool function(const char* label, const ImVec2 size, int* v, int v_min, int v_max, const char* display_format = "%.0f"); 208 209 alias da_igDragFloat = bool function(const char* label, float* v, float v_speed = 1.0f, float v_min = 0.0f, float v_max = 0.0f, const char* display_format = "%.3f", float power = 1.0f); // If v_max >= v_max we have no bound 210 alias da_igDragFloat2 = bool function(const char* label, ref float[2] v, float v_speed = 1.0f, float v_min = 0.0f, float v_max = 0.0f, const char* display_format = "%.3f", float power = 1.0f); 211 alias da_igDragFloat3 = bool function(const char* label, ref float[3] v, float v_speed = 1.0f, float v_min = 0.0f, float v_max = 0.0f, const char* display_format = "%.3f", float power = 1.0f); 212 alias da_igDragFloat4 = bool function(const char* label, ref float[4] v, float v_speed = 1.0f, float v_min = 0.0f, float v_max = 0.0f, const char* display_format = "%.3f", float power = 1.0f); 213 alias da_igDragFloatRange2 = bool function(const char* label, float* v_current_min, float* v_current_max, float v_speed = 1.0f, float v_min = 0.0f, float v_max = 0.0f, const char* display_format = "%.3f", const char* display_format_max = null, float power = 1.0f); 214 alias da_igDragInt = bool function(const char* label, int* v, float v_speed = 1.0f, int v_min = 0, int v_max = 0, const char* display_format = "%.3f"); // If v_max >= v_max we have no bound 215 alias da_igDragInt2 = bool function(const char* label, ref int[2] v, float v_speed = 1.0f, int v_min = 0, int v_max = 0, const char* display_format = "%.3f"); 216 alias da_igDragInt3 = bool function(const char* label, ref int[3] v, float v_speed = 1.0f, int v_min = 0, int v_max = 0, const char* display_format = "%.3f"); 217 alias da_igDragInt4 = bool function(const char* label, ref int[4] v, float v_speed = 1.0f, int v_min = 0, int v_max = 0, const char* display_format = "%.3f"); 218 alias da_igDragIntRange2 = bool function(const char* label, int* v_current_min, int* v_current_max, float v_speed = 1.0f, int v_min = 0, int v_max = 0, const char* display_format = "%.0f", const char* display_format_max = null); 219 220 alias da_igInputText = bool function(const char* label, char* buf, size_t buf_size, ImGuiInputTextFlags flags = 0, ImGuiTextEditCallback callback = null, void* user_data = null); 221 alias da_igInputTextMultiline = bool function(const char* label, char* buf, size_t buf_size, const ImVec2 size = ImVec2(0,0), ImGuiInputTextFlags flags = 0, ImGuiTextEditCallback callback = null, void* user_data = null); 222 alias da_igInputFloat = bool function(const char* label, float* v, float step = 0.0f, float step_fast = 0.0f, int decimal_precision = -1, ImGuiInputTextFlags extra_flags = 0); 223 alias da_igInputFloat2 = bool function(const char* label, ref float[2] v, int decimal_precision = -1, ImGuiInputTextFlags extra_flags = 0); 224 alias da_igInputFloat3 = bool function(const char* label, ref float[3] v, int decimal_precision = -1, ImGuiInputTextFlags extra_flags = 0); 225 alias da_igInputFloat4 = bool function(const char* label, ref float[4] v, int decimal_precision = -1, ImGuiInputTextFlags extra_flags = 0); 226 alias da_igInputInt = bool function(const char* label, int* v, int step = 1, int step_fast = 100, ImGuiInputTextFlags extra_flags = 0); 227 alias da_igInputInt2 = bool function(const char* label, ref int[2] v, ImGuiInputTextFlags extra_flags = 0); 228 alias da_igInputInt3 = bool function(const char* label, ref int[3] v, ImGuiInputTextFlags extra_flags = 0); 229 alias da_igInputInt4 = bool function(const char* label, ref int[4] v, ImGuiInputTextFlags extra_flags = 0); 230 231 alias da_igTreeNode = bool function(const char* str_label_id); 232 alias da_igTreeNodeStr = bool function(const char* str_id, const char* fmt, ...); 233 alias da_igTreeNodePtr = bool function(const void* ptr_id, const char* fmt, ...); 234 alias da_igTreeNodeStrV = bool function(const char* str_id, const char* fmt, va_list args); 235 alias da_igTreeNodePtrV = bool function(const void* ptr_id, const char* fmt, va_list args); 236 alias da_igTreePushStr = void function(const char* str_id = null); 237 alias da_igTreePushPtr = void function(const void* ptr_id = null); 238 alias da_igTreePop = void function(); 239 alias da_igSetNextTreeNodeOpened = void function(bool opened, ImGuiSetCond cond = 0); 240 241 alias da_igSelectable = bool function(const char* label, bool selected = false, ImGuiSelectableFlags flags = 0, const ImVec2 size = ImVec2(0, 0)); 242 alias da_igSelectableEx = bool function(const char* label, bool* p_selected, ImGuiSelectableFlags flags = 0, const ImVec2 size = ImVec2(0, 0)); 243 244 alias da_igListBox = bool function(const char* label, int* current_item, const char** items, int items_count, int height_in_items = -1); 245 alias da_igListBox2 = bool function(const char* label, int* current_item, bool function(void* data, int idx, const char** out_text) items_getter, void* data, int items_count, int height_in_items = -1); 246 alias da_igListBoxHeader = bool function(const char* label, const ImVec2 size = ImVec2(0, 0)); 247 alias da_igListBoxHeader2 = bool function(const char* label, int items_count, int height_in_items = -1); 248 alias da_igListBoxFooter = void function(); 249 250 alias da_igValueBool = void function(const char* prefix, bool b); 251 alias da_igValueInt = void function(const char* prefix, int v); 252 alias da_igValueUInt = void function(const char* prefix, uint v); 253 alias da_igValueFloat = void function(const char* prefix, float v, const char* float_format = null); 254 alias da_igColor = void function(const char* prefix, const ImVec4 v); 255 alias da_igColor2 = void function(const char* prefix, uint v); 256 257 alias da_igSetTooltip = void function(const(char)* fmt, ...); 258 alias da_igSetTooltipV = void function(const(char)* fmt, va_list args); 259 alias da_igBeginTooltip = void function(); 260 alias da_igEndTooltip = void function(); 261 262 // Widgets: Menus 263 alias da_igBeginMainMenuBar = bool function(); 264 alias da_igEndMainMenuBar = void function(); 265 alias da_igBeginMenuBar = bool function(); 266 alias da_igEndMenuBar = void function(); 267 alias da_igBeginMenu = bool function(const(char)* label, bool enabled = true); 268 alias da_igEndMenu = void function(); 269 alias da_igMenuItem = bool function(const(char)* label, const(char)* shortcut, bool selected = false, bool enabled = true); 270 alias da_igMenuItemPtr = bool function(const(char)* label, const(char)* shortcut, bool* p_selected, bool enabled = true); 271 272 alias da_igOpenPopup = void function(const(char)* str_id); 273 alias da_igBeginPopup = bool function(const(char)* str_id); 274 alias da_igBeginPopupModal = bool function(const(char)* name, bool* p_opened = null, ImGuiWindowFlags extra_flags = 0); 275 alias da_igBeginPopupContextItem = bool function(const(char)* str_id, int mouse_button = 1); 276 alias da_igBeginPopupContextWindow = bool function(bool also_over_items = true, const(char)* str_id = null, int mouse_button = 1); 277 alias da_igBeginPopupContextVoid = bool function(const char* str_id = null, int mouse_button = 1); 278 alias da_igEndPopup = void function(); 279 alias da_igCloseCurrentPopup = void function(); 280 281 alias da_igLogToTTY = void function(int max_depth = -1); 282 alias da_igLogToFile = void function(int max_depth = -1, const char* filename = null); 283 alias da_igLogToClipboard = void function(int max_depth = -1); 284 alias da_igLogFinish = void function(); 285 alias da_igLogButtons = void function(); 286 alias da_igLogText = void function(const char* fmt, ...); 287 288 alias da_igIsItemHovered = bool function(); 289 alias da_igIsItemHoveredRect = bool function(); 290 alias da_igIsItemActive = bool function(); 291 alias da_igIsItemVisible = bool function(); 292 alias da_igIsAnyItemHovered = bool function(); 293 alias da_igIsAnyItemActive = bool function(); 294 alias da_igGetItemRectMin = void function(ImVec2* pOut); 295 alias da_igGetItemRectMax = void function(ImVec2* pOut); 296 alias da_igGetItemRectSize = void function(ImVec2* pOut); 297 alias da_igIsWindowHovered = bool function(); 298 alias da_igIsWindowFocused = bool function(); 299 alias da_igIsRootWindowFocused = bool function(); 300 alias da_igIsRootWindowOrAnyChildFocused = bool function(); 301 alias da_igIsRectVisible = bool function(const ImVec2 item_size); 302 alias da_igIsKeyDown = bool function(int key_index); 303 alias da_igIsKeyPressed = bool function(int key_index, bool repeat = true); 304 alias da_igIsKeyReleased = bool function(int key_index); 305 alias da_igIsMouseDown = bool function(int button); 306 alias da_igIsMouseClicked = bool function(int button, bool repeat = false); 307 alias da_igIsMouseDoubleClicked = bool function(int button); 308 alias da_igIsMouseReleased = bool function(int button); 309 alias da_igIsMouseHoveringWindow = bool function(); 310 alias da_igIsMouseHoveringAnyWindow = bool function(); 311 alias da_igIsMouseHoveringRect = bool function(const ImVec2 pos_min, const ImVec2 pos_max, bool clip = true); 312 alias da_igIsMouseDragging = bool function(int button = 0, float lock_threshold = -1.0f); 313 alias da_igIsPosHoveringAnyWindow = bool function(const ImVec2 pos); 314 alias da_igGetMousePos = void function(ImVec2* pOut); 315 alias da_igGetMousePosOnOpeningCurrentPopup = void function(ImVec2* pOut); 316 alias da_igGetMouseDragDelta = void function(ImVec2* pOut, int button = 0, float lock_threshold = -1.0f); 317 alias da_igResetMouseDragDelta = void function(int button=0); 318 alias da_igGetMouseCursor = ImGuiMouseCursor function(); 319 alias da_igSetMouseCursor = void function(ImGuiMouseCursor type); 320 alias da_igCaptureKeyboardFromApp = void function(); 321 alias da_igCaptureMouseFromApp = void function(); 322 323 324 alias da_igMemAlloc = void* function(size_t sz); 325 alias da_igMemFree = void function(void* ptr); 326 alias da_igGetClipboardText = const(char)* function(); 327 alias da_igSetClipboardText = void function(const(char)* text); 328 329 alias da_igGetTime = float function(); 330 alias da_igGetFrameCount = int function(); 331 alias da_igGetStyleColName = const(char)* function(ImGuiCol idx); 332 alias da_igCalcItemRectClosestPoint = void function(ImVec2* pOut, const ImVec2 pos, bool on_edge = false, float outward = +0.0f); 333 alias da_igCalcTextSize = void function(ImVec2* pOut, const char* text, const char* text_end = null, bool hide_text_after_double_hash = false, float wrap_width = -1.0f); 334 alias da_igCalcListClipping = void function(int items_count, float items_height, int* out_items_display_start, int* out_items_display_end); 335 336 alias da_igBeginChildFrame = bool function(ImGuiID id, const ImVec2 size, ImGuiWindowFlags extra_flags = 0); 337 alias da_igEndChildFrame = void function(); 338 339 alias da_igColorConvertU32ToFloat4 = void function(ImVec4* pOut, ImU32 in_); 340 alias da_igColorConvertFloat4ToU32 = ImU32 function(const ImVec4 in_); 341 alias da_igColorConvertRGBtoHSV = void function(float r, float g, float b, float* out_h, float* out_s, float* out_v); 342 alias da_igColorConvertHSVtoRGB = void function(float h, float s, float v, float* out_r, float* out_g, float* out_b); 343 344 alias da_igGetVersion = const(char)* function(); 345 alias da_igGetInternalState = void* function(); 346 alias da_igGetInternalStateSize = size_t function(); 347 alias da_igSetInternalState = void function(void* state, bool con= false); 348 } 349 350 // ImFontAtlas Methods 351 extern(C) @nogc nothrow 352 { 353 alias da_ImFontAtlas_GetTexDataAsRGBA32 = void function(ImFontAtlas* atlas,ubyte** out_pixels,int* out_width,int* out_height,int* out_bytes_per_pixel); 354 alias da_ImFontAtlas_GetTexDataAsAlpha8 = void function(ImFontAtlas* atlas,ubyte** out_pixels,int* out_width,int* out_height,int* out_bytes_per_pixel); 355 alias da_ImFontAtlas_SetTexID = void function(ImFontAtlas* atlas, void* id); 356 alias da_ImFontAtlas_AddFont = ImFont* function(ImFontAtlas* atlas, const ImFontConfig* font_cfg); 357 alias da_ImFontAtlas_AddFontDefault = ImFont* function(ImFontAtlas* atlas, const ImFontConfig* font_cfg); 358 alias da_ImFontAtlas_AddFontFromFileTTF = ImFont* function(ImFontAtlas* atlas, const char* filename, float size_pixels, const ImFontConfig* font_cfg, const ImWchar* glyph_ranges = null); 359 alias da_ImFontAtlas_AddFontFromMemoryTTF = ImFont* function(ImFontAtlas* atlas, void* ttf_data, int ttf_size, float size_pixels, const ImFontConfig* font_cfg, const ImWchar* glyph_ranges = null); 360 alias da_ImFontAtlas_AddFontFromMemoryCompressedTTF = ImFont* function(ImFontAtlas* atlas, const void* compressed_ttf_data, int compressed_ttf_size, float size_pixels, const ImFontConfig* font_cfg = null, const ImWchar* glyph_ranges = null); 361 alias da_ImFontAtlas_AddFontFromMemoryCompressedBase85TTF = ImFont* function(ImFontAtlas* atlas, const char* compressed_ttf_data_base85, float size_pixels, const ImFontConfig* font_cfg = null, const ImWchar* glyph_ranges = null); 362 363 alias da_ImFontAtlas_ClearTexData = void function(ImFontAtlas* atlas, void* id); 364 alias da_ImFontAtlas_Clear = void function(ImFontAtlas* atlas, void* id); 365 } 366 367 //TODO: rework 368 extern(C) @nogc nothrow 369 { 370 alias da_ImDrawList_GetVertexBufferSize = int function(ImDrawList* list); 371 alias da_ImDrawList_GetVertexPtr = ImDrawVert* function(ImDrawList* list, int n); 372 alias da_ImDrawList_GetIndexBufferSize = int function(ImDrawList* list); 373 alias da_ImDrawList_GetIndexPtr = ImDrawIdx* function(ImDrawList* list, int n); 374 alias da_ImDrawList_GetCmdSize = int function(ImDrawList* list); 375 alias da_ImDrawList_GetCmdPtr = ImDrawCmd* function(ImDrawList* list, int n); 376 377 alias da_ImDrawData_DeIndexAllBuffers = void function(ImDrawData* drawData); 378 379 alias da_ImGuiIO_AddInputCharacter = void function(ushort c); 380 alias da_ImGuiIO_AddInputCharactersUTF8 = void function(const(char*) utf8_chars); 381 382 //--------------------------------------------------- 383 alias da_ImDrawList_Clear = void function(ImDrawList* list); 384 alias da_ImDrawList_ClearFreeMemory = void function(ImDrawList* list); 385 alias da_ImDrawList_PushClipRect = void function(ImDrawList* list, const ImVec4 clip_rect); 386 alias da_ImDrawList_PushClipRectFullScreen = void function(ImDrawList* list); 387 alias da_ImDrawList_PopClipRect = void function(ImDrawList* list); 388 alias da_ImDrawList_PushTextureID = void function(ImDrawList* list, const ImTextureID texture_id); 389 alias da_ImDrawList_PopTextureID = void function(ImDrawList* list); 390 alias da_ImDrawList_AddLine = void function(ImDrawList* list, const ImVec2 a, const ImVec2 b, ImU32 col, float thickness = 1.0f); 391 alias da_ImDrawList_AddRect = void function(ImDrawList* list, const ImVec2 a, const ImVec2 b, ImU32 col, float rounding = 0.0f, int rounding_corners = 0x0F); 392 alias da_ImDrawList_AddRectFilled = void function(ImDrawList* list, const ImVec2 a, const ImVec2 b, ImU32 col, float rounding = 0.0f, int rounding_corners = 0x0F); 393 alias da_ImDrawList_AddRectFilledMultiColor = void function(ImDrawList* list, const ImVec2 a, const ImVec2 b, ImU32 col_upr_left, ImU32 col_upr_right, ImU32 col_bot_right, ImU32 col_bot_left); 394 alias da_ImDrawList_AddTriangleFilled = void function(ImDrawList* list, const ImVec2 a, const ImVec2 b, const ImVec2 c, ImU32 col); 395 alias da_ImDrawList_AddCircle = void function(ImDrawList* list, const ImVec2 centre, float radius, ImU32 col, int num_segments = 12); 396 alias da_ImDrawList_AddCircleFilled = void function(ImDrawList* list, const ImVec2 centre, float radius, ImU32 col, int num_segments = 12); 397 alias da_ImDrawList_AddText = void function(ImDrawList* list, const ImVec2 pos, ImU32 col, const char* text_begin, const char* text_end = null); 398 alias da_ImDrawList_AddTextExt = void function(ImDrawList* list, const ImFont* font, float font_size, const ImVec2 pos, ImU32 col, const char* text_begin, const char* text_end = null, float wrap_width = 0.0f, const ImVec4* cpu_fine_clip_rect = null); 399 alias da_ImDrawList_AddImage = void function(ImDrawList* list, ImTextureID user_texture_id, const ImVec2 a, const ImVec2 b, const ImVec2 uv0, const ImVec2 uv1, ImU32 col = 0xFFFFFFFF); 400 alias da_ImDrawList_AddPolyline = void function(ImDrawList* list, const ImVec2* points, const int num_points, ImU32 col, bool closed, float thickness, bool anti_aliased); 401 alias da_ImDrawList_AddConvexPolyFilled = void function(ImDrawList* list, const ImVec2* points, const int num_points, ImU32 col, bool anti_aliased); 402 alias da_ImDrawList_AddBezierCurve = void function(ImDrawList* list, const ImVec2 pos0, const ImVec2 cp0, const ImVec2 cp1, const ImVec2 pos1, ImU32 col, float thickness, int num_segments = 0); 403 alias da_ImDrawList_PathClear = void function(ImDrawList* list); 404 alias da_ImDrawList_PathLineTo = void function(ImDrawList* list, const ImVec2 pos); 405 alias da_ImDrawList_PathLineToMergeDuplicate = void function(ImDrawList* list, const ImVec2 pos); 406 alias da_ImDrawList_PathFill = void function(ImDrawList* list, ImU32 col); 407 alias da_ImDrawList_PathStroke = void function(ImDrawList* list, ImU32 col, bool closed, float thickness = 1.0f); 408 alias da_ImDrawList_PathArcTo = void function(ImDrawList* list, const ImVec2 centre, float radius, float a_min, float a_max, int num_segments = 10); 409 alias da_ImDrawList_PathArcToFast = void function(ImDrawList* list, const ImVec2 centre, float radius, int a_min_of_12, int a_max_of_12); 410 alias da_ImDrawList_PathBezierCurveTo = void function(ImDrawList* list, const ImVec2 p1, const ImVec2 p2, const ImVec2 p3, int num_segments = 0); 411 alias da_ImDrawList_PathRect = void function(ImDrawList* list, const ImVec2 rect_min, const ImVec2 rect_max, float rounding = 0.0f, int rounding_corners = 0x0F); 412 alias da_ImDrawList_ChannelsSplit = void function(ImDrawList* list, int channels_count); 413 alias da_ImDrawList_ChannelsMerge = void function(ImDrawList* list); 414 alias da_ImDrawList_ChannelsSetCurrent = void function(ImDrawList* list, int channel_index); 415 alias da_ImDrawList_AddCallback = void function(ImDrawList* list, ImDrawCallback callback, void* callback_data); 416 alias da_ImDrawList_AddDrawCmd = void function(ImDrawList* list); 417 alias da_ImDrawList_PrimReserve = void function(ImDrawList* list, int idx_count, int vtx_count); 418 alias da_ImDrawList_PrimRect = void function(ImDrawList* list, const ImVec2 a, const ImVec2 b, ImU32 col); 419 alias da_ImDrawList_PrimRectUV = void function(ImDrawList* list, const ImVec2 a, const ImVec2 b, const ImVec2 uv_a, const ImVec2 uv_b, ImU32 col); 420 alias da_ImDrawList_PrimVtx = void function(ImDrawList* list, const ImVec2 pos, const ImVec2 uv, ImU32 col); 421 alias da_ImDrawList_PrimWriteVtx = void function(ImDrawList* list, const ImVec2 pos, const ImVec2 uv, ImU32 col); 422 alias da_ImDrawList_PrimWriteIdx = void function(ImDrawList* list, ImDrawIdx idx); 423 alias da_ImDrawList_UpdateClipRect = void function(ImDrawList* list); 424 alias da_ImDrawList_UpdateTextureID = void function(ImDrawList* list); 425 426 //----------------------------------------------------------------------------- 427 // Internal API 428 // No guarantee of forward compatibility here. 429 //----------------------------------------------------------------------------- 430 alias da_igGetCurrentWindowRead = ImGuiWindow* function(); 431 alias da_igGetCurrentWindow = ImGuiWindow* function(); 432 alias da_igGetParentWindow = ImGuiWindow* function(); 433 alias da_igFocusWindow = void function(ImGuiWindow* window); 434 alias da_igSetActiveID = void function(ImGuiID id, ImGuiWindow* window); 435 alias da_igKeepAliveID = void function(ImGuiID id); 436 alias da_igItemSize = void function(const ImVec2 size, float text_offset_y = 0.0f); 437 alias da_igItemSize2 = void function(const ImRect bb, float text_offset_y = 0.0f); 438 alias da_igItemAdd = bool function(const ImRect bb, const ImGuiID* id); 439 alias da_igIsClippedEx = bool function(const ImRect bb, const ImGuiID* id, bool clip_even_when_logged); 440 alias da_igIsHovered = bool function(const ImRect bb, ImGuiID id, bool flatten_childs = false); 441 alias da_igFocusableItemRegister = bool function(ImGuiWindow* window, bool is_active, bool tab_stop = true); 442 alias da_igFocusableItemUnregister = void function(ImGuiWindow* window); 443 alias da_igCalcWrapWidthForPos = float function(const ImVec2 pos, float wrap_pos_x); 444 alias da_igRenderText = void function(ImVec2 pos, const char* text, const char* text_end = null, bool hide_text_after_hash = true); 445 alias da_igRenderTextWrapped = void function(ImVec2 pos, const char* text, const char* text_end, float wrap_width); 446 alias da_igRenderTextClipped = void function(const ImVec2 pos_min, const ImVec2 pos_max, const char* text, const char* text_end, const ImVec2* text_size_if_known, ImGuiAlign align_ = ImGuiAlign_Default, const ImVec2* clip_min = null, const ImVec2* clip_max = null); 447 alias da_igRenderFrame = void function(ImVec2 p_min, ImVec2 p_max, ImU32 fill_col, bool border = true, float rounding = 0.0f); 448 alias da_igRenderCollapseTriangle = void function(ImVec2 p_min, bool opened, float scale = 1.0f, bool shadow = false); 449 alias da_igRenderCheckMark = void function(ImVec2 pos, ImU32 col); 450 alias da_igButtonBehavior = bool function(const ImRect bb, ImGuiID id, bool* out_hovered, bool* out_held, bool allow_key_modifiers, ImGuiButtonFlags flags = 0); 451 alias da_igButtonEx = bool function(const char* label, const ImVec2 size_arg = ImVec2(0, 0), ImGuiButtonFlags flags = 0); 452 alias da_igSliderBehavior = bool function(const ImRect frame_bb, ImGuiID id, float* v, float v_min, float v_max, float power, int decimal_precision, bool horizontal); 453 alias da_igSliderFloatN = bool function(const char* label, float* v, int components, float v_min, float v_max, const char* display_format, float power); 454 alias da_igSliderIntN = bool function(const char* label, int* v, int components, int v_min, int v_max, const char* display_format); 455 alias da_igDragBehavior = bool function(const ImRect frame_bb, ImGuiID id, float* v, float v_speed, float v_min, float v_max, int decimal_precision, float power); 456 alias da_igDragFloatN = bool function(const char* label, float* v, int components, float v_speed, float v_min, float v_max, const char* display_format, float power); 457 alias da_igDragIntN = bool function(const char* label, int* v, int components, float v_speed, int v_min, int v_max, const char* display_format); 458 alias da_igInputTextEx = bool function(const char* label, char* buf, int buf_size, const ImVec2 size_arg, ImGuiInputTextFlags flags, ImGuiTextEditCallback callback = null, void* user_data = null); 459 alias da_igInputFloatN = bool function(const char* label, float* v, int components, int decimal_precision, ImGuiInputTextFlags extra_flags); 460 alias da_igInputIntN = bool function(const char* label, int* v, int components, ImGuiInputTextFlags extra_flags); 461 alias da_igTreeNodeBehaviorIsOpened = bool function(ImGuiID id, ImGuiTreeNodeFlags flags = 0); 462 alias da_igParseFormatPrecision = int function(const char* fmt, int default_value); 463 alias da_igRoundScalar = float function(float value, int decimal_precision); 464 alias da_igGetImGuiState = ImGuiState* function(); 465 alias da_igGetSkipItems = bool function(ImGuiWindow* window); 466 467 // namespace ImGuiP 468 } 469 470 __gshared 471 { 472 da_igGetIO igGetIO; 473 da_igGetStyle igGetStyle; 474 da_igGetDrawData igGetDrawData; 475 da_igNewFrame igNewFrame; 476 da_igRender igRender; 477 da_igShutdown igShutdown; 478 da_igShowUserGuide igShowUserGuide; 479 da_igShowStyleEditor igShowStyleEditor; 480 da_igShowTestWindow igShowTestWindow; 481 da_igShowMetricsWindow igShowMetricsWindow; 482 483 da_igBegin igBegin; 484 da_igBegin2 igBegin2; 485 da_igEnd igEnd; 486 da_igBeginChild igBeginChild; 487 da_igBeginChildEx igBeginChildEx; 488 da_igEndChild igEndChild; 489 da_igGetContentRegionMax igGetContentRegionMax; 490 da_igGetContentRegionAvail igGetContentRegionAvail; 491 da_igGetContentRegionAvailWidth igGetContentRegionAvailWidth; 492 da_igGetWindowContentRegionMin igGetWindowContentRegionMin; 493 da_igGetWindowContentRegionMax igGetWindowContentRegionMax; 494 da_igGetWindowContentRegionWidth igGetWindowContentRegionWidth; 495 da_igGetWindowDrawList igGetWindowDrawList; 496 da_igGetWindowFont igGetWindowFont; 497 da_igGetWindowFontSize igGetWindowFontSize; 498 da_igSetWindowFontScale igSetWindowFontScale; 499 da_igGetWindowPos igGetWindowPos; 500 da_igGetWindowSize igGetWindowSize; 501 da_igGetWindowWidth igGetWindowWidth; 502 da_igGetWindowHeight igGetWindowHeight; 503 da_igIsWindowCollapsed igIsWindowCollapsed; 504 505 da_igSetNextWindowPos igSetNextWindowPos; 506 da_igSetNextWindowPosCenter igSetNextWindowPosCenter; 507 da_igSetNextWindowSize igSetNextWindowSize; 508 da_igSetNextWindowCollapsed igSetNextWindowCollapsed; 509 da_igSetNextWindowFocus igSetNextWindowFocus; 510 da_igSetWindowPos igSetWindowPos; 511 da_igSetWindowSize igSetWindowSize; 512 da_igSetNextWindowContentSize igSetNextWindowContentSize; 513 da_igSetNextWindowContentWidth igSetNextWindowContentWidth; 514 da_igSetWindowCollapsed igSetWindowCollapsed; 515 da_igSetWindowFocus igSetWindowFocus; 516 da_igSetWindowPosByName igSetWindowPosByName; 517 da_igSetWindowSize2 igSetWindowSize2; 518 da_igSetWindowCollapsed2 igSetWindowCollapsed2; 519 da_igSetWindowFocus2 igSetWindowFocus2; 520 521 da_igGetScrollX igGetScrollX; 522 da_igGetScrollY igGetScrollY; 523 da_igGetScrollMaxX igGetScrollMaxX; 524 da_igGetScrollMaxY igGetScrollMaxY; 525 da_igSetScrollX igSetScrollX; 526 da_igSetScrollY igSetScrollY; 527 da_igSetScrollHere igSetScrollHere; 528 da_igSetScrollFromPosY igSetScrollFromPosY; 529 da_igSetKeyboardFocusHere igSetKeyboardFocusHere; 530 da_igSetStateStorage igSetStateStorage; 531 da_igGetStateStorage igGetStateStorage; 532 533 da_igPushFont igPushFont; 534 da_igPopFont igPopFont; 535 da_igPushStyleColor igPushStyleColor; 536 da_igPopStyleColor igPopStyleColor; 537 da_igPushStyleVar igPushStyleVar; 538 da_igPushStyleVarVec igPushStyleVarVec; 539 da_igPopStyleVar igPopStyleVar; 540 541 da_igPushItemWidth igPushItemWidth; 542 da_igPopItemWidth igPopItemWidth; 543 da_igCalcItemWidth igCalcItemWidth; 544 da_igPushAllowKeyboardFocus igPushAllowKeyboardFocus; 545 da_igPopAllowKeyboardFocus igPopAllowKeyboardFocus; 546 da_igPushTextWrapPos igPushTextWrapPos; 547 da_igPopTextWrapPos igPopTextWrapPos; 548 da_igPushButtonRepeat igPushButtonRepeat; 549 da_igPopButtonRepeat igPopButtonRepeat; 550 551 da_igSetTooltip igSetTooltip; 552 da_igSetTooltipV igSetTooltipV; 553 da_igBeginTooltip igBeginTooltip; 554 da_igEndTooltip igEndTooltip; 555 556 da_igOpenPopup igOpenPopup; 557 da_igBeginPopup igBeginPopup; 558 da_igBeginPopupModal igBeginPopupModal; 559 da_igBeginPopupContextItem igBeginPopupContextItem; 560 da_igBeginPopupContextWindow igBeginPopupContextWindow; 561 da_igBeginPopupContextVoid igBeginPopupContextVoid; 562 da_igEndPopup igEndPopup; 563 da_igCloseCurrentPopup igCloseCurrentPopup; 564 565 da_igBeginGroup igBeginGroup; 566 da_igEndGroup igEndGroup; 567 da_igSeparator igSeparator; 568 da_igSameLine igSameLine; 569 da_igSpacing igSpacing; 570 da_igDummy igDummy; 571 da_igIndent igIndent; 572 da_igUnindent igUnindent; 573 da_igColumns igColumns; 574 da_igNextColumn igNextColumn; 575 da_igGetColumnIndex igGetColumnIndex; 576 da_igGetColumnOffset igGetColumnOffset; 577 da_igSetColumnOffset igSetColumnOffset; 578 da_igGetColumnWidth igGetColumnWidth; 579 da_igGetColumnsCount igGetColumnsCount; 580 da_igGetCursorPos igGetCursorPos; 581 da_igGetCursorPosX igGetCursorPosX; 582 da_igGetCursorPosY igGetCursorPosY; 583 da_igSetCursorPos igSetCursorPos; 584 da_igSetCursorPosX igSetCursorPosX; 585 da_igSetCursorPosY igSetCursorPosY; 586 da_igGetCursorStartPos igGetCursorStartPos; 587 da_igGetCursorScreenPos igGetCursorScreenPos; 588 da_igSetCursorScreenPos igSetCursorScreenPos; 589 da_igAlignFirstTextHeightToWidgets igAlignFirstTextHeightToWidgets; 590 da_igGetTextLineHeight igGetTextLineHeight; 591 da_igGetTextLineHeightWithSpacing igGetTextLineHeightWithSpacing; 592 da_igGetItemsLineHeightWithSpacing igGetItemsLineHeightWithSpacing; 593 594 da_igPushIdStr igPushIdStr; 595 da_igPushIdStrRange igPushIdStrRange; 596 da_igPushIdPtr igPushIdPtr; 597 da_igPushIdInt igPushIdInt; 598 da_igPopId igPopId; 599 da_igGetIdStr igGetIdStr; 600 da_igGetIdStrRange igGetIdStrRange; 601 da_igGetIdPtr igGetIdPtr; 602 603 da_igText igText; 604 da_igTextV igTextV; 605 da_igTextColored igTextColored; 606 da_igTextColoredV igTextColoredV; 607 da_igTextDisabled igTextDisabled; 608 da_igTextDisabledV igTextDisabledV; 609 da_igTextWrapped igTextWrapped; 610 da_igTextWrappedV igTextWrappedV; 611 da_igTextUnformatted igTextUnformatted; 612 da_igLabelText igLabelText; 613 da_igLabelTextV igLabelTextV; 614 da_igBullet igBullet; 615 da_igBulletText igBulletText; 616 da_igBulletTextV igBulletTextV; 617 da_igButton igButton; 618 da_igSmallButton igSmallButton; 619 da_igInvisibleButton igInvisibleButton; 620 da_igImage igImage; 621 da_igImageButton igImageButton; 622 da_igCollapsingHeader igCollapsingHeader; 623 da_igCheckbox igCheckbox; 624 da_igCheckboxFlags igCheckboxFlags; 625 da_igRadioButtonBool igRadioButtonBool; 626 da_igRadioButton igRadioButton; 627 da_igCombo igCombo; 628 da_igCombo2 igCombo2; 629 da_igCombo3 igCombo3; 630 da_igColorButton igColorButton; 631 da_igColorEdit3 igColorEdit3; 632 da_igColorEdit4 igColorEdit4; 633 da_igColorEditMode igColorEditMode; 634 da_igPlotLines igPlotLines; 635 da_igPlotLines2 igPlotLines2; 636 da_igPlotHistogram igPlotHistogram; 637 da_igPlotHistogram2 igPlotHistogram2; 638 639 da_igSliderFloat igSliderFloat; 640 da_igSliderFloat2 igSliderFloat2; 641 da_igSliderFloat3 igSliderFloat3; 642 da_igSliderFloat4 igSliderFloat4; 643 da_igSliderAngle igSliderAngle; 644 da_igSliderInt igSliderInt; 645 da_igSliderInt2 igSliderInt2; 646 da_igSliderInt3 igSliderInt3; 647 da_igSliderInt4 igSliderInt4; 648 da_igVSliderFloat igVSliderFloat; 649 da_igVSliderInt igVSliderInt; 650 651 da_igDragFloat igDragFloat; 652 da_igDragFloat2 igDragFloat2; 653 da_igDragFloat3 igDragFloat3; 654 da_igDragFloat4 igDragFloat4; 655 da_igDragFloatRange2 igDragFloatRange2; 656 da_igDragInt igDragInt; 657 da_igDragInt2 igDragInt2; 658 da_igDragInt3 igDragInt3; 659 da_igDragInt4 igDragInt4; 660 da_igDragIntRange2 igDragIntRange2; 661 662 da_igInputText igInputText; 663 da_igInputTextMultiline igInputTextMultiline; 664 da_igInputFloat igInputFloat; 665 da_igInputFloat2 igInputFloat2; 666 da_igInputFloat3 igInputFloat3; 667 da_igInputFloat4 igInputFloat4; 668 da_igInputInt igInputInt; 669 da_igInputInt2 igInputInt2; 670 da_igInputInt3 igInputInt3; 671 da_igInputInt4 igInputInt4; 672 673 da_igTreeNode igTreeNode; 674 da_igTreeNodeStr igTreeNodeStr; 675 da_igTreeNodePtr igTreeNodePtr; 676 da_igTreeNodeStrV igTreeNodeStrV; 677 da_igTreeNodePtrV igTreeNodePtrV; 678 da_igTreePushStr igTreePushStr; 679 da_igTreePushPtr igTreePushPtr; 680 da_igTreePop igTreePop; 681 da_igSetNextTreeNodeOpened igSetNextTreeNodeOpened; 682 683 da_igSelectable igSelectable; 684 da_igSelectableEx igSelectableEx; 685 da_igListBox igListBox; 686 da_igListBox2 igListBox2; 687 da_igListBoxHeader igListBoxHeader; 688 da_igListBoxHeader2 igListBoxHeader2; 689 da_igListBoxFooter igListBoxFooter; 690 691 da_igBeginMainMenuBar igBeginMainMenuBar; 692 da_igEndMainMenuBar igEndMainMenuBar; 693 da_igBeginMenuBar igBeginMenuBar; 694 da_igEndMenuBar igEndMenuBar; 695 da_igBeginMenu igBeginMenu; 696 da_igEndMenu igEndMenu; 697 da_igMenuItem igMenuItem; 698 da_igMenuItemPtr igMenuItemPtr; 699 700 da_igValueBool igValueBool; 701 da_igValueInt igValueInt; 702 da_igValueUInt igValueUInt; 703 da_igValueFloat igValueFloat; 704 da_igColor igColor; 705 da_igColor2 igColor2; 706 707 da_igLogToTTY igLogToTTY; 708 da_igLogToFile igLogToFile; 709 da_igLogToClipboard igLogToClipboard; 710 da_igLogFinish igLogFinish; 711 da_igLogButtons igLogButtons; 712 da_igLogText igLogText; 713 714 da_igIsItemHovered igIsItemHovered; 715 da_igIsItemHoveredRect igIsItemHoveredRect; 716 da_igIsItemActive igIsItemActive; 717 da_igIsItemVisible igIsItemVisible; 718 da_igIsAnyItemHovered igIsAnyItemHovered; 719 da_igIsAnyItemActive igIsAnyItemActive; 720 da_igGetItemRectMin igGetItemRectMin; 721 da_igGetItemRectMax igGetItemRectMax; 722 da_igGetItemRectSize igGetItemRectSize; 723 da_igIsWindowHovered igIsWindowHovered; 724 da_igIsWindowFocused igIsWindowFocused; 725 da_igIsRootWindowFocused igIsRootWindowFocused; 726 da_igIsRootWindowOrAnyChildFocused igIsRootWindowOrAnyChildFocused; 727 da_igIsRectVisible igIsRectVisible; 728 da_igIsKeyDown igIsKeyDown; 729 da_igIsKeyPressed igIsKeyPressed; 730 da_igIsKeyReleased igIsKeyReleased; 731 da_igIsMouseDown igIsMouseDown; 732 da_igIsMouseClicked igIsMouseClicked; 733 da_igIsMouseDoubleClicked igIsMouseDoubleClicked; 734 da_igIsMouseReleased igIsMouseReleased; 735 da_igIsMouseHoveringWindow igIsMouseHoveringWindow; 736 da_igIsMouseHoveringAnyWindow igIsMouseHoveringAnyWindow; 737 da_igIsMouseHoveringRect igIsMouseHoveringRect; 738 da_igIsMouseDragging igIsMouseDragging; 739 da_igIsPosHoveringAnyWindow igIsPosHoveringAnyWindow; 740 da_igGetMousePos igGetMousePos; 741 da_igGetMousePosOnOpeningCurrentPopup igGetMousePosOnOpeningCurrentPopup; 742 da_igGetMouseDragDelta igGetMouseDragDelta; 743 da_igResetMouseDragDelta igResetMouseDragDelta; 744 da_igGetMouseCursor igGetMouseCursor; 745 da_igSetMouseCursor igSetMouseCursor; 746 da_igCaptureKeyboardFromApp igCaptureKeyboardFromApp; 747 da_igCaptureMouseFromApp igCaptureMouseFromApp; 748 749 750 da_igMemAlloc igMemAlloc; 751 da_igMemFree igMemFree; 752 da_igGetClipboardText igGetClipboardText; 753 da_igSetClipboardText igSetClipboardText; 754 755 da_igGetTime igGetTime; 756 da_igGetFrameCount igGetFrameCount; 757 da_igGetStyleColName igGetStyleColName; 758 da_igCalcItemRectClosestPoint igCalcItemRectClosestPoint; 759 da_igCalcTextSize igCalcTextSize; 760 da_igCalcListClipping igCalcListClipping; 761 762 da_igBeginChildFrame igBeginChildFrame; 763 da_igEndChildFrame igEndChildFrame; 764 765 da_igColorConvertU32ToFloat4 igColorConvertU32ToFloat4; 766 da_igColorConvertFloat4ToU32 igColorConvertFloat4ToU32; 767 da_igColorConvertRGBtoHSV igColorConvertRGBtoHSV; 768 da_igColorConvertHSVtoRGB igColorConvertHSVtoRGB; 769 770 da_igGetVersion igGetVersion; 771 da_igGetInternalState igGetInternalState; 772 da_igGetInternalStateSize igGetInternalStateSize; 773 da_igSetInternalState igSetInternalState; 774 } 775 776 __gshared 777 { 778 da_ImFontAtlas_GetTexDataAsRGBA32 ImFontAtlas_GetTexDataAsRGBA32; 779 da_ImFontAtlas_GetTexDataAsAlpha8 ImFontAtlas_GetTexDataAsAlpha8; 780 da_ImFontAtlas_SetTexID ImFontAtlas_SetTexID; 781 da_ImFontAtlas_AddFont ImFontAtlas_AddFont; 782 da_ImFontAtlas_AddFontDefault ImFontAtlas_AddFontDefault; 783 da_ImFontAtlas_AddFontFromFileTTF ImFontAtlas_AddFontFromFileTTF; 784 da_ImFontAtlas_AddFontFromMemoryTTF ImFontAtlas_AddFontFromMemoryTTF; 785 da_ImFontAtlas_AddFontFromMemoryCompressedTTF ImFontAtlas_AddFontFromMemoryCompressedTTF; 786 da_ImFontAtlas_AddFontFromMemoryCompressedBase85TTF ImFontAtlas_AddFontFromMemoryCompressedBase85TTF; 787 da_ImFontAtlas_ClearTexData ImFontAtlas_ClearTexData; 788 da_ImFontAtlas_Clear ImFontAtlas_Clear; 789 } 790 791 //TODO: rework 792 __gshared 793 { 794 da_ImDrawList_GetVertexBufferSize ImDrawList_GetVertexBufferSize; 795 da_ImDrawList_GetVertexPtr ImDrawList_GetVertexPtr; 796 da_ImDrawList_GetIndexBufferSize ImDrawList_GetIndexBufferSize; 797 da_ImDrawList_GetIndexPtr ImDrawList_GetIndexPtr; 798 da_ImDrawList_GetCmdSize ImDrawList_GetCmdSize; 799 da_ImDrawList_GetCmdPtr ImDrawList_GetCmdPtr; 800 801 da_ImDrawData_DeIndexAllBuffers ImDrawData_DeIndexAllBuffers; 802 803 da_ImDrawList_Clear ImDrawList_Clear; 804 da_ImDrawList_ClearFreeMemory ImDrawList_ClearFreeMemory; 805 da_ImDrawList_PushClipRect ImDrawList_PushClipRect; 806 da_ImDrawList_PushClipRectFullScreen ImDrawList_PushClipRectFullScreen; 807 da_ImDrawList_PopClipRect ImDrawList_PopClipRect; 808 da_ImDrawList_PushTextureID ImDrawList_PushTextureID; 809 da_ImDrawList_PopTextureID ImDrawList_PopTextureID; 810 da_ImDrawList_AddLine ImDrawList_AddLine; 811 da_ImDrawList_AddRect ImDrawList_AddRect; 812 da_ImDrawList_AddRectFilled ImDrawList_AddRectFilled; 813 da_ImDrawList_AddRectFilledMultiColor ImDrawList_AddRectFilledMultiColor; 814 da_ImDrawList_AddTriangleFilled ImDrawList_AddTriangleFilled; 815 da_ImDrawList_AddCircle ImDrawList_AddCircle; 816 da_ImDrawList_AddCircleFilled ImDrawList_AddCircleFilled; 817 da_ImDrawList_AddText ImDrawList_AddText; 818 da_ImDrawList_AddTextExt ImDrawList_AddTextExt; 819 da_ImDrawList_AddImage ImDrawList_AddImage; 820 da_ImDrawList_AddPolyline ImDrawList_AddPolyline; 821 da_ImDrawList_AddConvexPolyFilled ImDrawList_AddConvexPolyFilled; 822 da_ImDrawList_AddBezierCurve ImDrawList_AddBezierCurve; 823 da_ImDrawList_PathClear ImDrawList_PathClear; 824 da_ImDrawList_PathLineTo ImDrawList_PathLineTo; 825 da_ImDrawList_PathLineToMergeDuplicate ImDrawList_PathLineToMergeDuplicate; 826 da_ImDrawList_PathFill ImDrawList_PathFill; 827 da_ImDrawList_PathStroke ImDrawList_PathStroke; 828 da_ImDrawList_PathArcTo ImDrawList_PathArcTo; 829 da_ImDrawList_PathArcToFast ImDrawList_PathArcToFast; 830 da_ImDrawList_PathBezierCurveTo ImDrawList_PathBezierCurveTo; 831 da_ImDrawList_PathRect ImDrawList_PathRect; 832 da_ImDrawList_ChannelsSplit ImDrawList_ChannelsSplit; 833 da_ImDrawList_ChannelsMerge ImDrawList_ChannelsMerge; 834 da_ImDrawList_ChannelsSetCurrent ImDrawList_ChannelsSetCurrent; 835 da_ImDrawList_AddCallback ImDrawList_AddCallback; 836 da_ImDrawList_AddDrawCmd ImDrawList_AddDrawCmd; 837 da_ImDrawList_PrimReserve ImDrawList_PrimReserve; 838 da_ImDrawList_PrimRect ImDrawList_PrimRect; 839 da_ImDrawList_PrimRectUV ImDrawList_PrimRectUV; 840 da_ImDrawList_PrimVtx ImDrawList_PrimVtx; 841 da_ImDrawList_PrimWriteVtx ImDrawList_PrimWriteVtx; 842 da_ImDrawList_PrimWriteIdx ImDrawList_PrimWriteIdx; 843 da_ImDrawList_UpdateClipRect ImDrawList_UpdateClipRect; 844 da_ImDrawList_UpdateTextureID ImDrawList_UpdateTextureID; 845 846 da_ImGuiIO_AddInputCharacter ImGuiIO_AddInputCharacter; 847 da_ImGuiIO_AddInputCharactersUTF8 ImGuiIO_AddInputCharactersUTF8; 848 } 849 850 __gshared 851 { 852 da_igGetCurrentWindowRead igGetCurrentWindowRead; 853 da_igGetCurrentWindow igGetCurrentWindow; 854 da_igGetParentWindow igGetParentWindow; 855 da_igFocusWindow igFocusWindow; 856 da_igSetActiveID igSetActiveID; 857 da_igKeepAliveID igKeepAliveID; 858 da_igItemSize igItemSize; 859 da_igItemSize2 igItemSize2; 860 da_igItemAdd igItemAdd; 861 da_igIsClippedEx igIsClippedEx; 862 da_igIsHovered igIsHovered; 863 da_igFocusableItemRegister igFocusableItemRegister; 864 da_igFocusableItemUnregister igFocusableItemUnregister; 865 da_igCalcWrapWidthForPos igCalcWrapWidthForPos; 866 da_igRenderText igRenderText; 867 da_igRenderTextWrapped igRenderTextWrapped; 868 da_igRenderTextClipped igRenderTextClipped; 869 da_igRenderFrame igRenderFrame; 870 da_igRenderCollapseTriangle igRenderCollapseTriangle; 871 da_igRenderCheckMark igRenderCheckMark; 872 da_igButtonBehavior igButtonBehavior; 873 da_igButtonEx igButtonEx; 874 da_igSliderBehavior igSliderBehavior; 875 da_igSliderFloatN igSliderFloatN; 876 da_igSliderIntN igSliderIntN; 877 da_igDragBehavior igDragBehavior; 878 da_igDragFloatN igDragFloatN; 879 da_igDragIntN igDragIntN; 880 da_igInputTextEx igInputTextEx; 881 da_igInputFloatN igInputFloatN; 882 da_igInputIntN igInputIntN; 883 da_igTreeNodeBehaviorIsOpened igTreeNodeBehaviorIsOpened; 884 da_igParseFormatPrecision igParseFormatPrecision; 885 da_igRoundScalar igRoundScalar; 886 887 da_igGetImGuiState igGetImGuiState; 888 da_igGetSkipItems igGetSkipItems; 889 }