imgui-bindings 0.1.12-x86_64-darwin → 0.1.13-x86_64-darwin

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: f24272fa2e666a411bbcb4b764dcb88b26f55cef9044605b8270aea015e40e79
4
- data.tar.gz: 0d9ff78db93e86e6e58d5234eafdde414de4f3bc0aaaedf8f20b62b93b67aee2
3
+ metadata.gz: f7fa52cb98f6d17eb1d1f775ca9dd42f45c75e67fdf56af8bab3d36e817d93f8
4
+ data.tar.gz: 6862e3481f60d1aca14247c3fcf3b88423003e49837342567283502985b71948
5
5
  SHA512:
6
- metadata.gz: 8b3b01f1038fd7d2e3b93167d12eb2822b5f085733e286588cc920dcd569ea2c150182e7809d6f0329a6eee97663a10a949b8a34eb21ca8a067ad96c48b8291a
7
- data.tar.gz: 17de91a0c722b8a16182fcf1fa121b22ea9e2ae8da86d86c938064d9463c904bc2610da84dcd981487c1f746b1d2b24ea80962749b2d91de86f25ae57682b567
6
+ metadata.gz: 4d6870e24ade7800b554f3ff1d40acd45ec5ab48b116e3ab19a22ce4285e3dac9577c599a05bf645c5891ed68de305bac7ebecde726422116679dcc26ef370cd
7
+ data.tar.gz: 108a62abc0990c62d2c5d656c02f56353aade423d0705284f657657cd11c9a1627e8a973a8a8c1dd6b84c0ab7f962d61bbf1b90d4e72dddd98807960664d01b3
data/ChangeLog CHANGED
@@ -1,3 +1,7 @@
1
+ 2024-07-14 vaiorabbit <http://twitter.com/vaiorabbit>
2
+
3
+ * ImGui v1.90.9
4
+
1
5
  2024-04-13 vaiorabbit <http://twitter.com/vaiorabbit>
2
6
 
3
7
  * ImGui v1.90.5
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-04-13
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,13 +621,13 @@ 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.
@@ -618,38 +638,39 @@ ImGuiSortDirection_Descending = 2 # 2 # Descending = 9->0, Z->A etc.
618
638
  # - In Visual Studio w/ Visual Assist installed: ALT+G ("VAssistX.GoToImplementation") can also follow symbols inside comments.
619
639
  # - In VS Code, CLion, etc.: CTRL+click can follow symbols inside comments.
