Class: ImGuiStorage

Inherits:
FFI::Struct
  • Object
show all
Defined in:
lib/imgui.rb

Overview

Helper: Key->Value storage Typically you don’t have to worry about this since a storage is held within each Window. We use it to e.g. store collapse state for a tree (Int 0/1) This is optimized for efficient lookup (dichotomy into a contiguous buffer) and rare insertion (typically tied to user interactions aka max once a frame) You can use it as custom user storage for temporary values. Declare your own storage if, for example:

  • You want to manipulate the open/close state of a particular sub-tree in your interface (tree node uses Int 0/1 to store their state).

  • You want to store custom debug data easily without adding or editing structures in your code (probably not efficient, but convenient)

Types are NOT stored, so it is up to you to make sure your Key don’t collide with different types.

Instance Method Summary collapse

Instance Method Details

#BuildSortByKeyObject



1622
1623
1624
# File 'lib/imgui.rb', line 1622

def BuildSortByKey()
  ImGui::ImGuiStorage_BuildSortByKey(self)
end

#ClearObject



1626
1627
1628
# File 'lib/imgui.rb', line 1626

def Clear()
  ImGui::ImGuiStorage_Clear(self)
end

#GetBool(key, default_val = false) ⇒ Object



1630
1631
1632
# File 'lib/imgui.rb', line 1630

def GetBool(key, default_val = false)
  ImGui::ImGuiStorage_GetBool(self, key, default_val)
end

#GetBoolRef(key, default_val = false) ⇒ Object



1634
1635
1636
# File 'lib/imgui.rb', line 1634

def GetBoolRef(key, default_val = false)
  ImGui::ImGuiStorage_GetBoolRef(self, key, default_val)
end

#GetFloat(key, default_val = 0.0) ⇒ Object



1638
1639
1640
# File 'lib/imgui.rb', line 1638

def GetFloat(key, default_val = 0.0)
  ImGui::ImGuiStorage_GetFloat(self, key, default_val)
end

#GetFloatRef(key, default_val = 0.0) ⇒ Object



1642
1643
1644
# File 'lib/imgui.rb', line 1642

def GetFloatRef(key, default_val = 0.0)
  ImGui::ImGuiStorage_GetFloatRef(self, key, default_val)
end

#GetInt(key, default_val = 0) ⇒ Object



1646
1647
1648
# File 'lib/imgui.rb', line 1646

def GetInt(key, default_val = 0)
  ImGui::ImGuiStorage_GetInt(self, key, default_val)
end

#GetIntRef(key, default_val = 0) ⇒ Object



1650
1651
1652
# File 'lib/imgui.rb', line 1650

def GetIntRef(key, default_val = 0)
  ImGui::ImGuiStorage_GetIntRef(self, key, default_val)
end

#GetVoidPtr(key) ⇒ Object



1654
1655
1656
# File 'lib/imgui.rb', line 1654

def GetVoidPtr(key)
  ImGui::ImGuiStorage_GetVoidPtr(self, key)
end

#GetVoidPtrRef(key, default_val = nil) ⇒ Object



1658
1659
1660
# File 'lib/imgui.rb', line 1658

def GetVoidPtrRef(key, default_val = nil)
  ImGui::ImGuiStorage_GetVoidPtrRef(self, key, default_val)
end

#SetAllInt(val) ⇒ Object



1662
1663
1664
# File 'lib/imgui.rb', line 1662

def SetAllInt(val)
  ImGui::ImGuiStorage_SetAllInt(self, val)
end

#SetBool(key, val) ⇒ Object



1666
1667
1668
# File 'lib/imgui.rb', line 1666

def SetBool(key, val)
  ImGui::ImGuiStorage_SetBool(self, key, val)
end

#SetFloat(key, val) ⇒ Object



1670
1671
1672
# File 'lib/imgui.rb', line 1670

def SetFloat(key, val)
  ImGui::ImGuiStorage_SetFloat(self, key, val)
end

#SetInt(key, val) ⇒ Object



1674
1675
1676
# File 'lib/imgui.rb', line 1674

def SetInt(key, val)
  ImGui::ImGuiStorage_SetInt(self, key, val)
end

#SetVoidPtr(key, val) ⇒ Object



1678
1679
1680
# File 'lib/imgui.rb', line 1678

def SetVoidPtr(key, val)
  ImGui::ImGuiStorage_SetVoidPtr(self, key, val)
end