imgui-bindings 0.1.11-x86_64-linux → 0.1.13-x86_64-linux

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9b87f550ad90c88f9f64a7bdca345bfbf5ae34bda59132857e1e761ecbc923d6
4
- data.tar.gz: c268a7cd4f5dd142472006649bed68a2c28a9f38134eee172ebcb59e8e172a75
3
+ metadata.gz: 89551706d5a0505868abaf9d582e19a6086452c8c7693c55e0d619267f859b05
4
+ data.tar.gz: 309df3f90c8de50b907e9479e029c7fc897832b74fbb8057ded9b996599b6a76
5
5
  SHA512:
6
- metadata.gz: 222c069c4a3d56cc51acbc8f8f7a89c1b2f86e6700703d6614daae68d996a27d1958287e8eb95dffac8dfd3631d82250238968719719dc56630919539a2f90b1
7
- data.tar.gz: b5666de539d2875464af747a14bdcdc48436fe0595eb0912147cc9eb29fa6d66c0c289bf2defc6be10b7143bc3fce3e77dfae70e7827b1f1bfa8398e26e47d3d
6
+ metadata.gz: 2b6cfee01bbb18999fc6ff1c757a956838d99e8f6428ffc5cc5f6ae7b416d76834af49cffafd85ec64cbeef4a95d72d561329579ba1286115587721c36bd2ee8
7
+ data.tar.gz: 36f68275fe1be52ba1162ad35037b5c9a538c31e1e3bdb75ab5a9fbc22d588ae0cfee813428132aee79b868b7f50dbae48e8375c126447433b2fc98421a6d181
data/ChangeLog CHANGED
@@ -1,3 +1,11 @@
1
+ 2024-07-14 vaiorabbit <http://twitter.com/vaiorabbit>
2
+
3
+ * ImGui v1.90.9
4
+
5
+ 2024-04-13 vaiorabbit <http://twitter.com/vaiorabbit>
6
+
7
+ * ImGui v1.90.5
8
+
1
9
  2024-02-25 vaiorabbit <http://twitter.com/vaiorabbit>
2
10
 
3
11
  * ImGui v1.90.4
data/README.md CHANGED
@@ -3,7 +3,7 @@
3
3
  # Yet another ImGui wrapper for Ruby #
4
4
 
5
5
  * Created : 2019-01-05
6
- * Last modified : 2024-02-25
6
+ * Last modified : 2024-07-14
7
7
 
8
8
  <img src="https://raw.githubusercontent.com/vaiorabbit/ruby-imgui/master/doc/jpfont_test.png" width="250">
9
9
 
@@ -16,7 +16,7 @@
16
16
  * [Windows] https://rubyinstaller.org/downloads/ Ruby+Devkit
17
17
  * ruby 3.2.0 (2022-12-25 revision a528908271) [x64-mingw-ucrt]
18
18
  * [macOS]
19
- * ruby 3.3.0 (2023-12-25 revision 5124f9ac75) [arm64-darwin23]
19
+ * ruby 3.3.3 (2024-06-12 revision f1c7b6f435) [arm64-darwin23]
20
20
  * [Linux]
21
21
  * ruby 3.2.0 (2022-12-25 revision a528908271) [aarch64-linux]
22
22
  * Ruby Gems
@@ -27,7 +27,7 @@
27
27
  * Compiler
28
28
  * Tested on:
29
29
  * [Windows] gcc (Rev7, Built by MSYS2 project) 12.2.0
30
- * [macOS] Apple clang version 14.0.0 (clang-1400.0.29.202), Target: arm64-apple-darwin22.2.0
30
+ * [macOS] Apple clang version 15.0.0 (clang-1500.3.9.4)
31
31
  * [Linux] gcc (Debian 10.2.1-6) 10.2.1 20210110
32
32
  * CMake https://cmake.org/download/
33
33
 
@@ -42,6 +42,7 @@
42
42
  * ruby 3.0.0p0 (2020-12-25 revision 95aff21468) [x64-mingw32]
43
43
  * ruby 2.7.1p83 (2020-03-31 revision a0c7c23c9c) [x64-mingw32]
44
44
  * [macOS]
45
+ * ruby 3.3.0 (2023-12-25 revision 5124f9ac75) [arm64-darwin23]
45
46
  * ruby 3.2.1 (2023-02-08 revision 31819e82c8) [arm64-darwin22]
46
47
  * ruby 3.2.0 (2022-12-25 revision a528908271) [arm64-darwin21]
47
48
  * ruby 3.1.2p20 (2022-04-12 revision 4491bb740a) [arm64-darwin21]
@@ -57,6 +58,7 @@
57
58
  * Tested on:
58
59
  * [Windows] gcc (Rev10, Built by MSYS2 project) 11.2.0
59
60
  * [Windows] gcc (Rev1, Built by MSYS2 project) 8.2.1 20181214
61
+ * [macOS] Apple clang version 14.0.0 (clang-1400.0.29.202), Target: arm64-apple-darwin22.2.0
60
62
  * [macOS] clang (Apple clang version 13.1.6 (clang-1316.0.21.2.5), Target: arm64-apple-darwin21.5.0)
61
63
  * [macOS] clang (Apple clang version 12.0.5 (clang-1205.0.22.11), Target: arm64-apple-darwin20.6.0)
62
64
  </details>
data/lib/imgui.rb CHANGED
@@ -20,11 +20,11 @@ FFI.typedef :int, :ImGuiComboFlags
20
20
  FFI.typedef :int, :ImGuiCond
21
21
  FFI.typedef :int, :ImGuiConfigFlags
22
22
  FFI.typedef :int, :ImGuiDataType
23
- FFI.typedef :int, :ImGuiDir
24
23
  FFI.typedef :int, :ImGuiDragDropFlags
25
24
  FFI.typedef :int, :ImGuiFocusedFlags
26
25
  FFI.typedef :int, :ImGuiHoveredFlags
27
26
  FFI.typedef :uint, :ImGuiID
27
+ FFI.typedef :int, :ImGuiInputFlags
28
28
  FFI.typedef :int, :ImGuiInputTextFlags
29
29
  FFI.typedef :int, :ImGuiKeyChord
30
30
  FFI.typedef :pointer, :ImGuiMemAllocFunc
@@ -34,7 +34,6 @@ FFI.typedef :int, :ImGuiMouseCursor
34
34
  FFI.typedef :int, :ImGuiPopupFlags
35
35
  FFI.typedef :int, :ImGuiSelectableFlags
36
36
  FFI.typedef :int, :ImGuiSliderFlags
37
- FFI.typedef :int, :ImGuiSortDirection
38
37
  FFI.typedef :int, :ImGuiStyleVar
39
38
  FFI.typedef :int, :ImGuiTabBarFlags
40
39
  FFI.typedef :int, :ImGuiTabItemFlags
@@ -57,8 +56,10 @@ FFI.typedef :uchar, :ImU8
57
56
  FFI.typedef :ushort, :ImWchar
58
57
  FFI.typedef :ushort, :ImWchar16
59
58
  FFI.typedef :uint, :ImWchar32
59
+ FFI.typedef :int, :ImGuiDir
60
60
  FFI.typedef :int, :ImGuiKey
61
61
  FFI.typedef :int, :ImGuiMouseSource
62
+ FFI.typedef :uchar, :ImGuiSortDirection
62
63
 
63
64
  # ImDrawFlags_
64
65
  # Flags for ImDrawList functions
@@ -104,12 +105,11 @@ ImGuiBackendFlags_RendererHasVtxOffset = 8 # 1 << 3 # Backend Renderer supports
104
105
 
105
106
  # ImGuiButtonFlags_
106
107
  # Flags for InvisibleButton() [extended in imgui_internal.h]
107
- ImGuiButtonFlags_None = 0 # 0
108
- ImGuiButtonFlags_MouseButtonLeft = 1 # 1 << 0 # React on left mouse button (default)
109
- ImGuiButtonFlags_MouseButtonRight = 2 # 1 << 1 # React on right mouse button
110
- ImGuiButtonFlags_MouseButtonMiddle = 4 # 1 << 2 # React on center mouse button
111
- ImGuiButtonFlags_MouseButtonMask_ = 7 # ImGuiButtonFlags_MouseButtonLeft | ImGuiButtonFlags_MouseButtonRight | ImGuiButtonFlags_MouseButtonMiddle
112
- ImGuiButtonFlags_MouseButtonDefault_ = 1 # ImGuiButtonFlags_MouseButtonLeft
108
+ ImGuiButtonFlags_None = 0 # 0
109
+ ImGuiButtonFlags_MouseButtonLeft = 1 # 1 << 0 # React on left mouse button (default)
110
+ ImGuiButtonFlags_MouseButtonRight = 2 # 1 << 1 # React on right mouse button
111
+ ImGuiButtonFlags_MouseButtonMiddle = 4 # 1 << 2 # React on center mouse button
112
+ ImGuiButtonFlags_MouseButtonMask_ = 7 # ImGuiButtonFlags_MouseButtonLeft | ImGuiButtonFlags_MouseButtonRight | ImGuiButtonFlags_MouseButtonMiddle
113
113
 