620
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.
621
- ImGuiStyleVar_Alpha = 0 # 0 # float Alpha
622
- ImGuiStyleVar_DisabledAlpha = 1 # 1 # float DisabledAlpha
623
- ImGuiStyleVar_WindowPadding = 2 # 2 # ImVec2 WindowPadding
624
- ImGuiStyleVar_WindowRounding = 3 # 3 # float WindowRounding
625
- ImGuiStyleVar_WindowBorderSize = 4 # 4 # float WindowBorderSize
626
- ImGuiStyleVar_WindowMinSize = 5 # 5 # ImVec2 WindowMinSize
627
- ImGuiStyleVar_WindowTitleAlign = 6 # 6 # ImVec2 WindowTitleAlign
628
- ImGuiStyleVar_ChildRounding = 7 # 7 # float ChildRounding
629
- ImGuiStyleVar_ChildBorderSize = 8 # 8 # float ChildBorderSize
630
- ImGuiStyleVar_PopupRounding = 9 # 9 # float PopupRounding
631
- ImGuiStyleVar_PopupBorderSize = 10 # 10 # float PopupBorderSize
632
- ImGuiStyleVar_FramePadding = 11 # 11 # ImVec2 FramePadding
633
- ImGuiStyleVar_FrameRounding = 12 # 12 # float FrameRounding
634
- ImGuiStyleVar_FrameBorderSize = 13 # 13 # float FrameBorderSize
635
- ImGuiStyleVar_ItemSpacing = 14 # 14 # ImVec2 ItemSpacing
636
- ImGuiStyleVar_ItemInnerSpacing = 15 # 15 # ImVec2 ItemInnerSpacing
637
- ImGuiStyleVar_IndentSpacing = 16 # 16 # float IndentSpacing
638
- ImGuiStyleVar_CellPadding = 17 # 17 # ImVec2 CellPadding
639
- ImGuiStyleVar_ScrollbarSize = 18 # 18 # float ScrollbarSize
640
- ImGuiStyleVar_ScrollbarRounding = 19 # 19 # float ScrollbarRounding
641
- ImGuiStyleVar_GrabMinSize = 20 # 20 # float GrabMinSize
642
- ImGuiStyleVar_GrabRounding = 21 # 21 # float GrabRounding
643
- ImGuiStyleVar_TabRounding = 22 # 22 # float TabRounding
644
- ImGuiStyleVar_TabBorderSize = 23 # 23 # float TabBorderSize
645
- ImGuiStyleVar_TabBarBorderSize = 24 # 24 # float TabBarBorderSize
646
- ImGuiStyleVar_TableAngledHeadersAngle = 25 # 25 # float TableAngledHeadersAngle
647
- ImGuiStyleVar_ButtonTextAlign = 26 # 26 # ImVec2 ButtonTextAlign
648
- ImGuiStyleVar_SelectableTextAlign = 27 # 27 # ImVec2 SelectableTextAlign
649
- ImGuiStyleVar_SeparatorTextBorderSize = 28 # 28 # float SeparatorTextBorderSize
650
- ImGuiStyleVar_SeparatorTextAlign = 29 # 29 # ImVec2 SeparatorTextAlign
651
- ImGuiStyleVar_SeparatorTextPadding = 30 # 30 # ImVec2 SeparatorTextPadding
652
- ImGuiStyleVar_COUNT = 31 # 31
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
653
674
 
654
675
  # ImGuiTabBarFlags_
655
676
  # Flags for ImGui::BeginTabBar()
@@ -660,10 +681,11 @@ ImGuiTabBarFlags_TabListPopupButton = 4 # 1 << 2 # Disable buttons to
660
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.
661
682
  ImGuiTabBarFlags_NoTabListScrollingButtons = 16 # 1 << 4 # Disable scrolling buttons (apply when fitting policy is ImGuiTabBarFlags_FittingPolicyScroll)
662
683
  ImGuiTabBarFlags_NoTooltip = 32 # 1 << 5 # Disable tooltips when hovering a tab
663
- ImGuiTabBarFlags_FittingPolicyResizeDown = 64 # 1 << 6 # Resize tabs when they don't fit
664
- ImGuiTabBarFlags_FittingPolicyScroll = 128 # 1 << 7 # Add scroll buttons when tabs don't fit
665
- ImGuiTabBarFlags_FittingPolicyMask_ = 192 # ImGuiTabBarFlags_FittingPolicyResizeDown | ImGuiTabBarFlags_FittingPolicyScroll
666
- 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
667
689
 
668
690
  # ImGuiTabItemFlags_
669
691
  # Flags for ImGui::BeginTabItem()
@@ -806,8 +828,9 @@ ImGuiTreeNodeFlags_Bullet = 512 # 1 << 9 # Display a bullet inst
806
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().
807
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.
808
830
  ImGuiTreeNodeFlags_SpanFullWidth = 4096 # 1 << 12 # Extend hit box to the left-most and right-most edges (bypass the indented area).
809
- ImGuiTreeNodeFlags_SpanAllColumns = 8192 # 1 << 13 # Frame will span all columns of its container table (text will still fit in current column)
810
- 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)
811
834
  ImGuiTreeNodeFlags_CollapsingHeader = 26 # ImGuiTreeNodeFlags_Framed | ImGuiTreeNodeFlags_NoTreePushOnOpen | ImGuiTreeNodeFlags_NoAutoOpenOnLog
