imgui-bindings 0.1.6 → 0.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|