114
114
  # ImGuiChildFlags_
115
115
  # Flags for ImGui::BeginChild()
@@ -130,63 +130,67 @@ ImGuiChildFlags_AutoResizeX = 16 # 1 << 4 # Enable auto-resizing width
130
130
  ImGuiChildFlags_AutoResizeY = 32 # 1 << 5 # Enable auto-resizing height. Read "IMPORTANT: Size measurement" details above.
131
131
  ImGuiChildFlags_AlwaysAutoResize = 64 # 1 << 6 # Combined with AutoResizeX/AutoResizeY. Always measure size even when child is hidden, always return true, always disable clipping optimization! NOT RECOMMENDED.
132
132
  ImGuiChildFlags_FrameStyle = 128 # 1 << 7 # Style the child window like a framed item: use FrameBg, FrameRounding, FrameBorderSize, FramePadding instead of ChildBg, ChildRounding, ChildBorderSize, WindowPadding.
133
+ ImGuiChildFlags_NavFlattened = 256 # 1 << 8
133
134
 
134
135
  # ImGuiCol_
135
136
  # Enumeration for PushStyleColor() / PopStyleColor()
136
- ImGuiCol_Text = 0 # 0
137
- ImGuiCol_TextDisabled = 1 # 1
138
- ImGuiCol_WindowBg = 2 # 2 # Background of normal windows
139
- ImGuiCol_ChildBg = 3 # 3 # Background of child windows
140
- ImGuiCol_PopupBg = 4 # 4 # Background of popups, menus, tooltips windows
141
- ImGuiCol_Border = 5 # 5
142
- ImGuiCol_BorderShadow = 6 # 6
143
- ImGuiCol_FrameBg = 7 # 7 # Background of checkbox, radio button, plot, slider, text input
144
- ImGuiCol_FrameBgHovered = 8 # 8
145
- ImGuiCol_FrameBgActive = 9 # 9
146
- ImGuiCol_TitleBg = 10 # 10 # Title bar
147
- ImGuiCol_TitleBgActive = 11 # 11 # Title bar when focused
148
- ImGuiCol_TitleBgCollapsed = 12 # 12 # Title bar when collapsed
149
- ImGuiCol_MenuBarBg = 13 # 13
150
- ImGuiCol_ScrollbarBg = 14 # 14
151
- ImGuiCol_ScrollbarGrab = 15 # 15
152
- ImGuiCol_ScrollbarGrabHovered = 16 # 16
153
- ImGuiCol_ScrollbarGrabActive = 17 # 17
154
- ImGuiCol_CheckMark = 18 # 18 # Checkbox tick and RadioButton circle
155
- ImGuiCol_SliderGrab = 19 # 19
156
- ImGuiCol_SliderGrabActive = 20 # 20
157
- ImGuiCol_Button = 21 # 21
158
- ImGuiCol_ButtonHovered = 22 # 22
159
- ImGuiCol_ButtonActive = 23 # 23
160
- ImGuiCol_Header = 24 # 24 # Header* colors are used for CollapsingHeader, TreeNode, Selectable, MenuItem
161
- ImGuiCol_HeaderHovered = 25 # 25
162
- ImGuiCol_HeaderActive = 26 # 26
163
- ImGuiCol_Separator = 27 # 27
164
- ImGuiCol_SeparatorHovered = 28 # 28
165
- ImGuiCol_SeparatorActive = 29 # 29
166
- ImGuiCol_ResizeGrip = 30 # 30 # Resize grip in lower-right and lower-left corners of windows.
167
- ImGuiCol_ResizeGripHovered = 31 # 31
168
- ImGuiCol_ResizeGripActive = 32 # 32
169
- ImGuiCol_Tab = 33 # 33 # TabItem in a TabBar
170
- ImGuiCol_TabHovered = 34 # 34
171
- ImGuiCol_TabActive = 35 # 35
172
- ImGuiCol_TabUnfocused = 36 # 36
173
- ImGuiCol_TabUnfocusedActive = 37 # 37
174
- ImGuiCol_PlotLines = 38 # 38
175
- ImGuiCol_PlotLinesHovered = 39 # 39
176
- ImGuiCol_PlotHistogram = 40 # 40
177
- ImGuiCol_PlotHistogramHovered = 41 # 41
178
- ImGuiCol_TableHeaderBg = 42 # 42 # Table header background
179
- ImGuiCol_TableBorderStrong = 43 # 43 # Table outer and header borders (prefer using Alpha=1.0 here)
180
- ImGuiCol_TableBorderLight = 44 # 44 # Table inner borders (prefer using Alpha=1.0 here)
181
- ImGuiCol_TableRowBg = 45 # 45 # Table row background (even rows)
182
- ImGuiCol_TableRowBgAlt = 46 # 46 # Table row background (odd rows)
183
- ImGuiCol_TextSelectedBg = 47 # 47
184
- ImGuiCol_DragDropTarget = 48 # 48 # Rectangle highlighting a drop target
185
- ImGuiCol_NavHighlight = 49 # 49 # Gamepad/keyboard: current highlighted item
186
- ImGuiCol_NavWindowingHighlight = 50 # 50 # Highlight window when using CTRL+TAB
187
- ImGuiCol_NavWindowingDimBg = 51 # 51 # Darken/colorize entire screen behind the CTRL+TAB window list, when active
188
- ImGuiCol_ModalWindowDimBg = 52 # 52 # Darken/colorize entire screen behind a modal window, when one is active
189
- ImGuiCol_COUNT = 53 # 53
137
+ ImGuiCol_Text = 0 # 0
138
+ ImGuiCol_TextDisabled = 1 # 1
139
+ ImGuiCol_WindowBg = 2 # 2 # Background of normal windows
140
+ ImGuiCol_ChildBg = 3 # 3 # Background of child windows
141
+ ImGuiCol_PopupBg = 4 # 4 # Background of popups, menus, tooltips windows
142
+ ImGuiCol_Border = 5 # 5
143
+ ImGuiCol_BorderShadow = 6 # 6
144
+ ImGuiCol_FrameBg = 7 # 7 # Background of checkbox, radio button, plot, slider, text input
145
+ ImGuiCol_FrameBgHovered = 8 # 8
146
+ ImGuiCol_FrameBgActive = 9 # 9
147
+ ImGuiCol_TitleBg = 10 # 10 # Title bar
148
+ ImGuiCol_TitleBgActive = 11 # 11 # Title bar when focused
149
+ ImGuiCol_TitleBgCollapsed = 12 # 12 # Title bar when collapsed
150
+ ImGuiCol_MenuBarBg = 13 # 13
151
+ ImGuiCol_ScrollbarBg = 14 # 14
152
+ ImGuiCol_ScrollbarGrab = 15 # 15
153
+ ImGuiCol_ScrollbarGrabHovered = 16 # 16
154
+ ImGuiCol_ScrollbarGrabActive = 17 # 17
155
+ ImGuiCol_CheckMark = 18 # 18 # Checkbox tick and RadioButton circle
156
+ ImGuiCol_SliderGrab = 19 # 19
157
+ ImGuiCol_SliderGrabActive = 20 # 20
158
+ ImGuiCol_Button = 21 # 21
159
+ ImGuiCol_ButtonHovered = 22 # 22
160
+ ImGuiCol_ButtonActive = 23 # 23
161
+ ImGuiCol_Header = 24 # 24 # Header* colors are used for CollapsingHeader, TreeNode, Selectable, MenuItem
162
+ ImGuiCol_HeaderHovered = 25 # 25
163
+ ImGuiCol_HeaderActive = 26 # 26
164
+ ImGuiCol_Separator = 27 # 27
165
+ ImGuiCol_SeparatorHovered = 28 # 28
166
+ ImGuiCol_SeparatorActive = 29 # 29
167
+ ImGuiCol_ResizeGrip = 30 # 30 # Resize grip in lower-right and lower-left corners of windows.
168
+ ImGuiCol_ResizeGripHovered = 31 # 31
169
+ ImGuiCol_ResizeGripActive = 32 # 32
170
+ ImGuiCol_TabHovered = 33 # 33
171
+ ImGuiCol_Tab = 34 # 34 # TabItem in a TabBar
172
+ ImGuiCol_TabSelected = 35 # 35
173
+ ImGuiCol_TabSelectedOverline = 36 # 36
174
+ ImGuiCol_TabDimmed = 37 # 37
175
+ ImGuiCol_TabDimmedSelected = 38 # 38
176
+ ImGuiCol_TabDimmedSelectedOverline = 39 # 39
177
+ ImGuiCol_PlotLines = 40 # 40
178
+ ImGuiCol_PlotLinesHovered = 41 # 41
179
+ ImGuiCol_PlotHistogram = 42 # 42
180
+ ImGuiCol_PlotHistogramHovered = 43 # 43
181
+ ImGuiCol_TableHeaderBg = 44 # 44 # Table header background
182
+ ImGuiCol_TableBorderStrong = 45 # 45 # Table outer and header borders (prefer using Alpha=1.0 here)
183
+ ImGuiCol_TableBorderLight = 46 # 46 # Table inner borders (prefer using Alpha=1.0 here)
184
+ ImGuiCol_TableRowBg = 47 # 47 # Table row background (even rows)
185
+ ImGuiCol_TableRowBgAlt = 48 # 48 # Table row background (odd rows)
186
+ ImGuiCol_TextLink = 49 # 49
187
+ ImGuiCol_TextSelectedBg = 50 # 50
188
+ ImGuiCol_DragDropTarget = 51 # 51 # Rectangle highlighting a drop target
189
+ ImGuiCol_NavHighlight = 52 # 52 # Gamepad/keyboard: current highlighted item
190
+ ImGuiCol_NavWindowingHighlight = 53 # 53 # Highlight window when using CTRL+TAB
191
+ ImGuiCol_NavWindowingDimBg = 54 # 54 # Darken/colorize entire screen behind the CTRL+TAB window list, when active
192
+ ImGuiCol_ModalWindowDimBg = 55 # 55 # Darken/colorize entire screen behind a modal window, when one is active
193
+ ImGuiCol_COUNT = 56 # 56
190
194
 