812
835
 
813
836
  # ImGuiViewportFlags_
@@ -815,7 +838,7 @@ ImGuiTreeNodeFlags_CollapsingHeader = 26 # ImGuiTreeNodeFlags_Framed | Im
815
838
  ImGuiViewportFlags_None = 0 # 0
816
839
  ImGuiViewportFlags_IsPlatformWindow = 1 # 1 << 0 # Represent a Platform Window
817
840
  ImGuiViewportFlags_IsPlatformMonitor = 2 # 1 << 1 # Represent a Platform Monitor (unused yet)
818
- ImGuiViewportFlags_OwnedByApp = 4 # 1 << 2 # Platform Window: Was created/managed by the user application? (rather than our backend)
841
+ ImGuiViewportFlags_OwnedByApp = 4 # 1 << 2 # Platform Window: is created/managed by the application (rather than a dear imgui backend)
819
842
 
820
843
  # ImGuiWindowFlags_
821
844
  # Flags for ImGui::Begin()
@@ -843,7 +866,6 @@ ImGuiWindowFlags_UnsavedDocument = 262144 # 1 << 18 # Display a dot nex
843
866
  ImGuiWindowFlags_NoNav = 196608 # ImGuiWindowFlags_NoNavInputs | ImGuiWindowFlags_NoNavFocus
844
867
  ImGuiWindowFlags_NoDecoration = 43 # ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoScrollbar | ImGuiWindowFlags_NoCollapse
845
868
  ImGuiWindowFlags_NoInputs = 197120 # ImGuiWindowFlags_NoMouseInputs | ImGuiWindowFlags_NoNavInputs | ImGuiWindowFlags_NoNavFocus
846
- 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.
847
869
  ImGuiWindowFlags_ChildWindow = 16777216 # 1 << 24 # Don't use! For internal use by BeginChild()
848
870
  ImGuiWindowFlags_Tooltip = 33554432 # 1 << 25 # Don't use! For internal use by BeginTooltip()
849
871
  ImGuiWindowFlags_Popup = 67108864 # 1 << 26 # Don't use! For internal use by BeginPopup()
@@ -979,15 +1001,15 @@ class ImDrawList < FFI::Struct
979
1001
  :Flags, :int,
980
1002
  :_VtxCurrentIdx, :uint,
981
1003
  :_Data, :pointer,
982
- :_OwnerName, :pointer,
983
1004
  :_VtxWritePtr, ImDrawVert.ptr,
984
1005
  :_IdxWritePtr, :pointer,
985
- :_ClipRectStack, ImVector.by_value,
986
- :_TextureIdStack, ImVector.by_value,
987
1006
  :_Path, ImVector.by_value,
988
1007
  :_CmdHeader, ImDrawCmdHeader.by_value,
989
1008
  :_Splitter, ImDrawListSplitter.by_value,
990
- :_FringeScale, :float
1009
+ :_ClipRectStack, ImVector.by_value,
1010
+ :_TextureIdStack, ImVector.by_value,
1011
+ :_FringeScale, :float,
1012
+ :_OwnerName, :pointer
991
1013
  )
992
1014
 
993
1015
  def AddBezierCubic(p1, p2, p3, p4, col, thickness, num_segments = 0)
@@ -1453,7 +1475,7 @@ class ImGuiKeyData < FFI::Struct
1453
1475
  end
1454
1476
 
1455
1477
  # - Currently represents the Platform Window created by the application which is hosting our Dear ImGui windows.
1456
- # - With multi-viewport enabled, we extend this concept to have multiple active viewports.
1478
+ # - In 'docking' branch with multi-viewport enabled, we extend this concept to have multiple active viewports.
1457
1479
  # - In the future we will extend this concept further to also represent Platform Monitor and support a "no main platform window" operation mode.
1458
1480
  # - About Main Area vs Work Area:
1459
1481
  # - Main Area = entire viewport.
