imgui-bindings 0.1.6 → 0.1.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/ChangeLog +4 -0
- data/README.md +1 -1
- data/lib/imgui.aarch64.so +0 -0
- data/lib/imgui.dll +0 -0
- data/lib/imgui.dylib +0 -0
- data/lib/imgui.rb +62 -32
- data/lib/imgui.x86_64.so +0 -0
- data/lib/imnodes.aarch64.so +0 -0
- data/lib/imnodes.dll +0 -0
- data/lib/imnodes.dylib +0 -0
- data/lib/imnodes.x86_64.so +0 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d87ec8e99e502e7af7a1140e077bfc391588de648388862181eb33d69f6a743a
|
4
|
+
data.tar.gz: 524fdc84f32f61cc4728d8bf3cba79aa712e6d12427929ad116632327f10d337
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 760108258fef2289eae2dc61e05dd58f6f4ea4442989d1ff94daae0a8e3a9531b47a3a1a8c47fd2c53b3aa7ec9c6b84c04f4fa92dd4de67dcc8d11f7f0351c92
|
7
|
+
data.tar.gz: 7a40dcc27963521f71eb965c92eedb3df3c092a62c0352608670e29f34ead83c54d01dd3642598933d2b0334d429781522d8226886468028f23e8dc50ff20032
|
data/ChangeLog
CHANGED
data/README.md
CHANGED
data/lib/imgui.aarch64.so
CHANGED
Binary file
|
data/lib/imgui.dll
CHANGED
Binary file
|
data/lib/imgui.dylib
CHANGED
Binary file
|
data/lib/imgui.rb
CHANGED
@@ -290,14 +290,19 @@ ImGuiHoveredFlags_AnyWindow = 4 # 1 << 2 # IsWindowHovered(
|
|
290
290
|
ImGuiHoveredFlags_NoPopupHierarchy = 8 # 1 << 3 # IsWindowHovered() only: Do not consider popup hierarchy (do not treat popup emitter as parent of popup) (when used with _ChildWindows or _RootWindow)
|
291
291
|
ImGuiHoveredFlags_AllowWhenBlockedByPopup = 32 # 1 << 5 # Return true even if a popup window is normally blocking access to this item/window
|
292
292
|
ImGuiHoveredFlags_AllowWhenBlockedByActiveItem = 128 # 1 << 7 # Return true even if an active item is blocking access to this item/window. Useful for Drag and Drop patterns.
|
293
|
-
|
294
|
-
|
295
|
-
|
296
|
-
|
293
|
+
ImGuiHoveredFlags_AllowWhenOverlappedByItem = 256 # 1 << 8 # IsItemHovered() only: Return true even if the item uses AllowOverlap mode and is overlapped by another hoverable item.
|
294
|
+
ImGuiHoveredFlags_AllowWhenOverlappedByWindow = 512 # 1 << 9 # IsItemHovered() only: Return true even if the position is obstructed or overlapped by another window.
|
295
|
+
ImGuiHoveredFlags_AllowWhenDisabled = 1024 # 1 << 10 # IsItemHovered() only: Return true even if the item is disabled
|
296
|
+
ImGuiHoveredFlags_NoNavOverride = 2048 # 1 << 11 # IsItemHovered() only: Disable using gamepad/keyboard navigation state when active, always query mouse
|
297
|
+
ImGuiHoveredFlags_AllowWhenOverlapped = 768 # ImGuiHoveredFlags_AllowWhenOverlappedByItem | ImGuiHoveredFlags_AllowWhenOverlappedByWindow
|
298
|
+
ImGuiHoveredFlags_RectOnly = 928 # ImGuiHoveredFlags_AllowWhenBlockedByPopup | ImGuiHoveredFlags_AllowWhenBlockedByActiveItem | ImGuiHoveredFlags_AllowWhenOverlapped
|
297
299
|
ImGuiHoveredFlags_RootAndChildWindows = 3 # ImGuiHoveredFlags_RootWindow | ImGuiHoveredFlags_ChildWindows
|
298
|
-
|
299
|
-
|
300
|
-
|
300
|
+
ImGuiHoveredFlags_ForTooltip = 2048 # 1 << 11 # Shortcut for standard flags when using IsItemHovered() + SetTooltip() sequence.
|
301
|
+
ImGuiHoveredFlags_Stationary = 4096 # 1 << 12 # Require mouse to be stationary for style.HoverStationaryDelay (~0.15 sec) _at least one time_. After this, can move on same item/window. Using the stationary test tends to reduces the need for a long delay.
|
302
|
+
ImGuiHoveredFlags_DelayNone = 8192 # 1 << 13 # IsItemHovered() only: Return true immediately (default). As this is the default you generally ignore this.
|
303
|
+
ImGuiHoveredFlags_DelayShort = 16384 # 1 << 14 # IsItemHovered() only: Return true after style.HoverDelayShort elapsed (~0.15 sec) (shared between items) + requires mouse to be stationary for style.HoverStationaryDelay (once per item).
|
304
|
+
ImGuiHoveredFlags_DelayNormal = 32768 # 1 << 15 # 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).
|
305
|
+
ImGuiHoveredFlags_NoSharedDelay = 65536 # 1 << 16 # 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)
|
301
306
|
|
302
307
|
# ImGuiInputTextFlags_
|
303
308
|
# Flags for ImGui::InputText()
|
@@ -564,12 +569,12 @@ ImGuiPopupFlags_AnyPopup = 384 # ImGuiPopupFlags_AnyPopupId | ImGu
|
|
564
569
|
|
565
570
|
# ImGuiSelectableFlags_
|
566
571
|
# Flags for ImGui::Selectable()
|
567
|
-
ImGuiSelectableFlags_None = 0
|
568
|
-
ImGuiSelectableFlags_DontClosePopups = 1
|
569
|
-
ImGuiSelectableFlags_SpanAllColumns = 2
|
570
|
-
ImGuiSelectableFlags_AllowDoubleClick = 4
|
571
|
-
ImGuiSelectableFlags_Disabled = 8
|
572
|
-
|
572
|
+
ImGuiSelectableFlags_None = 0 # 0
|
573
|
+
ImGuiSelectableFlags_DontClosePopups = 1 # 1 << 0 # Clicking this doesn't close parent popup window
|
574
|
+
ImGuiSelectableFlags_SpanAllColumns = 2 # 1 << 1 # Selectable frame can span all columns (text will still fit in current column)
|
575
|
+
ImGuiSelectableFlags_AllowDoubleClick = 4 # 1 << 2 # Generate press events on double clicks too
|
576
|
+
ImGuiSelectableFlags_Disabled = 8 # 1 << 3 # Cannot be selected, display grayed out text
|
577
|
+
ImGuiSelectableFlags_AllowOverlap = 16 # 1 << 4 # (WIP) Hit testing to allow subsequent widgets to overlap this one
|
573
578
|
|
574
579
|
# ImGuiSliderFlags_
|
575
580
|
# Flags for DragFloat(), DragInt(), SliderFloat(), SliderInt() etc.
|
@@ -767,7 +772,7 @@ ImGuiTableRowFlags_Headers = 1 # 1 << 0 # Identify header row (set default backg
|
|
767
772
|
ImGuiTreeNodeFlags_None = 0 # 0
|
768
773
|
ImGuiTreeNodeFlags_Selected = 1 # 1 << 0 # Draw as selected
|
769
774
|
ImGuiTreeNodeFlags_Framed = 2 # 1 << 1 # Draw frame with background (e.g. for CollapsingHeader)
|
770
|
-
|
775
|
+
ImGuiTreeNodeFlags_AllowOverlap = 4 # 1 << 2 # Hit testing to allow subsequent widgets to overlap this one
|
771
776
|
ImGuiTreeNodeFlags_NoTreePushOnOpen = 8 # 1 << 3 # Don't do a TreePush() when open (e.g. for CollapsingHeader) = no extra indent nor pushing on ID stack
|
772
777
|
ImGuiTreeNodeFlags_NoAutoOpenOnLog = 16 # 1 << 4 # Don't automatically and temporarily open node when Logging is active (by default logging will automatically open tree nodes)
|
773
778
|
ImGuiTreeNodeFlags_DefaultOpen = 32 # 1 << 5 # Default node to be open
|
@@ -1516,13 +1521,6 @@ class ImGuiIO < FFI::Struct
|
|
1516
1521
|
:IniSavingRate, :float, # = 5.0f // Minimum time between saving positions/sizes to .ini file, in seconds.
|
1517
1522
|
:IniFilename, :pointer, # = "imgui.ini" // Path to .ini file (important: default "imgui.ini" is relative to current working dir!). Set NULL to disable automatic .ini loading/saving or if you want to manually call LoadIniSettingsXXX() / SaveIniSettingsXXX() functions.
|
1518
1523
|
:LogFilename, :pointer, # = "imgui_log.txt"// Path to .log file (default parameter to ImGui::LogToFile when no file is specified).
|
1519
|
-
:MouseDoubleClickTime, :float, # = 0.30f // Time for a double-click, in seconds.
|
1520
|
-
:MouseDoubleClickMaxDist, :float, # = 6.0f // Distance threshold to stay in to validate a double-click, in pixels.
|
1521
|
-
:MouseDragThreshold, :float, # = 6.0f // Distance threshold before considering we are dragging.
|
1522
|
-
:KeyRepeatDelay, :float, # = 0.275f // When holding a key/button, time before it starts repeating, in seconds (for buttons in Repeat mode, etc.).
|
1523
|
-
:KeyRepeatRate, :float, # = 0.050f // When holding a key/button, rate at which it repeats, in seconds.
|
1524
|
-
:HoverDelayNormal, :float, # = 0.30 sec // Delay on hovering before IsItemHovered(ImGuiHoveredFlags_DelayNormal) returns true.
|
1525
|
-
:HoverDelayShort, :float, # = 0.10 sec // Delay on hovering before IsItemHovered(ImGuiHoveredFlags_DelayShort) returns true.
|
1526
1524
|
:UserData, :pointer, # = NULL // Store your own data.
|
1527
1525
|
:Fonts, ImFontAtlas.ptr, # <auto> // Font atlas: load, rasterize and pack one or more fonts into a single texture.
|
1528
1526
|
:FontGlobalScale, :float, # = 1.0f // Global scale all fonts
|
@@ -1538,9 +1536,15 @@ class ImGuiIO < FFI::Struct
|
|
1538
1536
|
:ConfigWindowsResizeFromEdges, :bool, # = true // Enable resizing of windows from their edges and from the lower-left corner. This requires (io.BackendFlags & ImGuiBackendFlags_HasMouseCursors) because it needs mouse cursor feedback. (This used to be a per-window ImGuiWindowFlags_ResizeFromAnySide flag)
|
1539
1537
|
:ConfigWindowsMoveFromTitleBarOnly, :bool, # = false // Enable allowing to move windows only when clicking on their title bar. Does not apply to windows without a title bar.
|
1540
1538
|
:ConfigMemoryCompactTimer, :float, # = 60.0f // Timer (in seconds) to free transient windows/tables memory buffers when unused. Set to -1.0f to disable.
|
1539
|
+
:MouseDoubleClickTime, :float, # = 0.30f // Time for a double-click, in seconds.
|
1540
|
+
:MouseDoubleClickMaxDist, :float, # = 6.0f // Distance threshold to stay in to validate a double-click, in pixels.
|
1541
|
+
:MouseDragThreshold, :float, # = 6.0f // Distance threshold before considering we are dragging.
|
1542
|
+
:KeyRepeatDelay, :float, # = 0.275f // When holding a key/button, time before it starts repeating, in seconds (for buttons in Repeat mode, etc.).
|
1543
|
+
:KeyRepeatRate, :float, # = 0.050f // When holding a key/button, rate at which it repeats, in seconds.
|
1541
1544
|
:ConfigDebugBeginReturnValueOnce, :bool, # = false // First-time calls to Begin()/BeginChild() will return false. NEEDS TO BE SET AT APPLICATION BOOT TIME if you don't want to miss windows.
|
1542
1545
|
:ConfigDebugBeginReturnValueLoop, :bool, # = false // Some calls to Begin()/BeginChild() will return false. Will cycle through window depths then repeat. Suggested use: add "io.ConfigDebugBeginReturnValue = io.KeyShift" in your main loop then occasionally press SHIFT. Windows should be flickering while running.
|
1543
1546
|
:ConfigDebugIgnoreFocusLoss, :bool, # = false // Ignore io.AddFocusEvent(false), consequently not calling io.ClearInputKeys() in input processing.
|
1547
|
+
:ConfigDebugIniSettings, :bool, # = false // Save .ini data with extra comments (particularly helpful for Docking, but makes saving slower)
|
1544
1548
|
:BackendPlatformName, :pointer, # = NULL
|
1545
1549
|
:BackendRendererName, :pointer, # = NULL
|
1546
1550
|
:BackendPlatformUserData, :pointer, # = NULL // User data for platform backend
|
@@ -1762,7 +1766,12 @@ class ImGuiStyle < FFI::Struct
|
|
1762
1766
|
:AntiAliasedFill, :bool, # Enable anti-aliased edges around filled shapes (rounded rectangles, circles, etc.). Disable if you are really tight on CPU/GPU. Latched at the beginning of the frame (copied to ImDrawList).
|
1763
1767
|
:CurveTessellationTol, :float, # Tessellation tolerance when using PathBezierCurveTo() without a specific number of segments. Decrease for highly tessellated curves (higher quality, more polygons), increase to reduce quality.
|
1764
1768
|
:CircleTessellationMaxError, :float, # Maximum error (in pixels) allowed when using AddCircle()/AddCircleFilled() or drawing rounded corner rectangles with no explicit segment count specified. Decrease for higher quality but more geometry.
|
1765
|
-
:Colors, [ImVec4.by_value, 53]
|
1769
|
+
:Colors, [ImVec4.by_value, 53],
|
1770
|
+
:HoverStationaryDelay, :float, # Delay for IsItemHovered(ImGuiHoveredFlags_Stationary). Time required to consider mouse stationary.
|
1771
|
+
:HoverDelayShort, :float, # Delay for IsItemHovered(ImGuiHoveredFlags_DelayShort). Usually used along with HoverStationaryDelay.
|
1772
|
+
:HoverDelayNormal, :float, # Delay for IsItemHovered(ImGuiHoveredFlags_DelayNormal). "
|
1773
|
+
:HoverFlagsForTooltipMouse, :int, # Default flags when using IsItemHovered(ImGuiHoveredFlags_ForTooltip) or BeginItemTooltip()/SetItemTooltip() while using mouse.
|
1774
|
+
:HoverFlagsForTooltipNav, :int # Default flags when using IsItemHovered(ImGuiHoveredFlags_ForTooltip) or BeginItemTooltip()/SetItemTooltip() while using keyboard/gamepad.
|
1766
1775
|
)
|
1767
1776
|
|
1768
1777
|
def self.create()
|
@@ -2062,6 +2071,7 @@ module ImGui
|
|
2062
2071
|
[:igBeginDragDropSource, [:int], :bool],
|
2063
2072
|
[:igBeginDragDropTarget, [], :bool],
|
2064
2073
|
[:igBeginGroup, [], :void],
|
2074
|
+
[:igBeginItemTooltip, [], :bool],
|
2065
2075
|
[:igBeginListBox, [:pointer, ImVec2.by_value], :bool],
|
2066
2076
|
[:igBeginMainMenuBar, [], :bool],
|
2067
2077
|
[:igBeginMenu, [:pointer, :bool], :bool],
|
@@ -2319,12 +2329,13 @@ module ImGui
|
|
2319
2329
|
[:igSetCursorPosY, [:float], :void],
|
2320
2330
|
[:igSetCursorScreenPos, [ImVec2.by_value], :void],
|
2321
2331
|
[:igSetDragDropPayload, [:pointer, :pointer, :size_t, :int], :bool],
|
2322
|
-
[:igSetItemAllowOverlap, [], :void],
|
2323
2332
|
[:igSetItemDefaultFocus, [], :void],
|
2333
|
+
[:igSetItemTooltip, [:pointer, :varargs], :void],
|
2324
2334
|
[:igSetKeyboardFocusHere, [:int], :void],
|
2325
2335
|
[:igSetMouseCursor, [:int], :void],
|
2326
2336
|
[:igSetNextFrameWantCaptureKeyboard, [:bool], :void],
|
2327
2337
|
[:igSetNextFrameWantCaptureMouse, [:bool], :void],
|
2338
|
+
[:igSetNextItemAllowOverlap, [], :void],
|
2328
2339
|
[:igSetNextItemOpen, [:bool, :int], :void],
|
2329
2340
|
[:igSetNextItemWidth, [:float], :void],
|
2330
2341
|
[:igSetNextWindowBgAlpha, [:float], :void],
|
@@ -2528,6 +2539,16 @@ module ImGui
|
|
2528
2539
|
igBeginGroup()
|
2529
2540
|
end
|
2530
2541
|
|
2542
|
+
# ret: bool
|
2543
|
+
#
|
2544
|
+
# Tooltips: helpers for showing a tooltip when hovering an item
|
2545
|
+
# - BeginItemTooltip() is a shortcut for the 'if (IsItemHovered(ImGuiHoveredFlags_Tooltip) && BeginTooltip())' idiom.
|
2546
|
+
# - SetItemTooltip() is a shortcut for the 'if (IsItemHovered(ImGuiHoveredFlags_Tooltip)) { SetTooltip(...); }' idiom.
|
2547
|
+
# - Where 'ImGuiHoveredFlags_Tooltip' itself is a shortcut to use 'style.HoverFlagsForTooltipMouse' or 'style.HoverFlagsForTooltipNav' depending on active input type. For mouse it defaults to 'ImGuiHoveredFlags_Stationary | ImGuiHoveredFlags_DelayShort'.
|
2548
|
+
def self.BeginItemTooltip() # begin/append a tooltip window if preceding item was hovered.
|
2549
|
+
igBeginItemTooltip()
|
2550
|
+
end
|
2551
|
+
|
2531
2552
|
# arg: label(const char*), size(ImVec2)
|
2532
2553
|
# ret: bool
|
2533
2554
|
#
|
@@ -2651,8 +2672,9 @@ module ImGui
|
|
2651
2672
|
# ret: bool
|
2652
2673
|
#
|
2653
2674
|
# Tooltips
|
2654
|
-
# -
|
2655
|
-
|
2675
|
+
# - Tooltips are windows following the mouse. They do not take focus away.
|
2676
|
+
# - A tooltip window can contain items of any types. SetTooltip() is a shortcut for the 'if (BeginTooltip()) { Text(...); EndTooltip(); }' idiom.
|
2677
|
+
def self.BeginTooltip() # begin/append a tooltip window.
|
2656
2678
|
igBeginTooltip()
|
2657
2679
|
end
|
2658
2680
|
|
@@ -3024,7 +3046,7 @@ module ImGui
|
|
3024
3046
|
end
|
3025
3047
|
|
3026
3048
|
# ret: void
|
3027
|
-
def self.EndTooltip() # only call EndTooltip() if BeginTooltip() returns true!
|
3049
|
+
def self.EndTooltip() # only call EndTooltip() if BeginTooltip()/BeginItemTooltip() returns true!
|
3028
3050
|
igEndTooltip()
|
3029
3051
|
end
|
3030
3052
|
|
@@ -4174,11 +4196,6 @@ module ImGui
|
|
4174
4196
|
igSetDragDropPayload(type, data, sz, cond)
|
4175
4197
|
end
|
4176
4198
|
|
4177
|
-
# ret: void
|
4178
|
-
def self.SetItemAllowOverlap() # allow last item to be overlapped by a subsequent item. sometimes useful with invisible buttons, selectables, etc. to catch unused area.
|
4179
|
-
igSetItemAllowOverlap()
|
4180
|
-
end
|
4181
|
-
|
4182
4199
|
# ret: void
|
4183
4200
|
#
|
4184
4201
|
# Focus, Activation
|
@@ -4187,6 +4204,12 @@ module ImGui
|
|
4187
4204
|
igSetItemDefaultFocus()
|
4188
4205
|
end
|
4189
4206
|
|
4207
|
+
# arg: fmt(const char*), ...(...)
|
4208
|
+
# ret: void
|
4209
|
+
def self.SetItemTooltip(fmt, *varargs) # set a text-only tooltip if preceeding item was hovered. override any previous call to SetTooltip().
|
4210
|
+
igSetItemTooltip(fmt, *varargs)
|
4211
|
+
end
|
4212
|
+
|
4190
4213
|
# arg: offset(int)
|
4191
4214
|
# ret: void
|
4192
4215
|
def self.SetKeyboardFocusHere(offset = 0) # Implied offset = 0
|
@@ -4211,6 +4234,13 @@ module ImGui
|
|
4211
4234
|
igSetNextFrameWantCaptureMouse(want_capture_mouse)
|
4212
4235
|
end
|
4213
4236
|
|
4237
|
+
# ret: void
|
4238
|
+
#
|
4239
|
+
# Overlapping mode
|
4240
|
+
def self.SetNextItemAllowOverlap() # allow next item to be overlapped by a subsequent item. Useful with invisible buttons, selectable, treenode covering an area where subsequent items may need to be added. Note that both Selectable() and TreeNode() have dedicated flags doing this.
|
4241
|
+
igSetNextItemAllowOverlap()
|
4242
|
+
end
|
4243
|
+
|
4214
4244
|
# arg: is_open(bool), cond(ImGuiCond)
|
4215
4245
|
# ret: void
|
4216
4246
|
def self.SetNextItemOpen(is_open, cond = 0) # set next TreeNode/CollapsingHeader open state.
|
@@ -4323,7 +4353,7 @@ module ImGui
|
|
4323
4353
|
|
4324
4354
|
# arg: fmt(const char*), ...(...)
|
4325
4355
|
# ret: void
|
4326
|
-
def self.SetTooltip(fmt, *varargs) # set a text-only tooltip
|
4356
|
+
def self.SetTooltip(fmt, *varargs) # set a text-only tooltip. Often used after a ImGui::IsItemHovered() check. Override any previous call to SetTooltip().
|
4327
4357
|
igSetTooltip(fmt, *varargs)
|
4328
4358
|
end
|
4329
4359
|
|
data/lib/imgui.x86_64.so
CHANGED
Binary file
|
data/lib/imnodes.aarch64.so
CHANGED
Binary file
|
data/lib/imnodes.dll
CHANGED
Binary file
|
data/lib/imnodes.dylib
CHANGED
Binary file
|
data/lib/imnodes.x86_64.so
CHANGED
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.
|
4
|
+
version: 0.1.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- vaiorabbit
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-07-
|
11
|
+
date: 2023-07-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: ffi
|