191
195
  # ImGuiColorEditFlags_
192
196
  # Flags for ColorEdit3() / ColorEdit4() / ColorPicker3() / ColorPicker4() / ColorButton()
@@ -252,6 +256,7 @@ ImGuiConfigFlags_NavEnableSetMousePos = 4 # 1 << 2 # Instruct navigation to move
252
256
  ImGuiConfigFlags_NavNoCaptureKeyboard = 8 # 1 << 3 # Instruct navigation to not set the io.WantCaptureKeyboard flag when io.NavActive is set.
253
257
  ImGuiConfigFlags_NoMouse = 16 # 1 << 4 # Instruct imgui to clear mouse position/buttons in NewFrame(). This allows ignoring the mouse information set by the backend.
254
258
  ImGuiConfigFlags_NoMouseCursorChange = 32 # 1 << 5 # Instruct backend to not alter mouse cursor shape and visibility. Use if the backend cursor changes are interfering with yours and you don't want to use SetMouseCursor() to change mouse cursor. You may want to honor requests from imgui by reading GetMouseCursor() yourself instead.
259
+ ImGuiConfigFlags_NoKeyboard = 64 # 1 << 6
255
260
  ImGuiConfigFlags_IsSRGB = 1048576 # 1 << 20 # Application is SRGB-aware.
256
261
  ImGuiConfigFlags_IsTouchScreen = 2097152 # 1 << 21 # Application is using a touch screen instead of a mouse.
257
262
 
@@ -269,8 +274,7 @@ ImGuiDataType_Float = 8 # 8 # float
269
274
  ImGuiDataType_Double = 9 # 9 # double
270
275
  ImGuiDataType_COUNT = 10 # 10
271
276
 
272
- # ImGuiDir_
273
- # A cardinal direction
277
+ # ImGuiDir
274
278
  ImGuiDir_None = -1 # -1
275
279
  ImGuiDir_Left = 0 # 0
276
280
  ImGuiDir_Right = 1 # 1
@@ -286,7 +290,9 @@ ImGuiDragDropFlags_SourceNoDisableHover = 2 # 1 << 1 # By default, when dr
286
290
  ImGuiDragDropFlags_SourceNoHoldToOpenOthers = 4 # 1 << 2 # Disable the behavior that allows to open tree nodes and collapsing header by holding over them while dragging a source item.
287
291
  ImGuiDragDropFlags_SourceAllowNullID = 8 # 1 << 3 # Allow items such as Text(), Image() that have no unique identifier to be used as drag source, by manufacturing a temporary identifier based on their window-relative position. This is extremely unusual within the dear imgui ecosystem and so we made it explicit.
288
292
  ImGuiDragDropFlags_SourceExtern = 16 # 1 << 4 # External source (from outside of dear imgui), won't attempt to read current item/window info. Will always return true. Only one Extern source can be active simultaneously.
289
- ImGuiDragDropFlags_SourceAutoExpirePayload = 32 # 1 << 5 # Automatically expire the payload if the source cease to be submitted (otherwise payloads are persisting while being dragged)
293
+ ImGuiDragDropFlags_PayloadAutoExpire = 32 # 1 << 5
294
+ ImGuiDragDropFlags_PayloadNoCrossContext = 64 # 1 << 6
295
+ ImGuiDragDropFlags_PayloadNoCrossProcess = 128 # 1 << 7
290
296
  ImGuiDragDropFlags_AcceptBeforeDelivery = 1024 # 1 << 10 # AcceptDragDropPayload() will returns true even before the mouse button is released. You can then call IsDelivery() to test if the payload needs to be delivered.
291
297
  ImGuiDragDropFlags_AcceptNoDrawDefaultRect = 2048 # 1 << 11 # Do not draw the default highlight rectangle when hovering over target.
292
298
  ImGuiDragDropFlags_AcceptNoPreviewTooltip = 4096 # 1 << 12 # Request hiding the BeginDragDropSource tooltip from the BeginDragDropTarget site.
@@ -326,31 +332,46 @@ ImGuiHoveredFlags_DelayShort = 32768 # 1 << 15 # IsItemHovered()
326
332
  ImGuiHoveredFlags_DelayNormal = 65536 # 1 << 16 # IsItemHovered() only: Return true after style.HoverDelayNormal elapsed (~0.40 sec) (shared between items) + requires mouse to be stationary for style.HoverStationaryDelay (once per item).
327
333
  ImGuiHoveredFlags_NoSharedDelay = 131072 # 1 << 17 # IsItemHovered() only: Disable shared delay system where moving from one item to the next keeps the previous timer for a short time (standard for tooltips with long delays)
328
334
 
335
+ # ImGuiInputFlags_
336
+ ImGuiInputFlags_None = 0 # 0
337
+ ImGuiInputFlags_Repeat = 1 # 1 << 0
338
+ ImGuiInputFlags_RouteActive = 1024 # 1 << 10
339
+ ImGuiInputFlags_RouteFocused = 2048 # 1 << 11
340
+ ImGuiInputFlags_RouteGlobal = 4096 # 1 << 12
341
+ ImGuiInputFlags_RouteAlways = 8192 # 1 << 13
342
+ ImGuiInputFlags_RouteOverFocused = 16384 # 1 << 14
343
+ ImGuiInputFlags_RouteOverActive = 32768 # 1 << 15
344
+ ImGuiInputFlags_RouteUnlessBgFocused = 65536 # 1 << 16
345
+ ImGuiInputFlags_RouteFromRootWindow = 131072 # 1 << 17
346
+ ImGuiInputFlags_Tooltip = 262144 # 1 << 18
347
+
329
348
  # ImGuiInputTextFlags_
330
349
  # Flags for ImGui::InputText()
331
350
  # (Those are per-item flags. There are shared flags in ImGuiIO: io.ConfigInputTextCursorBlink and io.ConfigInputTextEnterKeepActive)