@@ -1467,6 +1489,7 @@ class ImGuiViewport < FFI::Struct
1467
1489
  :Size, ImVec2.by_value,
1468
1490
  :WorkPos, ImVec2.by_value,
1469
1491
  :WorkSize, ImVec2.by_value,
1492
+ :PlatformHandle, :pointer,
1470
1493
  :PlatformHandleRaw, :pointer
1471
1494
  )
1472
1495
 
@@ -1813,7 +1836,9 @@ class ImGuiIO < FFI::Struct
1813
1836
  :GetClipboardTextFn, :pointer,
1814
1837
  :SetClipboardTextFn, :pointer,
1815
1838
  :ClipboardUserData, :pointer,
1816
- :SetPlatformImeDataFn, :pointer,
1839
+ :PlatformOpenInShellFn, :pointer,
1840
+ :PlatformOpenInShellUserData, :pointer,
1841
+ :PlatformSetImeDataFn, :pointer,
1817
1842
  :PlatformLocaleDecimalPoint, :ushort,
1818
1843
  :WantCaptureMouse, :bool,
1819
1844
  :WantCaptureKeyboard, :bool,
@@ -1852,6 +1877,7 @@ class ImGuiIO < FFI::Struct
1852
1877
  :MouseDownOwned, [:bool, 5],
1853
1878
  :MouseDownOwnedUnlessPopupClose, [:bool, 5],
1854
1879
  :MouseWheelRequestAxisSwap, :bool,
1880
+ :MouseCtrlLeftAsRightClick, :bool,
1855
1881
  :MouseDownDuration, [:float, 5],
1856
1882
  :MouseDownDurationPrev, [:float, 5],
1857
1883
  :MouseDragMaxDistanceSqr, [:float, 5],
@@ -1912,6 +1938,10 @@ class ImGuiIO < FFI::Struct
1912
1938
  ImGui::ImGuiIO_ClearInputKeys(self)
1913
1939
  end
1914
1940
 
1941
+ def ClearInputMouse()
1942
+ ImGui::ImGuiIO_ClearInputMouse(self)
1943
+ end
1944
+
1915
1945
  def self.create()
1916
1946
  return ImGuiIO.new(ImGui::ImGuiIO_ImGuiIO())
1917
1947
  end
@@ -2223,6 +2253,7 @@ class ImGuiStyle < FFI::Struct
2223
2253
  :TabMinWidthForCloseButton, :float,
2224
2254
  :TabBarBorderSize, :float,
2225
2255
  :TableAngledHeadersAngle, :float,
2256
+ :TableAngledHeadersTextAlign, ImVec2.by_value,
2226
2257
  :ColorButtonPosition, :int,
2227
2258
  :ButtonTextAlign, ImVec2.by_value,
2228
2259
  :SelectableTextAlign, ImVec2.by_value,
@@ -2237,7 +2268,7 @@ class ImGuiStyle < FFI::Struct
2237
2268
  :AntiAliasedFill, :bool,
2238
2269
  :CurveTessellationTol, :float,
2239
2270
  :CircleTessellationMaxError, :float,
2240
- :Colors, [ImVec4.by_value, 53],
2271
+ :Colors, [ImVec4.by_value, 56],
2241
2272
  :HoverStationaryDelay, :float,
2242
2273
  :HoverDelayShort, :float,
2243
2274
  :HoverDelayNormal, :float,
@@ -2265,7 +2296,7 @@ class ImGuiTableColumnSortSpecs < FFI::Struct
2265
2296
  :ColumnUserID, :uint,
2266
2297
  :ColumnIndex, :short,
2267
2298
  :SortOrder, :short,
2268
- :SortDirection, :int
2299
+ :SortDirection, :uchar
2269
2300
  )
2270
2301
 
2271
2302
  def self.create()
@@ -2651,6 +2682,7 @@ module ImGui
2651
2682
  [:ImGuiIO_AddMouseWheelEvent, [:pointer, :float, :float], :void],
