Conquer Space 0.0.0
A space themed grand strategy game set in the near future, with realistic orbital mechanics, and an emphasis on economics and politics.
imguifunctiondefs.h
Go to the documentation of this file.
1/* Conquer Space
2 * Copyright (C) 2021-2025 Conquer Space
3 *
4 * This program is free software: you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation, either version 3 of the License, or
7 * (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program. If not, see <https://www.gnu.org/licenses/>.
16 */
17#pragma once
18
19#include <imgui.h>
20
21#include <string>
22#include <utility>
23
24#include <sol/sol.hpp>
25
27// Windows
28bool Begin(const std::string& name);
29std::tuple<bool, bool> Begin(const std::string& name, bool open);
30std::tuple<bool, bool> Begin(const std::string& name, bool open, int flags);
31void End();
32
33// Child Windows
34bool BeginChild(const std::string& name);
35bool BeginChild(const std::string& name, float sizeX);
36bool BeginChild(const std::string& name, float sizeX, float sizeY);
37bool BeginChild(const std::string& name, float sizeX, float sizeY, bool border);
38bool BeginChild(const std::string& name, float sizeX, float sizeY, bool border, int flags);
39void EndChild();
40
41// Windows Utilities
44bool IsWindowFocused();
45bool IsWindowFocused(int flags);
46bool IsWindowHovered();
47bool IsWindowHovered(int flags);
48ImDrawList* GetWindowDrawList();
49float GetWindowDpiScale(); // TODO: Unsupported for now
50ImGuiViewport* GetWindowViewport();
51std::tuple<float, float> GetWindowPos();
52std::tuple<float, float> GetWindowSize();
53float GetWindowWidth();
54float GetWindowHeight();
55
56// Prefer using SetNext...
57void SetNextWindowPos(float posX, float posY);
58void SetNextWindowPos(float posX, float posY, int cond);
59void SetNextWindowPos(float posX, float posY, int cond, float pivotX, float pivotY);
60void SetNextWindowSize(float sizeX, float sizeY);
61void SetNextWindowSize(float sizeX, float sizeY, int cond);
62void SetNextWindowSizeConstraints(float minX, float minY, float maxX, float maxY);
63void SetNextWindowContentSize(float sizeX, float sizeY);
64void SetNextWindowCollapsed(bool collapsed);
65void SetNextWindowCollapsed(bool collapsed, int cond);
67void SetNextWindowBgAlpha(float alpha);
68void SetWindowPos(float posX, float posY);
69void SetWindowPos(float posX, float posY, int cond);
70void SetWindowSize(float sizeX, float sizeY);
71void SetWindowSize(float sizeX, float sizeY, int cond);
72void SetWindowCollapsed(bool collapsed);
73void SetWindowCollapsed(bool collapsed, int cond);
74void SetWindowFocus();
75void SetWindowFontScale(float scale);
76void SetWindowPos(const std::string& name, float posX, float posY);
77void SetWindowPos(const std::string& name, float posX, float posY, int cond);
78void SetWindowSize(const std::string& name, float sizeX, float sizeY);
79void SetWindowSize(const std::string& name, float sizeX, float sizeY, int cond);
80void SetWindowCollapsed(const std::string& name, bool collapsed);
81void SetWindowCollapsed(const std::string& name, bool collapsed, int cond);
82void SetWindowFocus(const std::string& name);
83
84// Content Region
85std::tuple<float, float> GetContentRegionMax();
86std::tuple<float, float> GetContentRegionAvail();
87std::tuple<float, float> GetWindowContentRegionMin();
88std::tuple<float, float> GetWindowContentRegionMax();
90
91std::tuple<float, float> GetDisplaySize();
92
93// Windows Scrolling
94float GetScrollX();
95float GetScrollY();
96float GetScrollMaxX();
97float GetScrollMaxY();
98void SetScrollX(float scrollX);
99void SetScrollY(float scrollY);
100void SetScrollHereX();
101void SetScrollHereX(float centerXRatio);
102void SetScrollHereY();
103void SetScrollHereY(float centerYRatio);
104void SetScrollFromPosX(float localX);
105void SetScrollFromPosX(float localX, float centerXRatio);
106void SetScrollFromPosY(float localY);
107void SetScrollFromPosY(float localY, float centerYRatio);
108
109// Parameters stacks (shared)
110void PushFont(ImFont* pFont);
111void PopFont();
112#ifdef SOL_IMGUI_USE_COLOR_U32
113void PushStyleColor(int idx, int col);
114#endif
115void PushStyleColor(int idx, float colR, float colG, float colB, float colA);
116void PopStyleColor();
117void PopStyleColor(int count);
118void PushStyleVar(int idx, float val);
119void PushStyleVar(int idx, float valX, float valY);
120void PopStyleVar();
121void PopStyleVar(int count);
122std::tuple<float, float, float, float> GetStyleColorVec4(int idx);
123ImFont* GetFont();
124float GetFontSize();
125std::tuple<float, float> GetFontTexUvWhitePixel();
126#ifdef SOL_IMGUI_USE_COLOR_U32
127int GetColorU32(int idx, float alphaMul);
128int GetColorU32(float colR, float colG, float colB, float colA);
129int GetColorU32(int col);
130#endif
131
132// Parameters stacks (current window)
133void PushItemWidth(float itemWidth);
134void PopItemWidth();
135void SetNextItemWidth(float itemWidth);
136float CalcItemWidth();
137void PushTextWrapPos();
138void PushTextWrapPos(float wrapLocalPosX);
139void PopTextWrapPos();
140void PushAllowKeyboardFocus(bool allowKeyboardFocus);
142void PushButtonRepeat(bool repeat);
143void PopButtonRepeat();
144
145// Cursor / Layout
146void Separator();
147void SameLine();
148void SameLine(float offsetFromStartX);
149void SameLine(float offsetFromStartX, float spacing);
150void NewLine();
151void Spacing();
152void Dummy(float sizeX, float sizeY);
153void Indent();
154void Indent(float indentW);
155void Unindent();
156void Unindent(float indentW);
157void BeginGroup();
158void EndGroup();
159std::tuple<float, float> GetCursorPos();
160float GetCursorPosX();
161float GetCursorPosY();
162void SetCursorPos(float localX, float localY);
163void SetCursorPosX(float localX);
164void SetCursorPosY(float localY);
165std::tuple<float, float> GetCursorStartPos();
166std::tuple<float, float> GetCursorScreenPos();
167void SetCursorScreenPos(float posX, float posY);
169float GetTextLineHeight();
171float GetFrameHeight();
173
174// ID stack / scopes
175void PushID(const std::string& stringID);
176void PushID(const std::string& stringIDBegin, const std::string& stringIDEnd);
177void PushID(const void*);
178void PushID(int intID);
179void PopID();
180int GetID(const std::string& stringID);
181int GetID(const std::string& stringIDBegin, const std::string& stringIDEnd);
182int GetID(const void*);
183
184// Widgets: Text
185void TextUnformatted(const std::string& text);
186void TextUnformatted(const std::string& text, const std::string& textEnd);
187void Text(const std::string& text);
188void TextColored(float colR, float colG, float colB, float colA, const std::string& text);
189void TextDisabled(const std::string& text);
190void TextWrapped(const std::string& text);
191void LabelText(const std::string& label, const std::string& text);
192void BulletText(const std::string& text);
193
194// Widgets: Main
195bool Button(const std::string& label);
196bool Button(const std::string& label, float sizeX, float sizeY);
197bool SmallButton(const std::string& label);
198bool InvisibleButton(const std::string& stringID, float sizeX, float sizeY);
199bool ArrowButton(const std::string& stringID, int dir);
200void Image();
201void ImageButton();
202std::tuple<bool, bool> Checkbox(const std::string& label, bool v);
203bool CheckboxFlags();
204bool RadioButton(const std::string& label, bool active);
205std::tuple<int, bool> RadioButton(const std::string& label, int v, int vButton);
206void ProgressBar(float fraction);
207void ProgressBar(float fraction, float sizeX, float sizeY);
208void ProgressBar(float fraction, float sizeX, float sizeY, const std::string& overlay);
209void Bullet();
210
211// Widgets: Combo Box
212bool BeginCombo(const std::string& label, const std::string& previewValue);
213bool BeginCombo(const std::string& label, const std::string& previewValue, int flags);
214void EndCombo();
215std::tuple<int, bool> Combo(const std::string& label, int currentItem, const sol::table& items, int itemsCount);
216std::tuple<int, bool> Combo(const std::string& label, int currentItem, const sol::table& items, int itemsCount,
217 int popupMaxHeightInItems);
218std::tuple<int, bool> Combo(const std::string& label, int currentItem, const std::string& itemsSeparatedByZeros);
219std::tuple<int, bool> Combo(const std::string& label, int currentItem, const std::string& itemsSeparatedByZeros,
220 int popupMaxHeightInItems);
221// TODO: 3rd Combo from ImGui not Supported
222
223// Widgets: Drags
224std::tuple<float, bool> DragFloat(const std::string& label, float v);
225std::tuple<float, bool> DragFloat(const std::string& label, float v, float v_speed);
226std::tuple<float, bool> DragFloat(const std::string& label, float v, float v_speed, float v_min);
227std::tuple<float, bool> DragFloat(const std::string& label, float v, float v_speed, float v_min, float v_max);
228std::tuple<float, bool> DragFloat(const std::string& label, float v, float v_speed, float v_min, float v_max,
229 const std::string& format);
230std::tuple<float, bool> DragFloat(const std::string& label, float v, float v_speed, float v_min, float v_max,
231 const std::string& format, float power);
232std::tuple<sol::as_table_t<std::vector<float>>, bool> DragFloat2(const std::string& label, const sol::table& v);
233std::tuple<sol::as_table_t<std::vector<float>>, bool> DragFloat2(const std::string& label, const sol::table& v,
234 float v_speed);
235std::tuple<sol::as_table_t<std::vector<float>>, bool> DragFloat2(const std::string& label, const sol::table& v,
236 float v_speed, float v_min);
237std::tuple<sol::as_table_t<std::vector<float>>, bool> DragFloat2(const std::string& label, const sol::table& v,
238 float v_speed, float v_min, float v_max);
239std::tuple<sol::as_table_t<std::vector<float>>, bool> DragFloat2(const std::string& label, const sol::table& v,
240 float v_speed, float v_min, float v_max,
241 const std::string& format);
242std::tuple<sol::as_table_t<std::vector<float>>, bool> DragFloat2(const std::string& label, const sol::table& v,
243 float v_speed, float v_min, float v_max,
244 const std::string& format, float power);
245std::tuple<sol::as_table_t<std::vector<float>>, bool> DragFloat3(const std::string& label, const sol::table& v);
246std::tuple<sol::as_table_t<std::vector<float>>, bool> DragFloat3(const std::string& label, const sol::table& v,
247 float v_speed);
248std::tuple<sol::as_table_t<std::vector<float>>, bool> DragFloat3(const std::string& label, const sol::table& v,
249 float v_speed, float v_min);
250std::tuple<sol::as_table_t<std::vector<float>>, bool> DragFloat3(const std::string& label, const sol::table& v,
251 float v_speed, float v_min, float v_max);
252std::tuple<sol::as_table_t<std::vector<float>>, bool> DragFloat3(const std::string& label, const sol::table& v,
253 float v_speed, float v_min, float v_max,
254 const std::string& format);
255std::tuple<sol::as_table_t<std::vector<float>>, bool> DragFloat3(const std::string& label, const sol::table& v,
256 float v_speed, float v_min, float v_max,
257 const std::string& format, float power);
258std::tuple<sol::as_table_t<std::vector<float>>, bool> DragFloat4(const std::string& label, const sol::table& v);
259std::tuple<sol::as_table_t<std::vector<float>>, bool> DragFloat4(const std::string& label, const sol::table& v,
260 float v_speed);
261std::tuple<sol::as_table_t<std::vector<float>>, bool> DragFloat4(const std::string& label, const sol::table& v,
262 float v_speed, float v_min);
263std::tuple<sol::as_table_t<std::vector<float>>, bool> DragFloat4(const std::string& label, const sol::table& v,
264 float v_speed, float v_min, float v_max);
265std::tuple<sol::as_table_t<std::vector<float>>, bool> DragFloat4(const std::string& label, const sol::table& v,
266 float v_speed, float v_min, float v_max,
267 const std::string& format);
268std::tuple<sol::as_table_t<std::vector<float>>, bool> DragFloat4(const std::string& label, const sol::table& v,
269 float v_speed, float v_min, float v_max,
270 const std::string& format, float power);
271void DragFloatRange2();
272std::tuple<int, bool> DragInt(const std::string& label, int v);
273std::tuple<int, bool> DragInt(const std::string& label, int v, float v_speed);
274std::tuple<int, bool> DragInt(const std::string& label, int v, float v_speed, int v_min);
275std::tuple<int, bool> DragInt(const std::string& label, int v, float v_speed, int v_min, int v_max);
276std::tuple<int, bool> DragInt(const std::string& label, int v, float v_speed, int v_min, int v_max,
277 const std::string& format);
278std::tuple<sol::as_table_t<std::vector<int>>, bool> DragInt2(const std::string& label, const sol::table& v);
279std::tuple<sol::as_table_t<std::vector<int>>, bool> DragInt2(const std::string& label, const sol::table& v,
280 float v_speed);
281std::tuple<sol::as_table_t<std::vector<int>>, bool> DragInt2(const std::string& label, const sol::table& v,
282 float v_speed, int v_min);
283std::tuple<sol::as_table_t<std::vector<int>>, bool> DragInt2(const std::string& label, const sol::table& v,
284 float v_speed, int v_min, int v_max);
285std::tuple<sol::as_table_t<std::vector<int>>, bool> DragInt2(const std::string& label, const sol::table& v,
286 float v_speed, int v_min, int v_max,
287 const std::string& format);
288std::tuple<sol::as_table_t<std::vector<int>>, bool> DragInt3(const std::string& label, const sol::table& v);
289std::tuple<sol::as_table_t<std::vector<int>>, bool> DragInt3(const std::string& label, const sol::table& v,
290 float v_speed);
291std::tuple<sol::as_table_t<std::vector<int>>, bool> DragInt3(const std::string& label, const sol::table& v,
292 float v_speed, int v_min);
293std::tuple<sol::as_table_t<std::vector<int>>, bool> DragInt3(const std::string& label, const sol::table& v,
294 float v_speed, int v_min, int v_max);
295std::tuple<sol::as_table_t<std::vector<int>>, bool> DragInt3(const std::string& label, const sol::table& v,
296 float v_speed, int v_min, int v_max,
297 const std::string& format);
298std::tuple<sol::as_table_t<std::vector<int>>, bool> DragInt4(const std::string& label, const sol::table& v);
299std::tuple<sol::as_table_t<std::vector<int>>, bool> DragInt4(const std::string& label, const sol::table& v,
300 float v_speed);
301std::tuple<sol::as_table_t<std::vector<int>>, bool> DragInt4(const std::string& label, const sol::table& v,
302 float v_speed, int v_min);
303std::tuple<sol::as_table_t<std::vector<int>>, bool> DragInt4(const std::string& label, const sol::table& v,
304 float v_speed, int v_min, int v_max);
305std::tuple<sol::as_table_t<std::vector<int>>, bool> DragInt4(const std::string& label, const sol::table& v,
306 float v_speed, int v_min, int v_max,
307 const std::string& format);
308void DragIntRange2();
309void DragScalar();
310void DragScalarN();
311
312// Widgets: Sliders
313std::tuple<float, bool> SliderFloat(const std::string& label, float v, float v_min, float v_max);
314std::tuple<float, bool> SliderFloat(const std::string& label, float v, float v_min, float v_max,
315 const std::string& format);
316std::tuple<float, bool> SliderFloat(const std::string& label, float v, float v_min, float v_max,
317 const std::string& format, float power);
318std::tuple<sol::as_table_t<std::vector<float>>, bool> SliderFloat2(const std::string& label, const sol::table& v,
319 float v_min, float v_max);
320std::tuple<sol::as_table_t<std::vector<float>>, bool> SliderFloat2(const std::string& label, const sol::table& v,
321 float v_min, float v_max, const std::string& format);
322std::tuple<sol::as_table_t<std::vector<float>>, bool> SliderFloat2(const std::string& label, const sol::table& v,
323 float v_min, float v_max, const std::string& format,
324 float power);
325std::tuple<sol::as_table_t<std::vector<float>>, bool> SliderFloat3(const std::string& label, const sol::table& v,
326 float v_min, float v_max);
327std::tuple<sol::as_table_t<std::vector<float>>, bool> SliderFloat3(const std::string& label, const sol::table& v,
328 float v_min, float v_max, const std::string& format);
329std::tuple<sol::as_table_t<std::vector<float>>, bool> SliderFloat3(const std::string& label, const sol::table& v,
330 float v_min, float v_max, const std::string& format,
331 float power);
332std::tuple<sol::as_table_t<std::vector<float>>, bool> SliderFloat4(const std::string& label, const sol::table& v,
333 float v_min, float v_max);
334std::tuple<sol::as_table_t<std::vector<float>>, bool> SliderFloat4(const std::string& label, const sol::table& v,
335 float v_min, float v_max, const std::string& format);
336std::tuple<sol::as_table_t<std::vector<float>>, bool> SliderFloat4(const std::string& label, const sol::table& v,
337 float v_min, float v_max, const std::string& format,
338 float power);
339std::tuple<float, bool> SliderAngle(const std::string& label, float v_rad);
340std::tuple<float, bool> SliderAngle(const std::string& label, float v_rad, float v_degrees_min);
341std::tuple<float, bool> SliderAngle(const std::string& label, float v_rad, float v_degrees_min, float v_degrees_max);
342std::tuple<float, bool> SliderAngle(const std::string& label, float v_rad, float v_degrees_min, float v_degrees_max,
343 const std::string& format);
344std::tuple<int, bool> SliderInt(const std::string& label, int v, int v_min, int v_max);
345std::tuple<int, bool> SliderInt(const std::string& label, int v, int v_min, int v_max, const std::string& format);
346std::tuple<sol::as_table_t<std::vector<int>>, bool> SliderInt2(const std::string& label, const sol::table& v, int v_min,
347 int v_max);
348std::tuple<sol::as_table_t<std::vector<int>>, bool> SliderInt2(const std::string& label, const sol::table& v, int v_min,
349 int v_max, const std::string& format);
350std::tuple<sol::as_table_t<std::vector<int>>, bool> SliderInt3(const std::string& label, const sol::table& v, int v_min,
351 int v_max);
352std::tuple<sol::as_table_t<std::vector<int>>, bool> SliderInt3(const std::string& label, const sol::table& v, int v_min,
353 int v_max, const std::string& format);
354std::tuple<sol::as_table_t<std::vector<int>>, bool> SliderInt4(const std::string& label, const sol::table& v, int v_min,
355 int v_max);
356std::tuple<sol::as_table_t<std::vector<int>>, bool> SliderInt4(const std::string& label, const sol::table& v, int v_min,
357 int v_max, const std::string& format);
358void SliderScalar();
359void SliderScalarN();
360std::tuple<float, bool> VSliderFloat(const std::string& label, float sizeX, float sizeY, float v, float v_min,
361 float v_max);
362std::tuple<float, bool> VSliderFloat(const std::string& label, float sizeX, float sizeY, float v, float v_min,
363 float v_max, const std::string& format);
364std::tuple<float, bool> VSliderFloat(const std::string& label, float sizeX, float sizeY, float v, float v_min,
365 float v_max, const std::string& format, float power);
366std::tuple<int, bool> VSliderInt(const std::string& label, float sizeX, float sizeY, int v, int v_min, int v_max);
367std::tuple<int, bool> VSliderInt(const std::string& label, float sizeX, float sizeY, int v, int v_min, int v_max,
368 const std::string& format);
369void VSliderScalar();
370
371// Widgets: Input with Keyboard
372std::tuple<std::string, bool> InputText(const std::string& label, std::string text, unsigned int buf_size);
373std::tuple<std::string, bool> InputText(const std::string& label, std::string text, unsigned int buf_size, int flags);
374std::tuple<std::string, bool> InputTextMultiline(const std::string& label, std::string text, unsigned int buf_size);
375std::tuple<std::string, bool> InputTextMultiline(const std::string& label, std::string text, unsigned int buf_size,
376 float sizeX, float sizeY);
377std::tuple<std::string, bool> InputTextMultiline(const std::string& label, std::string text, unsigned int buf_size,
378 float sizeX, float sizeY, int flags);
379std::tuple<std::string, bool> InputTextWithHint(const std::string& label, const std::string& hint, std::string text,
380 unsigned int buf_size);
381std::tuple<std::string, bool> InputTextWithHint(const std::string& label, const std::string& hint, std::string text,
382 unsigned int buf_size, int flags);
383std::tuple<float, bool> InputFloat(const std::string& label, float v);
384std::tuple<float, bool> InputFloat(const std::string& label, float v, float step);
385std::tuple<float, bool> InputFloat(const std::string& label, float v, float step, float step_fast);
386std::tuple<float, bool> InputFloat(const std::string& label, float v, float step, float step_fast,
387 const std::string& format);
388std::tuple<float, bool> InputFloat(const std::string& label, float v, float step, float step_fast,
389 const std::string& format, int flags);
390std::tuple<sol::as_table_t<std::vector<float>>, bool> InputFloat2(const std::string& label, const sol::table& v);
391std::tuple<sol::as_table_t<std::vector<float>>, bool> InputFloat2(const std::string& label, const sol::table& v,
392 const std::string& format);
393std::tuple<sol::as_table_t<std::vector<float>>, bool> InputFloat2(const std::string& label, const sol::table& v,
394 const std::string& format, int flags);
395std::tuple<sol::as_table_t<std::vector<float>>, bool> InputFloat3(const std::string& label, const sol::table& v);
396std::tuple<sol::as_table_t<std::vector<float>>, bool> InputFloat3(const std::string& label, const sol::table& v,
397 const std::string& format);
398std::tuple<sol::as_table_t<std::vector<float>>, bool> InputFloat3(const std::string& label, const sol::table& v,
399 const std::string& format, int flags);
400std::tuple<sol::as_table_t<std::vector<float>>, bool> InputFloat4(const std::string& label, const sol::table& v);
401std::tuple<sol::as_table_t<std::vector<float>>, bool> InputFloat4(const std::string& label, const sol::table& v,
402 const std::string& format);
403std::tuple<sol::as_table_t<std::vector<float>>, bool> InputFloat4(const std::string& label, const sol::table& v,
404 const std::string& format, int flags);
405std::tuple<int, bool> InputInt(const std::string& label, int v);
406std::tuple<int, bool> InputInt(const std::string& label, int v, int step);
407std::tuple<int, bool> InputInt(const std::string& label, int v, int step, int step_fast);
408std::tuple<int, bool> InputInt(const std::string& label, int v, int step, int step_fast, int flags);
409std::tuple<sol::as_table_t<std::vector<int>>, bool> InputInt2(const std::string& label, const sol::table& v);
410std::tuple<sol::as_table_t<std::vector<int>>, bool> InputInt2(const std::string& label, const sol::table& v, int flags);
411std::tuple<sol::as_table_t<std::vector<int>>, bool> InputInt3(const std::string& label, const sol::table& v);
412std::tuple<sol::as_table_t<std::vector<int>>, bool> InputInt3(const std::string& label, const sol::table& v, int flags);
413std::tuple<sol::as_table_t<std::vector<int>>, bool> InputInt4(const std::string& label, const sol::table& v);
414std::tuple<sol::as_table_t<std::vector<int>>, bool> InputInt4(const std::string& label, const sol::table& v, int flags);
415std::tuple<double, bool> InputDouble(const std::string& label, double v);
416std::tuple<double, bool> InputDouble(const std::string& label, double v, double step);
417std::tuple<double, bool> InputDouble(const std::string& label, double v, double step, double step_fast);
418std::tuple<double, bool> InputDouble(const std::string& label, double v, double step, double step_fast,
419 const std::string& format);
420std::tuple<double, bool> InputDouble(const std::string& label, double v, double step, double step_fast,
421 const std::string& format, int flags);
422void InputScalar();
423void InputScalarN();
424
425// Widgets: Color Editor / Picker
426std::tuple<sol::as_table_t<std::vector<float>>, bool> ColorEdit3(const std::string& label, const sol::table& col);
427std::tuple<sol::as_table_t<std::vector<float>>, bool> ColorEdit3(const std::string& label, const sol::table& col,
428 int flags);
429std::tuple<sol::as_table_t<std::vector<float>>, bool> ColorEdit4(const std::string& label, const sol::table& col);
430std::tuple<sol::as_table_t<std::vector<float>>, bool> ColorEdit4(const std::string& label, const sol::table& col,
431 int flags);
432std::tuple<sol::as_table_t<std::vector<float>>, bool> ColorPicker3(const std::string& label, const sol::table& col);
433std::tuple<sol::as_table_t<std::vector<float>>, bool> ColorPicker3(const std::string& label, const sol::table& col,
434 int flags);
435std::tuple<sol::as_table_t<std::vector<float>>, bool> ColorPicker4(const std::string& label, const sol::table& col);
436std::tuple<sol::as_table_t<std::vector<float>>, bool> ColorPicker4(const std::string& label, const sol::table& col,
437 int flags);
438bool ColorButton(const std::string& desc_id, const sol::table& col);
439bool ColorButton(const std::string& desc_id, const sol::table& col, int flags);
440bool ColorButton(const std::string& desc_id, const sol::table& col, int flags, float sizeX, float sizeY);
441void SetColorEditOptions(int flags);
442
443// Widgets: Trees
444bool TreeNode(const std::string& label);
445bool TreeNode(const std::string& label, const std::string& fmt);
446/* TODO: TreeNodeV(...) (2) ==> UNSUPPORTED */
447bool TreeNodeEx(const std::string& label);
448bool TreeNodeEx(const std::string& label, int flags);
449bool TreeNodeEx(const std::string& label, int flags, const std::string& fmt);
450/* TODO: TreeNodeExV(...) (2) ==> UNSUPPORTED */
451void TreePush(const std::string& str_id);
452/* TODO: TreePush(const void*) ==> UNSUPPORTED */
453void TreePop();
455bool CollapsingHeader(const std::string& label);
456bool CollapsingHeader(const std::string& label, int flags);
457std::tuple<bool, bool> CollapsingHeader(const std::string& label, bool open);
458std::tuple<bool, bool> CollapsingHeader(const std::string& label, bool open, int flags);
459void SetNextItemOpen(bool is_open);
460void SetNextItemOpen(bool is_open, int cond);
461
462// Widgets: Selectables
463// TODO: Only one of Selectable variations is possible due to same parameters for Lua
464bool Selectable(const std::string& label);
465bool Selectable(const std::string& label, bool selected);
466bool Selectable(const std::string& label, bool selected, int flags);
467bool Selectable(const std::string& label, bool selected, int flags, float sizeX, float sizeY);
468
469// Widgets: List Boxes
470std::tuple<int, bool> ListBox(const std::string& label, int current_item, const sol::table& items, int items_count);
471std::tuple<int, bool> ListBox(const std::string& label, int current_item, const sol::table& items, int items_count,
472 int height_in_items);
473bool ListBoxHeader(const std::string& label, float sizeX, float sizeY);
474bool ListBoxHeader(const std::string& label, int items_count);
475bool ListBoxHeader(const std::string& label, int items_count, int height_in_items);
476void ListBoxFooter();
477
478// Widgets: Data Plotting
479/* TODO: Widgets Data Plotting ==> UNSUPPORTED (barely used and quite long functions) */
480
481// Widgets: Value() helpers
482void Value(const std::string& prefix, bool b);
483void Value(const std::string& prefix, int v);
484void Value(const std::string& prefix, unsigned int v);
485void Value(const std::string& prefix, float v);
486void Value(const std::string& prefix, float v, const std::string& float_format);
487
488// Widgets: Menus
489bool BeginMenuBar();
490void EndMenuBar();
491bool BeginMainMenuBar();
492void EndMainMenuBar();
493bool BeginMenu(const std::string& label);
494bool BeginMenu(const std::string& label, bool enabled);
495void EndMenu();
496bool MenuItem(const std::string& label);
497bool MenuItem(const std::string& label, const std::string& shortcut);
498std::tuple<bool, bool> MenuItem(const std::string& label, const std::string& shortcut, bool selected);
499std::tuple<bool, bool> MenuItem(const std::string& label, const std::string& shortcut, bool selected, bool enabled);
500
501// Tooltips
502void BeginTooltip();
503void EndTooltip();
504void SetTooltip(const std::string& fmt);
505void SetTooltipV();
506
507// Popups, Modals
508bool BeginPopup(const std::string& str_id);
509bool BeginPopup(const std::string& str_id, int flags);
510bool BeginPopupModal(const std::string& name);
511bool BeginPopupModal(const std::string& name, bool open);
512bool BeginPopupModal(const std::string& name, bool open, int flags);
513void EndPopup();
514void OpenPopup(const std::string& str_id);
515void OpenPopup(const std::string& str_id, int popup_flags);
516void OpenPopupOnItemClick(); // TODO: Verify
517void OpenPopupContextItem(const std::string& str_id);
518bool OpenPopupContextItem(const std::string& str_id, int popup_flags);
519void CloseCurrentPopup();
521bool BeginPopupContextItem(const std::string& str_id);
522bool BeginPopupContextItem(const std::string& str_id, int popup_flags);
524bool BeginPopupContextWindow(const std::string& str_id);
525bool BeginPopupContextWindow(const std::string& str_id, int popup_flags);
527bool BeginPopupContextVoid(const std::string& str_id);
528bool BeginPopupContextVoid(const std::string& str_id, int popup_flags);
529bool IsPopupOpen(const std::string& str_id);
530bool IsPopupOpen(const std::string& str_id, int popup_flags);
531
532// Columns
533void Columns();
534void Columns(int count);
535void Columns(int count, const std::string& id);
536void Columns(int count, const std::string& id, bool border);
537void NextColumn();
538int GetColumnIndex();
539float GetColumnWidth();
540float GetColumnWidth(int column_index);
541void SetColumnWidth(int column_index, float width);
542float GetColumnOffset();
543float GetColumnOffset(int column_index);
544void SetColumnOffset(int column_index, float offset_x);
545int GetColumnsCount();
546
547// Tab Bars, Tabs
548bool BeginTabBar(const std::string& str_id);
549bool BeginTabBar(const std::string& str_id, int flags);
550void EndTabBar();
551bool BeginTabItem(const std::string& label);
552std::tuple<bool, bool> BeginTabItem(const std::string& label, bool open);
553std::tuple<bool, bool> BeginTabItem(const std::string& label, bool open, int flags);
554void EndTabItem();
555void SetTabItemClosed(const std::string& tab_or_docked_window_label);
556#ifdef IMGUI_HAS_DOCK
557// Docking
558void DockSpace(unsigned int id);
559void DockSpace(unsigned int id, float sizeX, float sizeY);
560void DockSpace(unsigned int id, float sizeX, float sizeY, int flags);
561unsigned int DockSpaceOverViewport();
562void SetNextWindowDockID(unsigned int dock_id);
563void SetNextWindowDockID(unsigned int dock_id, int cond);
564void SetNextWindowClass();
565unsigned int GetWindowDockID();
566bool IsWindowDocked();
567#endif // IMGUI_HAS_DOC
568// Logging
569void LogToTTY();
570void LogToTTY(int auto_open_depth);
571void LogToFile();
572void LogToFile(int auto_open_depth);
573void LogToFile(int auto_open_depth, const std::string& filename);
574void LogToClipboard();
575void LogToClipboard(int auto_open_depth);
576void LogFinish();
577void LogButtons();
578void LogText(const std::string& fmt);
579
580// Drag and Drop
581// TODO: Drag and Drop ==> UNSUPPORTED
582
583// Clipping
584void PushClipRect(float min_x, float min_y, float max_x, float max_y, bool intersect_current);
585void PopClipRect();
586
587// Focus, Activation
591
592// Item/Widgets Utilities
593bool IsItemHovered();
594bool IsItemHovered(int flags);
595bool IsItemActive();
596bool IsItemFocused();
597bool IsItemClicked();
598bool IsItemClicked(int mouse_button);
599bool IsItemVisible();
600bool IsItemEdited();
601bool IsItemActivated();
602bool IsItemDeactivated();
604bool IsItemToggledOpen();
605bool IsAnyItemHovered();
606bool IsAnyItemActive();
607bool IsAnyItemFocused();
608std::tuple<float, float> GetItemRectMin();
609std::tuple<float, float> GetItemRectMax();
610std::tuple<float, float> GetItemRectSize();
612
613// Miscellaneous Utilities
614bool IsRectVisible(float sizeX, float sizeY);
615bool IsRectVisible(float minX, float minY, float maxX, float maxY);
616double GetTime();
617int GetFrameCount();
618/* TODO: GetBackgroundDrawList(), GetForeGroundDrawList(), GetDrawListSharedData() ==> UNSUPPORTED */
619std::string GetStyleColorName(int idx);
620/* TODO: SetStateStorage(), GetStateStorage(), CalcListClipping() ==> UNSUPPORTED */
621bool BeginChildFrame(unsigned int id, float sizeX, float sizeY);
622bool BeginChildFrame(unsigned int id, float sizeX, float sizeY, int flags);
623void EndChildFrame();
624
625// Text Utilities
626std::tuple<float, float> CalcTextSize(const std::string& text);
627std::tuple<float, float> CalcTextSize(const std::string& text, const std::string& text_end);
628std::tuple<float, float> CalcTextSize(const std::string& text, const std::string& text_end,
629 bool hide_text_after_double_hash);
630std::tuple<float, float> CalcTextSize(const std::string& text, const std::string& text_end,
631 bool hide_text_after_double_hash, float wrap_width);
632
633// Color Utilities
634#ifdef SOL_IMGUI_USE_COLOR_U32
635sol::as_table_t<std::vector<float>> ColorConvertU32ToFloat4(unsigned int in);
636unsigned int ColorConvertFloat4ToU32(const sol::table& rgba);
637#endif
638std::tuple<float, float, float> ColorConvertRGBtoHSV(float r, float g, float b);
639std::tuple<float, float, float> ColorConvertHSVtoRGB(float h, float s, float v);
640
641// Inputs Utilities: Keyboard
642int GetKeyIndex(int imgui_key);
643bool IsKeyDown(int user_key_index);
644bool IsKeyPressed(int user_key_index);
645bool IsKeyPressed(int user_key_index, bool repeat);
646bool IsKeyReleased(int user_key_index);
647int GetKeyPressedAmount(int key_index, float repeat_delay, float rate);
649void CaptureKeyboardFromApp(bool want_capture_keyboard_value);
650
651// Inputs Utilities: Mouse
652bool IsMouseDown(int button);
653bool IsMouseClicked(int button);
654bool IsMouseClicked(int button, bool repeat);
655bool IsMouseReleased(int button);
656bool IsMouseDoubleClicked(int button);
657bool IsMouseHoveringRect(float min_x, float min_y, float max_x, float max_y);
658bool IsMouseHoveringRect(float min_x, float min_y, float max_x, float max_y, bool clip);
659bool IsMousePosValid();
660bool IsAnyMouseDown();
661std::tuple<float, float> GetMousePos();
662std::tuple<float, float> GetMousePosOnOpeningCurrentPopup();
663bool IsMouseDragging(int button);
664bool IsMouseDragging(int button, float lock_threshold);
665std::tuple<float, float> GetMouseDragDelta();
666std::tuple<float, float> GetMouseDragDelta(int button);
667std::tuple<float, float> GetMouseDragDelta(int button, float lock_threshold);
669void ResetMouseDragDelta(int button);
670int GetMouseCursor();
671void SetMouseCursor(int cursor_type);
673void CaptureMouseFromApp(bool want_capture_mouse_value);
674
675// Clipboard Utilities
676std::string GetClipboardText();
677void SetClipboardText(const std::string& text);
678} // namespace cqsp::client::scripting
Definition: clientscripting.cpp:27
void CaptureMouseFromApp()
Definition: imguifunctiondefs.cpp:1873
void SetScrollHereX()
Definition: imguifunctiondefs.cpp:166
std::tuple< std::string, bool > InputTextWithHint(const std::string &label, const std::string &hint, std::string text, unsigned int buf_size)
Definition: imguifunctiondefs.cpp:1098
bool IsWindowAppearing()
Definition: imguifunctiondefs.cpp:65
int GetColumnsCount()
Definition: imguifunctiondefs.cpp:1652
void SetCursorScreenPos(float posX, float posY)
Definition: imguifunctiondefs.cpp:252
void OpenPopupOnItemClick()
Definition: imguifunctiondefs.cpp:1615
std::tuple< sol::as_table_t< std::vector< float > >, bool > InputFloat2(const std::string &label, const sol::table &v)
Definition: imguifunctiondefs.cpp:1132
void SetScrollX(float scrollX)
Definition: imguifunctiondefs.cpp:164
std::tuple< float, float > GetCursorStartPos()
Definition: imguifunctiondefs.cpp:244
float GetTreeNodeToLabelSpacing()
Definition: imguifunctiondefs.cpp:1488
void SetCursorPosY(float localY)
Definition: imguifunctiondefs.cpp:243
void SetColumnWidth(int column_index, float width)
Definition: imguifunctiondefs.cpp:1648
double GetTime()
Definition: imguifunctiondefs.cpp:1752
std::tuple< int, bool > ListBox(const std::string &label, int current_item, const sol::table &items, int items_count)
Definition: imguifunctiondefs.cpp:1521
void PushStyleVar(int idx, float val)
Definition: imguifunctiondefs.cpp:186
void SetNextWindowBgAlpha(float alpha)
Definition: imguifunctiondefs.cpp:111
void LogButtons()
Definition: imguifunctiondefs.cpp:1700
bool BeginPopupContextItem()
Definition: imguifunctiondefs.cpp:1621
void NewLine()
Definition: imguifunctiondefs.cpp:226
void CloseCurrentPopup()
Definition: imguifunctiondefs.cpp:1620
void EndCombo()
Definition: imguifunctiondefs.cpp:327
bool Selectable(const std::string &label)
Definition: imguifunctiondefs.cpp:1506
bool IsAnyItemActive()
Definition: imguifunctiondefs.cpp:1731
void PopButtonRepeat()
Definition: imguifunctiondefs.cpp:219
void SetItemAllowOverlap()
Definition: imguifunctiondefs.cpp:1745
void SetNextWindowPos(float posX, float posY)
Definition: imguifunctiondefs.cpp:91
void SetNextWindowContentSize(float sizeX, float sizeY)
Definition: imguifunctiondefs.cpp:105
bool IsMouseClicked(int button)
Definition: imguifunctiondefs.cpp:1831
std::tuple< float, float, float, float > GetStyleColorVec4(int idx)
Definition: imguifunctiondefs.cpp:192
bool IsKeyPressed(int user_key_index)
Definition: imguifunctiondefs.cpp:1818
void EndChild()
Definition: imguifunctiondefs.cpp:62
bool IsItemDeactivatedAfterEdit()
Definition: imguifunctiondefs.cpp:1728
std::tuple< sol::as_table_t< std::vector< float > >, bool > DragFloat4(const std::string &label, const sol::table &v)
Definition: imguifunctiondefs.cpp:535
bool BeginCombo(const std::string &label, const std::string &previewValue)
Definition: imguifunctiondefs.cpp:321
void Value(const std::string &prefix, bool b)
Definition: imguifunctiondefs.cpp:1565
void SetCursorPos(float localX, float localY)
Definition: imguifunctiondefs.cpp:241
bool BeginTabBar(const std::string &str_id)
Definition: imguifunctiondefs.cpp:1655
void TreePop()
Definition: imguifunctiondefs.cpp:1487
bool BeginPopupContextVoid()
Definition: imguifunctiondefs.cpp:1631
void TextDisabled(const std::string &text)
Definition: imguifunctiondefs.cpp:282
ImFont * GetFont()
Definition: imguifunctiondefs.cpp:196
std::tuple< sol::as_table_t< std::vector< int > >, bool > InputInt3(const std::string &label, const sol::table &v)
Definition: imguifunctiondefs.cpp:1274
float GetScrollMaxX()
Definition: imguifunctiondefs.cpp:162
bool ArrowButton(const std::string &stringID, int dir)
Definition: imguifunctiondefs.cpp:296
std::tuple< float, float, float > ColorConvertRGBtoHSV(float r, float g, float b)
Definition: imguifunctiondefs.cpp:1800
void PushTextWrapPos()
Definition: imguifunctiondefs.cpp:213
void Unindent()
Definition: imguifunctiondefs.cpp:231
bool IsAnyItemHovered()
Definition: imguifunctiondefs.cpp:1730
void TextUnformatted(const std::string &text)
Definition: imguifunctiondefs.cpp:274
bool InvisibleButton(const std::string &stringID, float sizeX, float sizeY)
Definition: imguifunctiondefs.cpp:293
void SetNextWindowFocus()
Definition: imguifunctiondefs.cpp:110
std::tuple< sol::as_table_t< std::vector< float > >, bool > ColorPicker4(const std::string &label, const sol::table &col)
Definition: imguifunctiondefs.cpp:1420
std::tuple< float, float > GetWindowPos()
Definition: imguifunctiondefs.cpp:74
void BeginTooltip()
Definition: imguifunctiondefs.cpp:1595
bool IsAnyItemFocused()
Definition: imguifunctiondefs.cpp:1732
void LabelText(const std::string &label, const std::string &text)
Definition: imguifunctiondefs.cpp:284
void End()
Definition: imguifunctiondefs.cpp:48
void SetWindowCollapsed(bool collapsed)
Definition: imguifunctiondefs.cpp:118
void SliderScalar()
Definition: imguifunctiondefs.cpp:1046
std::tuple< int, bool > Combo(const std::string &label, int currentItem, const sol::table &items, int itemsCount)
Definition: imguifunctiondefs.cpp:328
void InputScalar()
Definition: imguifunctiondefs.cpp:1345
void SetScrollFromPosX(float localX)
Definition: imguifunctiondefs.cpp:170
std::tuple< std::string, bool > InputText(const std::string &label, std::string text, unsigned int buf_size)
Definition: imguifunctiondefs.cpp:1075
void AlignTextToFramePadding()
Definition: imguifunctiondefs.cpp:253
std::tuple< float, float > GetDisplaySize()
Definition: imguifunctiondefs.cpp:79
void TextColored(float colR, float colG, float colB, float colA, const std::string &text)
Definition: imguifunctiondefs.cpp:279
std::tuple< float, float > GetWindowSize()
Definition: imguifunctiondefs.cpp:83
std::tuple< float, float > GetItemRectMin()
Definition: imguifunctiondefs.cpp:1733
float GetCursorPosX()
Definition: imguifunctiondefs.cpp:239
float GetFrameHeight()
Definition: imguifunctiondefs.cpp:256
void SetNextWindowSize(float sizeX, float sizeY)
Definition: imguifunctiondefs.cpp:98
int GetID(const std::string &stringID)
Definition: imguifunctiondefs.cpp:267
void SetColorEditOptions(int flags)
Definition: imguifunctiondefs.cpp:1469
std::tuple< sol::as_table_t< std::vector< int > >, bool > DragInt2(const std::string &label, const sol::table &v)
Definition: imguifunctiondefs.cpp:636
std::tuple< float, float > CalcTextSize(const std::string &text)
Definition: imguifunctiondefs.cpp:1764
bool IsItemActivated()
Definition: imguifunctiondefs.cpp:1726
bool IsPopupOpen(const std::string &str_id)
Definition: imguifunctiondefs.cpp:1636
bool IsMouseHoveringRect(float min_x, float min_y, float max_x, float max_y)
Definition: imguifunctiondefs.cpp:1837
void SetClipboardText(const std::string &text)
Definition: imguifunctiondefs.cpp:1878
std::string GetClipboardText()
Definition: imguifunctiondefs.cpp:1877
bool ColorButton(const std::string &desc_id, const sol::table &col)
Definition: imguifunctiondefs.cpp:1445
void PushAllowKeyboardFocus(bool allowKeyboardFocus)
Definition: imguifunctiondefs.cpp:216
void Dummy(float sizeX, float sizeY)
Definition: imguifunctiondefs.cpp:228
bool BeginMenu(const std::string &label)
Definition: imguifunctiondefs.cpp:1578
std::tuple< float, bool > DragFloat(const std::string &label, float v)
Definition: imguifunctiondefs.cpp:369
void PushClipRect(float min_x, float min_y, float max_x, float max_y, bool intersect_current)
Definition: imguifunctiondefs.cpp:1707
int GetFrameCount()
Definition: imguifunctiondefs.cpp:1753
std::tuple< sol::as_table_t< std::vector< float > >, bool > ColorEdit3(const std::string &label, const sol::table &col)
Definition: imguifunctiondefs.cpp:1349
bool IsRectVisible(float sizeX, float sizeY)
Definition: imguifunctiondefs.cpp:1748
void PushFont(ImFont *pFont)
Definition: imguifunctiondefs.cpp:176
bool BeginChild(const std::string &name)
Definition: imguifunctiondefs.cpp:51
std::tuple< int, bool > InputInt(const std::string &label, int v)
Definition: imguifunctiondefs.cpp:1237
std::tuple< float, float > GetContentRegionAvail()
Definition: imguifunctiondefs.cpp:145
void NextColumn()
Definition: imguifunctiondefs.cpp:1644
void DragScalarN()
Definition: imguifunctiondefs.cpp:818
bool IsMouseReleased(int button)
Definition: imguifunctiondefs.cpp:1835
void EndTabItem()
Definition: imguifunctiondefs.cpp:1669
void SliderScalarN()
Definition: imguifunctiondefs.cpp:1047
std::tuple< sol::as_table_t< std::vector< int > >, bool > DragInt3(const std::string &label, const sol::table &v)
Definition: imguifunctiondefs.cpp:691
void PushButtonRepeat(bool repeat)
Definition: imguifunctiondefs.cpp:218
std::tuple< float, bool > VSliderFloat(const std::string &label, float sizeX, float sizeY, float v, float v_min, float v_max)
Definition: imguifunctiondefs.cpp:1048
bool IsItemToggledOpen()
Definition: imguifunctiondefs.cpp:1729
void SetMouseCursor(int cursor_type)
Definition: imguifunctiondefs.cpp:1872
std::tuple< float, bool > SliderAngle(const std::string &label, float v_rad)
Definition: imguifunctiondefs.cpp:949
std::tuple< float, float > GetMouseDragDelta()
Definition: imguifunctiondefs.cpp:1857
void LogToTTY()
Definition: imguifunctiondefs.cpp:1690
void SetItemDefaultFocus()
Definition: imguifunctiondefs.cpp:1713
bool SmallButton(const std::string &label)
Definition: imguifunctiondefs.cpp:292
bool IsItemFocused()
Definition: imguifunctiondefs.cpp:1721
std::tuple< sol::as_table_t< std::vector< int > >, bool > DragInt4(const std::string &label, const sol::table &v)
Definition: imguifunctiondefs.cpp:751
std::tuple< float, float > GetFontTexUvWhitePixel()
Definition: imguifunctiondefs.cpp:198
void PushID(const std::string &stringID)
Definition: imguifunctiondefs.cpp:260
std::tuple< sol::as_table_t< std::vector< float > >, bool > SliderFloat2(const std::string &label, const sol::table &v, float v_min, float v_max)
Definition: imguifunctiondefs.cpp:835
std::tuple< float, float > GetItemRectMax()
Definition: imguifunctiondefs.cpp:1737
float GetWindowContentRegionWidth()
Definition: imguifunctiondefs.cpp:157
bool Button(const std::string &label)
Definition: imguifunctiondefs.cpp:290
void EndTooltip()
Definition: imguifunctiondefs.cpp:1596
bool CollapsingHeader(const std::string &label)
Definition: imguifunctiondefs.cpp:1489
void TreePush(const std::string &str_id)
Definition: imguifunctiondefs.cpp:1485
void SetKeyboardFocusHere()
Definition: imguifunctiondefs.cpp:1714
bool IsWindowCollapsed()
Definition: imguifunctiondefs.cpp:66
void Columns()
Definition: imguifunctiondefs.cpp:1640
std::tuple< sol::as_table_t< std::vector< float > >, bool > SliderFloat3(const std::string &label, const sol::table &v, float v_min, float v_max)
Definition: imguifunctiondefs.cpp:870
float GetWindowWidth()
Definition: imguifunctiondefs.cpp:87
std::tuple< float, float > GetCursorScreenPos()
Definition: imguifunctiondefs.cpp:248
void Spacing()
Definition: imguifunctiondefs.cpp:227
void PopStyleVar()
Definition: imguifunctiondefs.cpp:190
bool BeginChildFrame(unsigned int id, float sizeX, float sizeY)
Definition: imguifunctiondefs.cpp:1757
std::tuple< std::string, bool > InputTextMultiline(const std::string &label, std::string text, unsigned int buf_size)
Definition: imguifunctiondefs.cpp:1083
std::tuple< sol::as_table_t< std::vector< int > >, bool > InputInt2(const std::string &label, const sol::table &v)
Definition: imguifunctiondefs.cpp:1253
std::tuple< float, float > GetContentRegionMax()
Definition: imguifunctiondefs.cpp:141
void SetTabItemClosed(const std::string &tab_or_docked_window_label)
Definition: imguifunctiondefs.cpp:1670
std::tuple< float, float > GetWindowContentRegionMin()
Definition: imguifunctiondefs.cpp:149
void SetNextWindowCollapsed(bool collapsed)
Definition: imguifunctiondefs.cpp:106
bool IsItemHovered()
Definition: imguifunctiondefs.cpp:1718
int GetColumnIndex()
Definition: imguifunctiondefs.cpp:1645
bool IsMouseDown(int button)
Definition: imguifunctiondefs.cpp:1830
bool IsItemEdited()
Definition: imguifunctiondefs.cpp:1725
void OpenPopupContextItem(const std::string &str_id)
Definition: imguifunctiondefs.cpp:1616
void PopClipRect()
Definition: imguifunctiondefs.cpp:1710
void CaptureKeyboardFromApp()
Definition: imguifunctiondefs.cpp:1824
void PushItemWidth(float itemWidth)
Definition: imguifunctiondefs.cpp:209
float GetScrollX()
Definition: imguifunctiondefs.cpp:160
void SetScrollFromPosY(float localY)
Definition: imguifunctiondefs.cpp:172
std::tuple< sol::as_table_t< std::vector< int > >, bool > InputInt4(const std::string &label, const sol::table &v)
Definition: imguifunctiondefs.cpp:1297
void ImageButton()
Definition: imguifunctiondefs.cpp:300
bool IsMouseDragging(int button)
Definition: imguifunctiondefs.cpp:1853
std::tuple< sol::as_table_t< std::vector< float > >, bool > ColorPicker3(const std::string &label, const sol::table &col)
Definition: imguifunctiondefs.cpp:1397
std::tuple< float, float > GetItemRectSize()
Definition: imguifunctiondefs.cpp:1741
float GetWindowHeight()
Definition: imguifunctiondefs.cpp:88
std::tuple< float, float > GetMousePos()
Definition: imguifunctiondefs.cpp:1845
std::tuple< int, bool > VSliderInt(const std::string &label, float sizeX, float sizeY, int v, int v_min, int v_max)
Definition: imguifunctiondefs.cpp:1063
std::tuple< double, bool > InputDouble(const std::string &label, double v)
Definition: imguifunctiondefs.cpp:1322
bool IsItemActive()
Definition: imguifunctiondefs.cpp:1720
bool BeginPopupContextWindow()
Definition: imguifunctiondefs.cpp:1626
bool Begin(const std::string &name)
Definition: imguifunctiondefs.cpp:24
void SetTooltipV()
Definition: imguifunctiondefs.cpp:1598
void EndMenuBar()
Definition: imguifunctiondefs.cpp:1575
std::tuple< int, bool > DragInt(const std::string &label, int v)
Definition: imguifunctiondefs.cpp:615
void SetWindowFontScale(float scale)
Definition: imguifunctiondefs.cpp:123
void SetWindowFocus()
Definition: imguifunctiondefs.cpp:122
float GetScrollY()
Definition: imguifunctiondefs.cpp:161
float GetColumnWidth()
Definition: imguifunctiondefs.cpp:1646
void BeginGroup()
Definition: imguifunctiondefs.cpp:233
std::tuple< float, bool > SliderFloat(const std::string &label, float v, float v_min, float v_max)
Definition: imguifunctiondefs.cpp:821
void PopItemWidth()
Definition: imguifunctiondefs.cpp:210
void ResetMouseDragDelta()
Definition: imguifunctiondefs.cpp:1869
bool IsMouseDoubleClicked(int button)
Definition: imguifunctiondefs.cpp:1836
void TextWrapped(const std::string &text)
Definition: imguifunctiondefs.cpp:283
void OpenPopup(const std::string &str_id)
Definition: imguifunctiondefs.cpp:1611
std::tuple< float, float > GetMousePosOnOpeningCurrentPopup()
Definition: imguifunctiondefs.cpp:1849
float GetWindowDpiScale()
Definition: imguifunctiondefs.cpp:72
bool BeginTabItem(const std::string &label)
Definition: imguifunctiondefs.cpp:1660
void DragScalar()
Definition: imguifunctiondefs.cpp:817
int GetKeyIndex(int imgui_key)
Definition: imguifunctiondefs.cpp:1816
void SetWindowSize(float sizeX, float sizeY)
Definition: imguifunctiondefs.cpp:114
void LogToClipboard()
Definition: imguifunctiondefs.cpp:1697
void Separator()
Definition: imguifunctiondefs.cpp:222
std::tuple< sol::as_table_t< std::vector< float > >, bool > InputFloat4(const std::string &label, const sol::table &v)
Definition: imguifunctiondefs.cpp:1199
float GetFontSize()
Definition: imguifunctiondefs.cpp:197
void SetCursorPosX(float localX)
Definition: imguifunctiondefs.cpp:242
void EndPopup()
Definition: imguifunctiondefs.cpp:1610
std::tuple< float, float > GetWindowContentRegionMax()
Definition: imguifunctiondefs.cpp:153
bool IsItemDeactivated()
Definition: imguifunctiondefs.cpp:1727
void DragFloatRange2()
Definition: imguifunctiondefs.cpp:614
float GetScrollMaxY()
Definition: imguifunctiondefs.cpp:163
void ProgressBar(float fraction)
Definition: imguifunctiondefs.cpp:313
void EndMainMenuBar()
Definition: imguifunctiondefs.cpp:1577
bool MenuItem(const std::string &label)
Definition: imguifunctiondefs.cpp:1581
void ListBoxFooter()
Definition: imguifunctiondefs.cpp:1559
float GetTextLineHeight()
Definition: imguifunctiondefs.cpp:254
void EndMenu()
Definition: imguifunctiondefs.cpp:1580
float GetTextLineHeightWithSpacing()
Definition: imguifunctiondefs.cpp:255
void SameLine()
Definition: imguifunctiondefs.cpp:223
void PopStyleColor()
Definition: imguifunctiondefs.cpp:184
bool ListBoxHeader(const std::string &label, float sizeX, float sizeY)
Definition: imguifunctiondefs.cpp:1550
void DragIntRange2()
Definition: imguifunctiondefs.cpp:816
bool BeginMenuBar()
Definition: imguifunctiondefs.cpp:1574
std::tuple< int, bool > SliderInt(const std::string &label, int v, int v_min, int v_max)
Definition: imguifunctiondefs.cpp:966
bool IsAnyMouseDown()
Definition: imguifunctiondefs.cpp:1844
void EndGroup()
Definition: imguifunctiondefs.cpp:234
bool CheckboxFlags()
Definition: imguifunctiondefs.cpp:307
int GetMouseCursor()
Definition: imguifunctiondefs.cpp:1871
std::string GetStyleColorName(int idx)
Definition: imguifunctiondefs.cpp:1755
std::tuple< float, bool > InputFloat(const std::string &label, float v)
Definition: imguifunctiondefs.cpp:1109
std::tuple< sol::as_table_t< std::vector< int > >, bool > SliderInt4(const std::string &label, const sol::table &v, int v_min, int v_max)
Definition: imguifunctiondefs.cpp:1020
void SetColumnOffset(int column_index, float offset_x)
Definition: imguifunctiondefs.cpp:1651
std::tuple< sol::as_table_t< std::vector< int > >, bool > SliderInt3(const std::string &label, const sol::table &v, int v_min, int v_max)
Definition: imguifunctiondefs.cpp:996
void SetNextItemWidth(float itemWidth)
Definition: imguifunctiondefs.cpp:211
bool IsItemClicked()
Definition: imguifunctiondefs.cpp:1722
ImGuiViewport * GetWindowViewport()
Definition: imguifunctiondefs.cpp:73
bool BeginPopup(const std::string &str_id)
Definition: imguifunctiondefs.cpp:1601
void PopFont()
Definition: imguifunctiondefs.cpp:177
void LogToFile()
Definition: imguifunctiondefs.cpp:1692
std::tuple< sol::as_table_t< std::vector< float > >, bool > SliderFloat4(const std::string &label, const sol::table &v, float v_min, float v_max)
Definition: imguifunctiondefs.cpp:908
bool IsWindowHovered()
Definition: imguifunctiondefs.cpp:69
void InputScalarN()
Definition: imguifunctiondefs.cpp:1346
ImDrawList * GetWindowDrawList()
Definition: imguifunctiondefs.cpp:71
void LogText(const std::string &fmt)
Definition: imguifunctiondefs.cpp:1701
int GetKeyPressedAmount(int key_index, float repeat_delay, float rate)
Definition: imguifunctiondefs.cpp:1821
void PushStyleColor(int idx, float colR, float colG, float colB, float colA)
Definition: imguifunctiondefs.cpp:181
bool IsMousePosValid()
Definition: imguifunctiondefs.cpp:1843
bool BeginMainMenuBar()
Definition: imguifunctiondefs.cpp:1576
std::tuple< sol::as_table_t< std::vector< float > >, bool > DragFloat3(const std::string &label, const sol::table &v)
Definition: imguifunctiondefs.cpp:462
void PopID()
Definition: imguifunctiondefs.cpp:266
bool IsItemVisible()
Definition: imguifunctiondefs.cpp:1724
void PopTextWrapPos()
Definition: imguifunctiondefs.cpp:215
bool TreeNode(const std::string &label)
Definition: imguifunctiondefs.cpp:1472
std::tuple< bool, bool > Checkbox(const std::string &label, bool v)
Definition: imguifunctiondefs.cpp:301
float GetColumnOffset()
Definition: imguifunctiondefs.cpp:1649
std::tuple< float, float, float > ColorConvertHSVtoRGB(float h, float s, float v)
Definition: imguifunctiondefs.cpp:1807
void SetNextWindowSizeConstraints(float minX, float minY, float maxX, float maxY)
Definition: imguifunctiondefs.cpp:102
void Indent()
Definition: imguifunctiondefs.cpp:229
void Text(const std::string &text)
Definition: imguifunctiondefs.cpp:278
bool BeginPopupModal(const std::string &name)
Definition: imguifunctiondefs.cpp:1605
void BulletText(const std::string &text)
Definition: imguifunctiondefs.cpp:287
void VSliderScalar()
Definition: imguifunctiondefs.cpp:1072
bool RadioButton(const std::string &label, bool active)
Definition: imguifunctiondefs.cpp:308
void EndTabBar()
Definition: imguifunctiondefs.cpp:1659
std::tuple< sol::as_table_t< std::vector< float > >, bool > ColorEdit4(const std::string &label, const sol::table &col)
Definition: imguifunctiondefs.cpp:1372
float GetFrameHeightWithSpacing()
Definition: imguifunctiondefs.cpp:257
float GetCursorPosY()
Definition: imguifunctiondefs.cpp:240
std::tuple< sol::as_table_t< std::vector< int > >, bool > SliderInt2(const std::string &label, const sol::table &v, int v_min, int v_max)
Definition: imguifunctiondefs.cpp:974
void EndChildFrame()
Definition: imguifunctiondefs.cpp:1761
void Image()
Definition: imguifunctiondefs.cpp:299
void Bullet()
Definition: imguifunctiondefs.cpp:318
std::tuple< float, float > GetCursorPos()
Definition: imguifunctiondefs.cpp:235
void SetNextItemOpen(bool is_open)
Definition: imguifunctiondefs.cpp:1501
bool TreeNodeEx(const std::string &label)
Definition: imguifunctiondefs.cpp:1477
void SetScrollY(float scrollY)
Definition: imguifunctiondefs.cpp:165
void SetWindowPos(float posX, float posY)
Definition: imguifunctiondefs.cpp:112
void PopAllowKeyboardFocus()
Definition: imguifunctiondefs.cpp:217
bool IsWindowFocused()
Definition: imguifunctiondefs.cpp:67
bool IsKeyDown(int user_key_index)
Definition: imguifunctiondefs.cpp:1817
float CalcItemWidth()
Definition: imguifunctiondefs.cpp:212
void SetScrollHereY()
Definition: imguifunctiondefs.cpp:168
std::tuple< sol::as_table_t< std::vector< float > >, bool > DragFloat2(const std::string &label, const sol::table &v)
Definition: imguifunctiondefs.cpp:395
std::tuple< sol::as_table_t< std::vector< float > >, bool > InputFloat3(const std::string &label, const sol::table &v)
Definition: imguifunctiondefs.cpp:1164
void LogFinish()
Definition: imguifunctiondefs.cpp:1699
void SetTooltip(const std::string &fmt)
Definition: imguifunctiondefs.cpp:1597
bool IsKeyReleased(int user_key_index)
Definition: imguifunctiondefs.cpp:1820
glm::vec3 offset
Definition: starsystemview.cpp:74