332
- ImGuiInputTextFlags_None = 0 # 0
333
- ImGuiInputTextFlags_CharsDecimal = 1 # 1 << 0 # Allow 0123456789.+-*/
334
- ImGuiInputTextFlags_CharsHexadecimal = 2 # 1 << 1 # Allow 0123456789ABCDEFabcdef
335
- ImGuiInputTextFlags_CharsUppercase = 4 # 1 << 2 # Turn a..z into A..Z
336
- ImGuiInputTextFlags_CharsNoBlank = 8 # 1 << 3 # Filter out spaces, tabs
337
- ImGuiInputTextFlags_AutoSelectAll = 16 # 1 << 4 # Select entire text when first taking mouse focus
338
- ImGuiInputTextFlags_EnterReturnsTrue = 32 # 1 << 5 # Return 'true' when Enter is pressed (as opposed to every time the value was modified). Consider looking at the IsItemDeactivatedAfterEdit() function.
339
- ImGuiInputTextFlags_CallbackCompletion = 64 # 1 << 6 # Callback on pressing TAB (for completion handling)
340
- ImGuiInputTextFlags_CallbackHistory = 128 # 1 << 7 # Callback on pressing Up/Down arrows (for history handling)
341
- ImGuiInputTextFlags_CallbackAlways = 256 # 1 << 8 # Callback on each iteration. User code may query cursor position, modify text buffer.
342
- ImGuiInputTextFlags_CallbackCharFilter = 512 # 1 << 9 # Callback on character inputs to replace or discard them. Modify 'EventChar' to replace or discard, or return 1 in callback to discard.
343
- ImGuiInputTextFlags_AllowTabInput = 1024 # 1 << 10 # Pressing TAB input a '\t' character into the text field
344
- ImGuiInputTextFlags_CtrlEnterForNewLine = 2048 # 1 << 11 # In multi-line mode, unfocus with Enter, add new line with Ctrl+Enter (default is opposite: unfocus with Ctrl+Enter, add line with Enter).
345
- ImGuiInputTextFlags_NoHorizontalScroll = 4096 # 1 << 12 # Disable following the cursor horizontally
346
- ImGuiInputTextFlags_AlwaysOverwrite = 8192 # 1 << 13 # Overwrite mode
347
- ImGuiInputTextFlags_ReadOnly = 16384 # 1 << 14 # Read-only mode
348
- ImGuiInputTextFlags_Password = 32768 # 1 << 15 # Password mode, display all characters as '*'
349
- ImGuiInputTextFlags_NoUndoRedo = 65536 # 1 << 16 # Disable undo/redo. Note that input text owns the text data while active, if you want to provide your own undo/redo stack you need e.g. to call ClearActiveID().
350
- ImGuiInputTextFlags_CharsScientific = 131072 # 1 << 17 # Allow 0123456789.+-*/eE (Scientific notation input)
351
- ImGuiInputTextFlags_CallbackResize = 262144 # 1 << 18 # Callback on buffer capacity changes request (beyond 'buf_size' parameter value), allowing the string to grow. Notify when the string wants to be resized (for string types which hold a cache of their Size). You will be provided a new BufSize in the callback and NEED to honor it. (see misc/cpp/imgui_stdlib.h for an example of using this)
352
- ImGuiInputTextFlags_CallbackEdit = 524288 # 1 << 19 # Callback on any edit (note that InputText() already returns true on edit, the callback is useful mainly to manipulate the underlying buffer while focus is active)
353
- ImGuiInputTextFlags_EscapeClearsAll = 1048576 # 1 << 20 # Escape key clears content if not empty, and deactivate otherwise (contrast to default behavior of Escape to revert)
351
+ ImGuiInputTextFlags_None = 0 # 0
352
+ ImGuiInputTextFlags_CharsDecimal = 1 # 1 << 0 # Allow 0123456789.+-*/
353
+ ImGuiInputTextFlags_CharsHexadecimal = 2 # 1 << 1 # Allow 0123456789ABCDEFabcdef
354
+ ImGuiInputTextFlags_CharsScientific = 4 # 1 << 2 # Allow 0123456789.+-*/eE (Scientific notation input)
355
+ ImGuiInputTextFlags_CharsUppercase = 8 # 1 << 3 # Turn a..z into A..Z
356
+ ImGuiInputTextFlags_CharsNoBlank = 16 # 1 << 4 # Filter out spaces, tabs
357
+ ImGuiInputTextFlags_AllowTabInput = 32 # 1 << 5 # Pressing TAB input a '\t' character into the text field
358
+ ImGuiInputTextFlags_EnterReturnsTrue = 64 # 1 << 6 # Return 'true' when Enter is pressed (as opposed to every time the value was modified). Consider looking at the IsItemDeactivatedAfterEdit() function.
359
+ ImGuiInputTextFlags_EscapeClearsAll = 128 # 1 << 7 # Escape key clears content if not empty, and deactivate otherwise (contrast to default behavior of Escape to revert)
360
+ ImGuiInputTextFlags_CtrlEnterForNewLine = 256 # 1 << 8 # In multi-line mode, unfocus with Enter, add new line with Ctrl+Enter (default is opposite: unfocus with Ctrl+Enter, add line with Enter).
361
+ ImGuiInputTextFlags_ReadOnly = 512 # 1 << 9 # Read-only mode
362
+ ImGuiInputTextFlags_Password = 1024 # 1 << 10 # Password mode, display all characters as '*'
363
+ ImGuiInputTextFlags_AlwaysOverwrite = 2048 # 1 << 11 # Overwrite mode
364
+ ImGuiInputTextFlags_AutoSelectAll = 4096 # 1 << 12 # Select entire text when first taking mouse focus
365
+ ImGuiInputTextFlags_ParseEmptyRefVal = 8192 # 1 << 13
366
+ ImGuiInputTextFlags_DisplayEmptyRefVal = 16384 # 1 << 14
367
+ ImGuiInputTextFlags_NoHorizontalScroll = 32768 # 1 << 15 # Disable following the cursor horizontally
368
+ ImGuiInputTextFlags_NoUndoRedo = 65536 # 1 << 16 # Disable undo/redo. Note that input text owns the text data while active, if you want to provide your own undo/redo stack you need e.g. to call ClearActiveID().
369
+ ImGuiInputTextFlags_CallbackCompletion = 131072 # 1 << 17 # Callback on pressing TAB (for completion handling)
370
+ ImGuiInputTextFlags_CallbackHistory = 262144 # 1 << 18 # Callback on pressing Up/Down arrows (for history handling)
371
+ ImGuiInputTextFlags_CallbackAlways = 524288 # 1 << 19 # Callback on each iteration. User code may query cursor position, modify text buffer.
372
+ ImGuiInputTextFlags_CallbackCharFilter = 1048576 # 1 << 20 # Callback on character inputs to replace or discard them. Modify 'EventChar' to replace or discard, or return 1 in callback to discard.
373
+ ImGuiInputTextFlags_CallbackResize = 2097152 # 1 << 21 # Callback on buffer capacity changes request (beyond 'buf_size' parameter value), allowing the string to grow. Notify when the string wants to be resized (for string types which hold a cache of their Size). You will be provided a new BufSize in the callback and NEED to honor it. (see misc/cpp/imgui_stdlib.h for an example of using this)
374
+ ImGuiInputTextFlags_CallbackEdit = 4194304 # 1 << 22 # Callback on any edit (note that InputText() already returns true on edit, the callback is useful mainly to manipulate the underlying buffer while focus is active)
354
375
 
355
376
  # ImGuiKey
356
377
  # A key identifier (ImGuiKey_XXX or ImGuiMod_XXX value): can represent Keyboard, Mouse and Gamepad values.
@@ -520,8 +541,7 @@ ImGuiMod_Ctrl = 4096 # 1 << 12 # Ctrl
520
541
  ImGuiMod_Shift = 8192 # 1 << 13 # Shift
521
542
  ImGuiMod_Alt = 16384 # 1 << 14 # Option/Menu
522
543
  ImGuiMod_Super = 32768 # 1 << 15 # Cmd/Super/Windows
523
- ImGuiMod_Shortcut = 2048 # 1 << 11 # Alias for Ctrl (non-macOS) _or_ Super (macOS).
524
- ImGuiMod_Mask_ = 63488 # 0xF800 # 5-bits
544
+ ImGuiMod_Mask_ = 61440 # 0xF000 # 5-bits
525
545
  ImGuiKey_NamedKey_BEGIN = 512 # 512
526
546
  ImGuiKey_NamedKey_END = 666 # ImGuiKey_COUNT
527
547
  ImGuiKey_NamedKey_COUNT = 154 # ImGuiKey_NamedKey_END - ImGuiKey_NamedKey_BEGIN
@@ -601,52 +621,56 @@ ImGuiSliderFlags_AlwaysClamp = 16 # 1 << 4 # Clamp value to min/max bou
601
621
  ImGuiSliderFlags_Logarithmic = 32 # 1 << 5 # Make the widget logarithmic (linear otherwise). Consider using ImGuiSliderFlags_NoRoundToFormat with this if using a format-string with small amount of digits.
602
622
  ImGuiSliderFlags_NoRoundToFormat = 64 # 1 << 6 # Disable rounding underlying value to match precision of the display format string (e.g. %.3f values are rounded to those 3 digits)
603
623
  ImGuiSliderFlags_NoInput = 128 # 1 << 7 # Disable CTRL+Click or Enter key allowing to input text directly into the widget
624
+ ImGuiSliderFlags_WrapAround = 256 # 1 << 8
604
625
  ImGuiSliderFlags_InvalidMask_ = 1879048207 # 0x7000000F # [Internal] We treat using those bits as being potentially a 'float power' argument from the previous API that has got miscast to this enum, and will trigger an assert if needed.
605
626
 
606
- # ImGuiSortDirection_
607
- # A sorting direction
627
+ # ImGuiSortDirection
608
628
  ImGuiSortDirection_None = 0 # 0
609
- ImGuiSortDirection_Ascending = 1 # 1 # Ascending = 0->9, A->Z etc.
610
- ImGuiSortDirection_Descending = 2 # 2 # Descending = 9->0, Z->A etc.
629
+ ImGuiSortDirection_Ascending = 1 # 1
630
+ ImGuiSortDirection_Descending = 2 # 2
611
631
 