2652
2683
  [:ImGuiIO_ClearEventsQueue, [:pointer], :void],
2653
2684
  [:ImGuiIO_ClearInputKeys, [:pointer], :void],
2685
+ [:ImGuiIO_ClearInputMouse, [:pointer], :void],
2654
2686
  [:ImGuiIO_ImGuiIO, [], :pointer],
2655
2687
  [:ImGuiIO_SetAppAcceptingEvents, [:pointer, :bool], :void],
2656
2688
  [:ImGuiIO_SetKeyEventNativeData, [:pointer, :int, :int, :int, :int], :void],
@@ -2784,6 +2816,7 @@ module ImGui
2784
2816
  [:igCreateContext, [:pointer], :pointer],
2785
2817
  [:igDebugCheckVersionAndDataLayout, [:pointer, :size_t, :size_t, :size_t, :size_t, :size_t, :size_t], :bool],
2786
2818
  [:igDebugFlashStyleColor, [:int], :void],
2819
+ [:igDebugLog, [:pointer, :varargs], :void],
2787
2820
  [:igDebugStartItemPicker, [], :void],
2788
2821
  [:igDebugTextEncoding, [:pointer], :void],
2789
2822
  [:igDestroyContext, [:pointer], :void],
@@ -3010,6 +3043,7 @@ module ImGui
3010
3043
  [:igSetNextFrameWantCaptureMouse, [:bool], :void],
3011
3044
  [:igSetNextItemAllowOverlap, [], :void],
3012
3045
  [:igSetNextItemOpen, [:bool, :int], :void],
3046
+ [:igSetNextItemShortcut, [:int, :int], :void],
3013
3047
  [:igSetNextItemWidth, [:float], :void],
3014
3048
  [:igSetNextWindowBgAlpha, [:float], :void],
3015
3049
  [:igSetNextWindowCollapsed, [:bool, :int], :void],
@@ -3037,6 +3071,7 @@ module ImGui
3037
3071
  [:igSetWindowPos_Str, [:pointer, ImVec2.by_value, :int], :void],
3038
3072
  [:igSetWindowSize_Vec2, [ImVec2.by_value, :int], :void],
3039
3073
  [:igSetWindowSize_Str, [:pointer, ImVec2.by_value, :int], :void],
3074
+ [:igShortcut, [:int, :int], :bool],
3040
3075
  [:igShowAboutWindow, [:pointer], :void],
3041
3076
  [:igShowDebugLogWindow, [:pointer], :void],
3042
3077
  [:igShowDemoWindow, [:pointer], :void],
@@ -3068,6 +3103,7 @@ module ImGui
3068
3103
  [:igTableGetColumnFlags, [:int], :int],
3069
3104
  [:igTableGetColumnIndex, [], :int],
3070
3105
  [:igTableGetColumnName, [:int], :pointer],
3106
+ [:igTableGetHoveredColumn, [], :int],
3071
3107
  [:igTableGetRowIndex, [], :int],
3072
3108
  [:igTableGetSortSpecs, [], :pointer],
3073
3109
  [:igTableHeader, [:pointer], :void],
@@ -3082,6 +3118,8 @@ module ImGui
3082
3118
  [:igText, [:pointer, :varargs], :void],
3083
3119
  [:igTextColored, [ImVec4.by_value, :pointer, :varargs], :void],
3084
3120
  [:igTextDisabled, [:pointer, :varargs], :void],
3121
+ [:igTextLink, [:pointer], :bool],
3122
+ [:igTextLinkOpenURL, [:pointer, :pointer], :void],
3085
3123
  [:igTextUnformatted, [:pointer, :pointer], :void],
3086
3124
  [:igTextWrapped, [:pointer, :varargs], :void],
3087
3125
  [:igTreeNode_Str, [:pointer], :bool],
@@ -3314,7 +3352,7 @@ module ImGui
3314
3352
  igBeginTabItem(label, p_open, flags)
3315
3353
  end
3316
3354
 