612
632
  # ImGuiStyleVar_
613
633
  # Enumeration for PushStyleVar() / PopStyleVar() to temporarily modify the ImGuiStyle structure.
614
634
  # - The enum only refers to fields of ImGuiStyle which makes sense to be pushed/popped inside UI code.
615
635
  # During initialization or between frames, feel free to just poke into ImGuiStyle directly.
616
636
  # - Tip: Use your programming IDE navigation facilities on the names in the _second column_ below to find the actual members and their description.
617
- # In Visual Studio IDE: CTRL+comma ("Edit.GoToAll") can follow symbols in comments, whereas CTRL+F12 ("Edit.GoToImplementation") cannot.
618
- # With Visual Assist installed: ALT+G ("VAssistX.GoToImplementation") can also follow symbols in comments.
637
+ # - In Visual Studio: CTRL+comma ("Edit.GoToAll") can follow symbols inside comments, whereas CTRL+F12 ("Edit.GoToImplementation") cannot.
638
+ # - In Visual Studio w/ Visual Assist installed: ALT+G ("VAssistX.GoToImplementation") can also follow symbols inside comments.
639
+ # - In VS Code, CLion, etc.: CTRL+click can follow symbols inside comments.
619
640
  # - When changing this enum, you need to update the associated internal table GStyleVarInfo[] accordingly. This is where we link enum values to members offset/type.
620
- ImGuiStyleVar_Alpha = 0 # 0 # float Alpha
621
- ImGuiStyleVar_DisabledAlpha = 1 # 1 # float DisabledAlpha
622
- ImGuiStyleVar_WindowPadding = 2 # 2 # ImVec2 WindowPadding
623
- ImGuiStyleVar_WindowRounding = 3 # 3 # float WindowRounding
624
- ImGuiStyleVar_WindowBorderSize = 4 # 4 # float WindowBorderSize
625
- ImGuiStyleVar_WindowMinSize = 5 # 5 # ImVec2 WindowMinSize
626
- ImGuiStyleVar_WindowTitleAlign = 6 # 6 # ImVec2 WindowTitleAlign
627
- ImGuiStyleVar_ChildRounding = 7 # 7 # float ChildRounding
628
- ImGuiStyleVar_ChildBorderSize = 8 # 8 # float ChildBorderSize
629
- ImGuiStyleVar_PopupRounding = 9 # 9 # float PopupRounding
630
- ImGuiStyleVar_PopupBorderSize = 10 # 10 # float PopupBorderSize
631
- ImGuiStyleVar_FramePadding = 11 # 11 # ImVec2 FramePadding
632
- ImGuiStyleVar_FrameRounding = 12 # 12 # float FrameRounding
633
- ImGuiStyleVar_FrameBorderSize = 13 # 13 # float FrameBorderSize
634
- ImGuiStyleVar_ItemSpacing = 14 # 14 # ImVec2 ItemSpacing
635
- ImGuiStyleVar_ItemInnerSpacing = 15 # 15 # ImVec2 ItemInnerSpacing
636
- ImGuiStyleVar_IndentSpacing = 16 # 16 # float IndentSpacing
637
- ImGuiStyleVar_CellPadding = 17 # 17 # ImVec2 CellPadding
638
- ImGuiStyleVar_ScrollbarSize = 18 # 18 # float ScrollbarSize
639
- ImGuiStyleVar_ScrollbarRounding = 19 # 19 # float ScrollbarRounding
640
- ImGuiStyleVar_GrabMinSize = 20 # 20 # float GrabMinSize
641
- ImGuiStyleVar_GrabRounding = 21 # 21 # float GrabRounding
642
- ImGuiStyleVar_TabRounding = 22 # 22 # float TabRounding
643
- ImGuiStyleVar_TabBarBorderSize = 23 # 23 # float TabBarBorderSize
644
- ImGuiStyleVar_ButtonTextAlign = 24 # 24 # ImVec2 ButtonTextAlign
645
- ImGuiStyleVar_SelectableTextAlign = 25 # 25 # ImVec2 SelectableTextAlign
646
- ImGuiStyleVar_SeparatorTextBorderSize = 26 # 26 # float SeparatorTextBorderSize
647
- ImGuiStyleVar_SeparatorTextAlign = 27 # 27 # ImVec2 SeparatorTextAlign
648
- ImGuiStyleVar_SeparatorTextPadding = 28 # 28 # ImVec2 SeparatorTextPadding
649
- ImGuiStyleVar_COUNT = 29 # 29
641
+ ImGuiStyleVar_Alpha = 0 # 0 # float Alpha
642
+ ImGuiStyleVar_DisabledAlpha = 1 # 1 # float DisabledAlpha
643
+ ImGuiStyleVar_WindowPadding = 2 # 2 # ImVec2 WindowPadding
644
+ ImGuiStyleVar_WindowRounding = 3 # 3 # float WindowRounding
645
+ ImGuiStyleVar_WindowBorderSize = 4 # 4 # float WindowBorderSize
646
+ ImGuiStyleVar_WindowMinSize = 5 # 5 # ImVec2 WindowMinSize
647
+ ImGuiStyleVar_WindowTitleAlign = 6 # 6 # ImVec2 WindowTitleAlign
648
+ ImGuiStyleVar_ChildRounding = 7 # 7 # float ChildRounding
649
+ ImGuiStyleVar_ChildBorderSize = 8 # 8 # float ChildBorderSize
650
+ ImGuiStyleVar_PopupRounding = 9 # 9 # float PopupRounding
651
+ ImGuiStyleVar_PopupBorderSize = 10 # 10 # float PopupBorderSize
652
+ ImGuiStyleVar_FramePadding = 11 # 11 # ImVec2 FramePadding
653
+ ImGuiStyleVar_FrameRounding = 12 # 12 # float FrameRounding
654
+ ImGuiStyleVar_FrameBorderSize = 13 # 13 # float FrameBorderSize
655
+ ImGuiStyleVar_ItemSpacing = 14 # 14 # ImVec2 ItemSpacing
656
+ ImGuiStyleVar_ItemInnerSpacing = 15 # 15 # ImVec2 ItemInnerSpacing
657
+ ImGuiStyleVar_IndentSpacing = 16 # 16 # float IndentSpacing
658
+ ImGuiStyleVar_CellPadding = 17 # 17 # ImVec2 CellPadding
659
+ ImGuiStyleVar_ScrollbarSize = 18 # 18 # float ScrollbarSize
660
+ ImGuiStyleVar_ScrollbarRounding = 19 # 19 # float ScrollbarRounding
661
+ ImGuiStyleVar_GrabMinSize = 20 # 20 # float GrabMinSize
662
+ ImGuiStyleVar_GrabRounding = 21 # 21 # float GrabRounding
663
+ ImGuiStyleVar_TabRounding = 22 # 22 # float TabRounding
664
+ ImGuiStyleVar_TabBorderSize = 23 # 23 # float TabBorderSize
665
+ ImGuiStyleVar_TabBarBorderSize = 24 # 24 # float TabBarBorderSize
666
+ ImGuiStyleVar_TableAngledHeadersAngle = 25 # 25 # float TableAngledHeadersAngle
667
+ ImGuiStyleVar_TableAngledHeadersTextAlign = 26 # 26
668
+ ImGuiStyleVar_ButtonTextAlign = 27 # 27 # ImVec2 ButtonTextAlign
669
+ ImGuiStyleVar_SelectableTextAlign = 28 # 28 # ImVec2 SelectableTextAlign
670
+ ImGuiStyleVar_SeparatorTextBorderSize = 29 # 29 # float SeparatorTextBorderSize
671
+ ImGuiStyleVar_SeparatorTextAlign = 30 # 30 # ImVec2 SeparatorTextAlign
672
+ ImGuiStyleVar_SeparatorTextPadding = 31 # 31 # ImVec2 SeparatorTextPadding
673
+ ImGuiStyleVar_COUNT = 32 # 32
650
674
 
651
675
  # ImGuiTabBarFlags_
652
676
  # Flags for ImGui::BeginTabBar()
@@ -657,10 +681,11 @@ ImGuiTabBarFlags_TabListPopupButton = 4 # 1 << 2 # Disable buttons to
657
681
  ImGuiTabBarFlags_NoCloseWithMiddleMouseButton = 8 # 1 << 3 # Disable behavior of closing tabs (that are submitted with p_open != NULL) with middle mouse button. You may handle this behavior manually on user's side with if (IsItemHovered() && IsMouseClicked(2)) *p_open = false.
658
682
  ImGuiTabBarFlags_NoTabListScrollingButtons = 16 # 1 << 4 # Disable scrolling buttons (apply when fitting policy is ImGuiTabBarFlags_FittingPolicyScroll)
659
683
  ImGuiTabBarFlags_NoTooltip = 32 # 1 << 5 # Disable tooltips when hovering a tab
660
- ImGuiTabBarFlags_FittingPolicyResizeDown = 64 # 1 << 6 # Resize tabs when they don't fit
661
- ImGuiTabBarFlags_FittingPolicyScroll = 128 # 1 << 7 # Add scroll buttons when tabs don't fit
662
- ImGuiTabBarFlags_FittingPolicyMask_ = 192 # ImGuiTabBarFlags_FittingPolicyResizeDown | ImGuiTabBarFlags_FittingPolicyScroll
663
- ImGuiTabBarFlags_FittingPolicyDefault_ = 64 # ImGuiTabBarFlags_FittingPolicyResizeDown
684
+ ImGuiTabBarFlags_DrawSelectedOverline = 64 # 1 << 6
685
+ ImGuiTabBarFlags_FittingPolicyResizeDown = 128 # 1 << 7 # Resize tabs when they don't fit
686
+ ImGuiTabBarFlags_FittingPolicyScroll = 256 # 1 << 8 # Add scroll buttons when tabs don't fit
687
+ ImGuiTabBarFlags_FittingPolicyMask_ = 384 # ImGuiTabBarFlags_FittingPolicyResizeDown | ImGuiTabBarFlags_FittingPolicyScroll
688
+ ImGuiTabBarFlags_FittingPolicyDefault_ = 128 # ImGuiTabBarFlags_FittingPolicyResizeDown
664
689
 
665
690
  # ImGuiTabItemFlags_
666
691
  # Flags for ImGui::BeginTabItem()
@@ -803,8 +828,9 @@ ImGuiTreeNodeFlags_Bullet = 512 # 1 << 9 # Display a bullet inst
803
828
  ImGuiTreeNodeFlags_FramePadding = 1024 # 1 << 10 # Use FramePadding (even for an unframed text node) to vertically align text baseline to regular widget height. Equivalent to calling AlignTextToFramePadding().
804
829
  ImGuiTreeNodeFlags_SpanAvailWidth = 2048 # 1 << 11 # Extend hit box to the right-most edge, even if not framed. This is not the default in order to allow adding other items on the same line. In the future we may refactor the hit system to be front-to-back, allowing natural overlaps and then this can become the default.
805
830
  ImGuiTreeNodeFlags_SpanFullWidth = 4096 # 1 << 12 # Extend hit box to the left-most and right-most edges (bypass the indented area).
806
- ImGuiTreeNodeFlags_SpanAllColumns = 8192 # 1 << 13 # Frame will span all columns of its container table (text will still fit in current column)
807
- ImGuiTreeNodeFlags_NavLeftJumpsBackHere = 16384 # 1 << 14 # (WIP) Nav: left direction may move to this TreeNode() from any of its child (items submitted between TreeNode and TreePop)
831
+ ImGuiTreeNodeFlags_SpanTextWidth = 8192 # 1 << 13
832
+ ImGuiTreeNodeFlags_SpanAllColumns = 16384 # 1 << 14 # Frame will span all columns of its container table (text will still fit in current column)
833
+ ImGuiTreeNodeFlags_NavLeftJumpsBackHere = 32768 # 1 << 15 # (WIP) Nav: left direction may move to this TreeNode() from any of its child (items submitted between TreeNode and TreePop)
808
834
  ImGuiTreeNodeFlags_CollapsingHeader = 26 # ImGuiTreeNodeFlags_Framed | ImGuiTreeNodeFlags_NoTreePushOnOpen | ImGuiTreeNodeFlags_NoAutoOpenOnLog
809
835
 
810
836
  # ImGuiViewportFlags_
@@ -840,7 +866,6 @@ ImGuiWindowFlags_UnsavedDocument = 262144 # 1 << 18 # Display a dot nex
840
866
  ImGuiWindowFlags_NoNav = 196608 # ImGuiWindowFlags_NoNavInputs | ImGuiWindowFlags_NoNavFocus
841
867
  ImGuiWindowFlags_NoDecoration = 43 # ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoScrollbar | ImGuiWindowFlags_NoCollapse
842
868
  ImGuiWindowFlags_NoInputs = 197120 # ImGuiWindowFlags_NoMouseInputs | ImGuiWindowFlags_NoNavInputs | ImGuiWindowFlags_NoNavFocus
843
- ImGuiWindowFlags_NavFlattened = 8388608 # 1 << 23 # [BETA] On child window: share focus scope, allow gamepad/keyboard navigation to cross over parent border to this child or between sibling child windows.
844
869
  ImGuiWindowFlags_ChildWindow = 16777216 # 1 << 24 # Don't use! For internal use by BeginChild()
845
870
  ImGuiWindowFlags_Tooltip = 33554432 # 1 << 25 # Don't use! For internal use by BeginTooltip()
846
871
  ImGuiWindowFlags_Popup = 67108864 # 1 << 26 # Don't use! For internal use by BeginPopup()
@@ -976,15 +1001,15 @@ class ImDrawList < FFI::Struct
976
1001
  :Flags, :int,
977
1002
  :_VtxCurrentIdx, :uint,
978
1003
  :_Data, :pointer,
979
- :_OwnerName, :pointer,
980
1004
  :_VtxWritePtr, ImDrawVert.ptr,
981
1005
  :_IdxWritePtr, :pointer,
982
- :_ClipRectStack, ImVector.by_value,
983
- :_TextureIdStack, ImVector.by_value,
984
1006
  :_Path, ImVector.by_value,
985
1007
  :_CmdHeader, ImDrawCmdHeader.by_value,
986
1008
  :_Splitter, ImDrawListSplitter.by_value,
987
- :_FringeScale, :float
1009
+ :_ClipRectStack, ImVector.by_value,
1010
+ :_TextureIdStack, ImVector.by_value,
1011
+ :_FringeScale, :float,
1012
+ :_OwnerName, :pointer
988
1013
  )
989
1014
 
990
1015
  def AddBezierCubic(p1, p2, p3, p4, col, thickness, num_segments = 0)
@@ -1007,6 +1032,10 @@ class ImDrawList < FFI::Struct
1007
1032
  ImGui::ImDrawList_AddCircleFilled(self, center, radius, col, num_segments)
1008
1033
  end
1009
1034
 
1035
+ def AddConcavePolyFilled(points, num_points, col)
1036
+ ImGui::ImDrawList_AddConcavePolyFilled(self, points, num_points, col)
1037
+ end
1038
+
1010
1039
  def AddConvexPolyFilled(points, num_points, col)
1011
1040
  ImGui::ImDrawList_AddConvexPolyFilled(self, points, num_points, col)
1012
1041
  end
@@ -1015,12 +1044,12 @@ class ImDrawList < FFI::Struct
1015
1044
  ImGui::ImDrawList_AddDrawCmd(self)
1016
1045
  end
1017
1046
 
1018
- def AddEllipse(center, radius_x, radius_y, col, rot = 0.0, num_segments = 0, thickness = 1.0)
1019
- ImGui::ImDrawList_AddEllipse(self, center, radius_x, radius_y, col, rot, num_segments, thickness)
1047
+ def AddEllipse(center, radius, col, rot = 0.0, num_segments = 0, thickness = 1.0)
1048
+ ImGui::ImDrawList_AddEllipse(self, center, radius, col, rot, num_segments, thickness)
1020
1049
  end
1021
1050
 
1022
- def AddEllipseFilled(center, radius_x, radius_y, col, rot = 0.0, num_segments = 0)
1023
- ImGui::ImDrawList_AddEllipseFilled(self, center, radius_x, radius_y, col, rot, num_segments)
1051
+ def AddEllipseFilled(center, radius, col, rot = 0.0, num_segments = 0)
1052
+ ImGui::ImDrawList_AddEllipseFilled(self, center, radius, col, rot, num_segments)
1024
1053
  end
1025
1054
 
1026
1055
  def AddImage(user_texture_id, p_min, p_max, uv_min = ImVec2.create(0,0), uv_max = ImVec2.create(1,1), col = ImColor.col32(255,255,255,255))
@@ -1139,8 +1168,12 @@ class ImDrawList < FFI::Struct
1139
1168
  ImGui::ImDrawList_PathClear(self)
1140
1169
  end
1141
1170
 
1142
- def PathEllipticalArcTo(center, radius_x, radius_y, rot, a_min, a_max, num_segments = 0)
1143
- ImGui::ImDrawList_PathEllipticalArcTo(self, center, radius_x, radius_y, rot, a_min, a_max, num_segments)
1171
+ def PathEllipticalArcTo(center, radius, rot, a_min, a_max, num_segments = 0)
1172
+ ImGui::ImDrawList_PathEllipticalArcTo(self, center, radius, rot, a_min, a_max, num_segments)
1173
+ end
1174
+
1175
+ def PathFillConcave(col)
1176
+ ImGui::ImDrawList_PathFillConcave(self, col)
1144
1177
  end