3317
- # 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)
3318
3356
  # ret: bool
3319
3357
  #
3320
3358
  # Tables
@@ -3338,8 +3376,8 @@ module ImGui
3338
3376
  # - TableNextColumn() -> Text("Hello 0") -> TableNextColumn() -> Text("Hello 1") // OK: TableNextColumn() automatically gets to next row!
3339
3377
  # - TableNextRow() -> Text("Hello 0") // Not OK! Missing TableSetColumnIndex() or TableNextColumn()! Text will not appear!
3340
3378
  # - 5. Call EndTable()
3341
- 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
3342
- 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)
3343
3381
  end
3344
3382
 
3345
3383
  # ret: bool
@@ -3534,6 +3572,12 @@ module ImGui
3534
3572
  igDebugFlashStyleColor(idx)
3535
3573
  end
3536
3574
 
3575
+ # arg: fmt(const char*), ...(...)
3576
+ # ret: void
3577
+ def self.DebugLog(fmt, *varargs)
3578
+ igDebugLog(fmt, *varargs)
3579
+ end
3580
+
3537
3581
  # ret: void
3538
3582
  def self.DebugStartItemPicker()
3539
3583
  igDebugStartItemPicker()
@@ -3739,7 +3783,7 @@ module ImGui
3739
3783
  # ret: pointer
3740
3784
  #
3741
3785
  # Background/Foreground Draw Lists
3742
- def self.GetBackgroundDrawList() # get background draw list for the viewport associated to the current window. this draw list will be the first rendering one. Useful to quickly draw shapes/text behind dear imgui contents.
3786
+ def self.GetBackgroundDrawList() # this draw list will be the first rendered one. Useful to quickly draw shapes/text behind dear imgui contents.
3743
3787
  igGetBackgroundDrawList()
3744
3788
  end
3745
3789
 
@@ -3890,7 +3934,7 @@ module ImGui
3890
3934
  end
3891
3935
 
3892
3936
  # ret: pointer
3893
- def self.GetForegroundDrawList() # get foreground draw list for the viewport associated to the current window. this draw list will be the last rendered one. Useful to quickly draw shapes/text over dear imgui contents.
3937
+ def self.GetForegroundDrawList() # this draw list will be the last rendered one. Useful to quickly draw shapes/text over dear imgui contents.
3894
3938
  igGetForegroundDrawList()
3895
3939
  end
3896
3940
 
@@ -4932,6 +4976,12 @@ module ImGui
4932
4976
  igSetNextItemOpen(is_open, cond)
4933
4977
  end
4934
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
+
4935
4985
  # arg: item_width(float)
4936
4986
  # ret: void
4937
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)
@@ -5095,6 +5145,12 @@ module ImGui
5095
5145
  igSetWindowSize_Str(name, size, cond)
5096
5146
  end
5097
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
+
5098
5154
  # arg: p_open(bool*)
5099
5155
  # ret: void
5100
5156
  def self.ShowAboutWindow(p_open = nil) # create About window. display Dear ImGui version, credits and build/system information.
@@ -5287,6 +5343,11 @@ module ImGui
5287
5343
  igTableGetColumnName(column_n)
5288
5344
  end
5289
5345
 
5346
+ # ret: int
5347
+ def self.TableGetHoveredColumn()
5348
+ igTableGetHoveredColumn()
5349
+ end
5350
+
5290
5351
  # ret: int
5291
5352
  def self.TableGetRowIndex() # return current row index.
5292
5353
  igTableGetRowIndex()
@@ -5383,6 +5444,18 @@ module ImGui
5383
5444
  igTextDisabled(fmt, *varargs)
5384
5445
  end
5385
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
+
5386
5459
  # arg: text(const char*), text_end(const char*)
5387
5460
  # ret: void
5388
5461
  #
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.12
4
+ version: 0.1.13
5
5
  platform: x86_64-darwin
6
6
  authors:
7
7
  - vaiorabbit
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-04-14 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