1145
1178
 
1146
1179
  def PathFillConvex(col)
@@ -1456,6 +1489,7 @@ class ImGuiViewport < FFI::Struct
1456
1489
  :Size, ImVec2.by_value,
1457
1490
  :WorkPos, ImVec2.by_value,
1458
1491
  :WorkSize, ImVec2.by_value,
1492
+ :PlatformHandle, :pointer,
1459
1493
  :PlatformHandleRaw, :pointer
1460
1494
  )
1461
1495
 
@@ -1802,7 +1836,9 @@ class ImGuiIO < FFI::Struct
1802
1836
  :GetClipboardTextFn, :pointer,
1803
1837
  :SetClipboardTextFn, :pointer,
1804
1838
  :ClipboardUserData, :pointer,
1805
- :SetPlatformImeDataFn, :pointer,
1839
+ :PlatformOpenInShellFn, :pointer,
1840
+ :PlatformOpenInShellUserData, :pointer,
1841
+ :PlatformSetImeDataFn, :pointer,
1806
1842
  :PlatformLocaleDecimalPoint, :ushort,
1807
1843
  :WantCaptureMouse, :bool,
1808
1844
  :WantCaptureKeyboard, :bool,
@@ -1841,6 +1877,7 @@ class ImGuiIO < FFI::Struct
1841
1877
  :MouseDownOwned, [:bool, 5],
1842
1878
  :MouseDownOwnedUnlessPopupClose, [:bool, 5],
1843
1879
  :MouseWheelRequestAxisSwap, :bool,
1880
+ :MouseCtrlLeftAsRightClick, :bool,
1844
1881
  :MouseDownDuration, [:float, 5],
1845
1882
  :MouseDownDurationPrev, [:float, 5],
1846
1883
  :MouseDragMaxDistanceSqr, [:float, 5],
@@ -1901,6 +1938,10 @@ class ImGuiIO < FFI::Struct
1901
1938
  ImGui::ImGuiIO_ClearInputKeys(self)
1902
1939
  end
1903
1940
 
1941
+ def ClearInputMouse()
1942
+ ImGui::ImGuiIO_ClearInputMouse(self)
1943
+ end
1944
+
1904
1945
  def self.create()
1905
1946
  return ImGuiIO.new(ImGui::ImGuiIO_ImGuiIO())
1906
1947
  end
@@ -2212,6 +2253,7 @@ class ImGuiStyle < FFI::Struct
2212
2253
  :TabMinWidthForCloseButton, :float,
2213
2254
  :TabBarBorderSize, :float,
2214
2255
  :TableAngledHeadersAngle, :float,
2256
+ :TableAngledHeadersTextAlign, ImVec2.by_value,
2215
2257
  :ColorButtonPosition, :int,
2216
2258
  :ButtonTextAlign, ImVec2.by_value,
2217
2259
  :SelectableTextAlign, ImVec2.by_value,
@@ -2226,7 +2268,7 @@ class ImGuiStyle < FFI::Struct
2226
2268
  :AntiAliasedFill, :bool,
2227
2269
  :CurveTessellationTol, :float,
2228
2270
  :CircleTessellationMaxError, :float,
2229
- :Colors, [ImVec4.by_value, 53],
2271
+ :Colors, [ImVec4.by_value, 56],
2230
2272
  :HoverStationaryDelay, :float,
2231
2273
  :HoverDelayShort, :float,
2232
2274
  :HoverDelayNormal, :float,
@@ -2254,7 +2296,7 @@ class ImGuiTableColumnSortSpecs < FFI::Struct
2254
2296
  :ColumnUserID, :uint,
2255
2297
  :ColumnIndex, :short,
2256
2298
  :SortOrder, :short,
2257
- :SortDirection, :int
2299
+ :SortDirection, :uchar
2258
2300
  )
2259
2301
 
2260
2302
  def self.create()
@@ -2501,10 +2543,11 @@ module ImGui
2501
2543
  [:ImDrawList_AddCallback, [:pointer, :ImDrawCallback, :pointer], :void],
2502
2544
  [:ImDrawList_AddCircle, [:pointer, ImVec2.by_value, :float, :uint, :int, :float], :void],
2503
2545
  [:ImDrawList_AddCircleFilled, [:pointer, ImVec2.by_value, :float, :uint, :int], :void],
2546
+ [:ImDrawList_AddConcavePolyFilled, [:pointer, :pointer, :int, :uint], :void],
2504
2547
  [:ImDrawList_AddConvexPolyFilled, [:pointer, :pointer, :int, :uint], :void],
2505
2548
  [:ImDrawList_AddDrawCmd, [:pointer], :void],
2506
- [:ImDrawList_AddEllipse, [:pointer, ImVec2.by_value, :float, :float, :uint, :float, :int, :float], :void],
2507
- [:ImDrawList_AddEllipseFilled, [:pointer, ImVec2.by_value, :float, :float, :uint, :float, :int], :void],
2549
+ [:ImDrawList_AddEllipse, [:pointer, ImVec2.by_value, ImVec2.by_value, :uint, :float, :int, :float], :void],
2550
+ [:ImDrawList_AddEllipseFilled, [:pointer, ImVec2.by_value, ImVec2.by_value, :uint, :float, :int], :void],
2508
2551
  [:ImDrawList_AddImage, [:pointer, :pointer, ImVec2.by_value, ImVec2.by_value, ImVec2.by_value, ImVec2.by_value, :uint], :void],
2509
2552
  [:ImDrawList_AddImageQuad, [:pointer, :pointer, ImVec2.by_value, ImVec2.by_value, ImVec2.by_value, ImVec2.by_value, ImVec2.by_value, ImVec2.by_value, ImVec2.by_value, ImVec2.by_value, :uint], :void],
2510
2553
  [:ImDrawList_AddImageRounded, [:pointer, :pointer, ImVec2.by_value, ImVec2.by_value, ImVec2.by_value, ImVec2.by_value, :uint, :float, :int], :void],
@@ -2533,7 +2576,8 @@ module ImGui
2533
2576
  [:ImDrawList_PathBezierCubicCurveTo, [:pointer, ImVec2.by_value, ImVec2.by_value, ImVec2.by_value, :int], :void],
2534
2577
  [:ImDrawList_PathBezierQuadraticCurveTo, [:pointer, ImVec2.by_value, ImVec2.by_value, :int], :void],
2535
2578
  [:ImDrawList_PathClear, [:pointer], :void],
2536
- [:ImDrawList_PathEllipticalArcTo, [:pointer, ImVec2.by_value, :float, :float, :float, :float, :float, :int], :void],
2579
+ [:ImDrawList_PathEllipticalArcTo, [:pointer, ImVec2.by_value, ImVec2.by_value, :float, :float, :float, :int], :void],
2580
+ [:ImDrawList_PathFillConcave, [:pointer, :uint], :void],
2537
2581
  [:ImDrawList_PathFillConvex, [:pointer, :uint], :void],
2538
2582
  [:ImDrawList_PathLineTo, [:pointer, ImVec2.by_value], :void],
2539
2583
  [:ImDrawList_PathLineToMergeDuplicate, [:pointer, ImVec2.by_value], :void],
@@ -2638,6 +2682,7 @@ module ImGui
2638
2682
  [:ImGuiIO_AddMouseWheelEvent, [:pointer, :float, :float], :void],
2639
2683
  [:ImGuiIO_ClearEventsQueue, [:pointer], :void],
2640
2684
  [:ImGuiIO_ClearInputKeys, [:pointer], :void],
2685
+ [:ImGuiIO_ClearInputMouse, [:pointer], :void],
2641
2686
  [:ImGuiIO_ImGuiIO, [], :pointer],
2642
2687
  [:ImGuiIO_SetAppAcceptingEvents, [:pointer, :bool], :void],
2643
2688
  [:ImGuiIO_SetKeyEventNativeData, [:pointer, :int, :int, :int, :int], :void],
@@ -2771,6 +2816,7 @@ module ImGui
2771
2816
  [:igCreateContext, [:pointer], :pointer],
2772
2817
  [:igDebugCheckVersionAndDataLayout, [:pointer, :size_t, :size_t, :size_t, :size_t, :size_t, :size_t], :bool],
2773
2818
  [:igDebugFlashStyleColor, [:int], :void],
2819
+ [:igDebugLog, [:pointer, :varargs], :void],
2774
2820
  [:igDebugStartItemPicker, [], :void],
2775
2821
  [:igDebugTextEncoding, [:pointer], :void],
2776
2822
  [:igDestroyContext, [:pointer], :void],
@@ -2840,7 +2886,6 @@ module ImGui
2840
2886
  [:igGetItemRectMax, [:pointer], :void],
2841
2887
  [:igGetItemRectMin, [:pointer], :void],
2842
2888
  [:igGetItemRectSize, [:pointer], :void],
2843
- [:igGetKeyIndex, [:int], :int],
2844
2889
  [:igGetKeyName, [:int], :pointer],
2845
2890
  [:igGetKeyPressedAmount, [:int, :float, :float], :int],
2846
2891
  [:igGetMainViewport, [], :pointer],
@@ -2998,6 +3043,7 @@ module ImGui
2998
3043
  [:igSetNextFrameWantCaptureMouse, [:bool], :void],
2999
3044
  [:igSetNextItemAllowOverlap, [], :void],
3000
3045
  [:igSetNextItemOpen, [:bool, :int], :void],
3046
+ [:igSetNextItemShortcut, [:int, :int], :void],
3001
3047
  [:igSetNextItemWidth, [:float], :void],
3002
3048
  [:igSetNextWindowBgAlpha, [:float], :void],
3003
3049
  [:igSetNextWindowCollapsed, [:bool, :int], :void],
@@ -3025,6 +3071,7 @@ module ImGui
3025
3071
  [:igSetWindowPos_Str, [:pointer, ImVec2.by_value, :int], :void],
3026
3072
  [:igSetWindowSize_Vec2, [ImVec2.by_value, :int], :void],
3027
3073
  [:igSetWindowSize_Str, [:pointer, ImVec2.by_value, :int], :void],
3074
+ [:igShortcut, [:int, :int], :bool],
3028
3075
  [:igShowAboutWindow, [:pointer], :void],
3029
3076
  [:igShowDebugLogWindow, [:pointer], :void],
3030
3077
  [:igShowDemoWindow, [:pointer], :void],
@@ -3056,6 +3103,7 @@ module ImGui
3056
3103
  [:igTableGetColumnFlags, [:int], :int],
3057
3104
  [:igTableGetColumnIndex, [], :int],
3058
3105
  [:igTableGetColumnName, [:int], :pointer],
3106
+ [:igTableGetHoveredColumn, [], :int],
3059
3107
  [:igTableGetRowIndex, [], :int],
3060
3108
  [:igTableGetSortSpecs, [], :pointer],
3061
3109
  [:igTableHeader, [:pointer], :void],
@@ -3070,6 +3118,8 @@ module ImGui
3070
3118
  [:igText, [:pointer, :varargs], :void],
3071
3119
  [:igTextColored, [ImVec4.by_value, :pointer, :varargs], :void],
3072
3120
  [:igTextDisabled, [:pointer, :varargs], :void],
3121
+ [:igTextLink, [:pointer], :bool],
3122
+ [:igTextLinkOpenURL, [:pointer, :pointer], :void],
3073
3123
  [:igTextUnformatted, [:pointer, :pointer], :void],
3074
3124
  [:igTextWrapped, [:pointer, :varargs], :void],
3075
3125
  [:igTreeNode_Str, [:pointer], :bool],
@@ -3302,7 +3352,7 @@ module ImGui
3302
3352
  igBeginTabItem(label, p_open, flags)
3303
3353
  end
3304
3354
 
3305
- # arg: str_id(const char*), column(int), flags(ImGuiTableFlags), outer_size(ImVec2), inner_width(float)
3355
+ # arg: str_id(const char*), columns(int), flags(ImGuiTableFlags), outer_size(ImVec2), inner_width(float)
3306
3356
  # ret: bool
3307
3357
  #
3308
3358
  # Tables
@@ -3326,8 +3376,8 @@ module ImGui
3326
3376
  # - TableNextColumn() -> Text("Hello 0") -> TableNextColumn() -> Text("Hello 1") // OK: TableNextColumn() automatically gets to next row!
3327
3377
  # - TableNextRow() -> Text("Hello 0") // Not OK! Missing TableSetColumnIndex() or TableNextColumn()! Text will not appear!
3328
3378
  # - 5. Call EndTable()
3329
- def self.BeginTable(str_id, column, flags = 0, outer_size = ImVec2.create(0.0,0.0), inner_width = 0.0) # Implied outer_size = ImVec2(0.0f, 0.0f), inner_width = 0.0f
3330
- igBeginTable(str_id, column, flags, outer_size, inner_width)
3379
+ def self.BeginTable(str_id, columns, flags = 0, outer_size = ImVec2.create(0.0,0.0), inner_width = 0.0) # Implied outer_size = ImVec2(0.0f, 0.0f), inner_width = 0.0f
3380
+ igBeginTable(str_id, columns, flags, outer_size, inner_width)
3331
3381
  end
3332
3382
 
3333
3383
  # ret: bool
@@ -3522,6 +3572,12 @@ module ImGui
3522
3572
  igDebugFlashStyleColor(idx)
3523
3573
  end
3524
3574
 
3575
+ # arg: fmt(const char*), ...(...)
3576
+ # ret: void
3577
+ def self.DebugLog(fmt, *varargs)
3578
+ igDebugLog(fmt, *varargs)
3579
+ end
3580
+
3525
3581
  # ret: void
3526
3582
  def self.DebugStartItemPicker()
3527
3583
  igDebugStartItemPicker()
@@ -3948,12 +4004,6 @@ module ImGui
3948
4004
  return pOut
3949
4005
  end
3950
4006
 
3951
- # arg: key(ImGuiKey)
3952
- # ret: int
3953
- def self.GetKeyIndex(key)
3954
- igGetKeyIndex(key)
3955
- end
3956
-
3957
4007
  # arg: key(ImGuiKey)
3958
4008
  # ret: pointer
3959
4009
  def self.GetKeyName(key) # [DEBUG] returns English name of the key. Those names a provided for debugging purpose and are not meant to be saved persistently not compared.
@@ -4926,6 +4976,12 @@ module ImGui
4926
4976
  igSetNextItemOpen(is_open, cond)
4927
4977
  end
4928
4978
 
4979
+ # arg: key_chord(ImGuiKeyChord), flags(ImGuiInputFlags)
4980
+ # ret: void
4981
+ def self.SetNextItemShortcut(key_chord, flags = 0)
4982
+ igSetNextItemShortcut(key_chord, flags)
4983
+ end
4984
+
4929
4985
  # arg: item_width(float)
4930
4986
  # ret: void
4931
4987
  def self.SetNextItemWidth(item_width) # set width of the _next_ common large "item+label" widget. >0.0f: width in pixels, <0.0f align xx pixels to the right of window (so -FLT_MIN always align width to the right side)
@@ -5089,6 +5145,12 @@ module ImGui
5089
5145
  igSetWindowSize_Str(name, size, cond)
5090
5146
  end
5091
5147
 
5148
+ # arg: key_chord(ImGuiKeyChord), flags(ImGuiInputFlags)
5149
+ # ret: bool
5150
+ def self.Shortcut(key_chord, flags = 0)
5151
+ igShortcut(key_chord, flags)
5152
+ end
5153
+
5092
5154
  # arg: p_open(bool*)
5093
5155
  # ret: void
5094
5156
  def self.ShowAboutWindow(p_open = nil) # create About window. display Dear ImGui version, credits and build/system information.
@@ -5281,6 +5343,11 @@ module ImGui
5281
5343
  igTableGetColumnName(column_n)
5282
5344
  end
5283
5345
 
5346
+ # ret: int
5347
+ def self.TableGetHoveredColumn()
5348
+ igTableGetHoveredColumn()
5349
+ end
5350
+
5284
5351
  # ret: int
5285
5352
  def self.TableGetRowIndex() # return current row index.
5286
5353
  igTableGetRowIndex()
@@ -5377,6 +5444,18 @@ module ImGui
5377
5444
  igTextDisabled(fmt, *varargs)
5378
5445
  end
5379
5446
 
5447
+ # arg: label(const char*)
5448
+ # ret: bool
5449
+ def self.TextLink(label)
5450
+ igTextLink(label)
5451
+ end
5452
+
5453
+ # arg: label(const char*), url(const char*)
5454
+ # ret: void
5455
+ def self.TextLinkOpenURL(label, url = nil)
5456
+ igTextLinkOpenURL(label, url)
5457
+ end
5458
+
5380
5459
  # arg: text(const char*), text_end(const char*)
5381
5460
  # ret: void
5382
5461
  #
data/lib/imgui.x86_64.so CHANGED
Binary file
Binary file
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: imgui-bindings
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.11
4
+ version: 0.1.13
5
5
  platform: x86_64-linux
6
6
  authors:
7
7
  - vaiorabbit
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-02-25 00:00:00.000000000 Z
11
+ date: 2024-07-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ffi
@@ -80,7 +80,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
80
80
  - !ruby/object:Gem::Version
81
81
  version: '0'
82
82
  requirements: []
83
- rubygems_version: 3.5.5
83
+ rubygems_version: 3.5.15
84
84
  signing_key:
85
85
  specification_version: 4
86
86
  summary: Bindings for Dear ImGui