2090 lines
80 KiB
Odin
2090 lines
80 KiB
Odin
package imgui
|
|
|
|
when ODIN_OS == .Windows {
|
|
foreign import imgui "lib/dcimgui.lib"
|
|
}
|
|
else when ODIN_OS == .Linux {
|
|
foreign import imgui "lib/linux/libdcimgui.a"
|
|
}
|
|
else when ODIN_OS == .Darwin {
|
|
foreign import imgui "lib/darwin/libdcimgui_arm64.a"
|
|
}
|
|
|
|
va_list :: struct #align(16) {
|
|
_: [4096]u8,
|
|
}
|
|
|
|
WindowFlags :: enum i32 {
|
|
None = 0,
|
|
NoTitleBar = 1,
|
|
NoResize = 2,
|
|
NoMove = 4,
|
|
NoScrollbar = 8,
|
|
NoScrollWithMouse = 16,
|
|
NoCollapse = 32,
|
|
AlwaysAutoResize = 64,
|
|
NoBackground = 128,
|
|
NoSavedSettings = 256,
|
|
NoMouseInputs = 512,
|
|
MenuBar = 1024,
|
|
HorizontalScrollbar = 2048,
|
|
NoFocusOnAppearing = 4096,
|
|
NoBringToFrontOnFocus = 8192,
|
|
AlwaysVerticalScrollbar = 16384,
|
|
AlwaysHorizontalScrollbar = 32768,
|
|
NoNavInputs = 65536,
|
|
NoNavFocus = 131072,
|
|
UnsavedDocument = 262144,
|
|
NoNav = 196608,
|
|
NoDecoration = 43,
|
|
NoInputs = 197120,
|
|
ChildWindow = 16777216,
|
|
Tooltip = 33554432,
|
|
Popup = 67108864,
|
|
Modal = 134217728,
|
|
ChildMenu = 268435456,
|
|
}
|
|
ChildFlags :: enum i32 {
|
|
None = 0,
|
|
Borders = 1,
|
|
AlwaysUseWindowPadding = 2,
|
|
ResizeX = 4,
|
|
ResizeY = 8,
|
|
AutoResizeX = 16,
|
|
AutoResizeY = 32,
|
|
AlwaysAutoResize = 64,
|
|
FrameStyle = 128,
|
|
NavFlattened = 256,
|
|
Border = 1,
|
|
}
|
|
ItemFlags :: enum i32 {
|
|
None = 0,
|
|
NoTabStop = 1,
|
|
NoNav = 2,
|
|
NoNavDefaultFocus = 4,
|
|
ButtonRepeat = 8,
|
|
AutoClosePopups = 16,
|
|
AllowDuplicateId = 32,
|
|
}
|
|
InputTextFlags :: enum i32 {
|
|
None = 0,
|
|
CharsDecimal = 1,
|
|
CharsHexadecimal = 2,
|
|
CharsScientific = 4,
|
|
CharsUppercase = 8,
|
|
CharsNoBlank = 16,
|
|
AllowTabInput = 32,
|
|
EnterReturnsTrue = 64,
|
|
EscapeClearsAll = 128,
|
|
CtrlEnterForNewLine = 256,
|
|
ReadOnly = 512,
|
|
Password = 1024,
|
|
AlwaysOverwrite = 2048,
|
|
AutoSelectAll = 4096,
|
|
ParseEmptyRefVal = 8192,
|
|
DisplayEmptyRefVal = 16384,
|
|
NoHorizontalScroll = 32768,
|
|
NoUndoRedo = 65536,
|
|
ElideLeft = 131072,
|
|
CallbackCompletion = 262144,
|
|
CallbackHistory = 524288,
|
|
CallbackAlways = 1048576,
|
|
CallbackCharFilter = 2097152,
|
|
CallbackResize = 4194304,
|
|
CallbackEdit = 8388608,
|
|
}
|
|
TreeNodeFlags :: enum i32 {
|
|
None = 0,
|
|
Selected = 1,
|
|
Framed = 2,
|
|
AllowOverlap = 4,
|
|
NoTreePushOnOpen = 8,
|
|
NoAutoOpenOnLog = 16,
|
|
DefaultOpen = 32,
|
|
OpenOnDoubleClick = 64,
|
|
OpenOnArrow = 128,
|
|
Leaf = 256,
|
|
Bullet = 512,
|
|
FramePadding = 1024,
|
|
SpanAvailWidth = 2048,
|
|
SpanFullWidth = 4096,
|
|
SpanTextWidth = 8192,
|
|
SpanAllColumns = 16384,
|
|
NavLeftJumpsBackHere = 32768,
|
|
CollapsingHeader = 26,
|
|
AllowItemOverlap = 4,
|
|
}
|
|
PopupFlags :: enum i32 {
|
|
None = 0,
|
|
MouseButtonLeft = 0,
|
|
MouseButtonRight = 1,
|
|
MouseButtonMiddle = 2,
|
|
MouseButtonMask_ = 31,
|
|
MouseButtonDefault_ = 1,
|
|
NoReopen = 32,
|
|
NoOpenOverExistingPopup = 128,
|
|
NoOpenOverItems = 256,
|
|
AnyPopupId = 1024,
|
|
AnyPopupLevel = 2048,
|
|
AnyPopup = 3072,
|
|
}
|
|
SelectableFlags :: enum i32 {
|
|
None = 0,
|
|
NoAutoClosePopups = 1,
|
|
SpanAllColumns = 2,
|
|
AllowDoubleClick = 4,
|
|
Disabled = 8,
|
|
AllowOverlap = 16,
|
|
Highlight = 32,
|
|
DontClosePopups = 1,
|
|
AllowItemOverlap = 16,
|
|
}
|
|
ComboFlags :: enum i32 {
|
|
None = 0,
|
|
PopupAlignLeft = 1,
|
|
HeightSmall = 2,
|
|
HeightRegular = 4,
|
|
HeightLarge = 8,
|
|
HeightLargest = 16,
|
|
NoArrowButton = 32,
|
|
NoPreview = 64,
|
|
WidthFitPreview = 128,
|
|
HeightMask_ = 30,
|
|
}
|
|
TabBarFlags :: enum i32 {
|
|
None = 0,
|
|
Reorderable = 1,
|
|
AutoSelectNewTabs = 2,
|
|
TabListPopupButton = 4,
|
|
NoCloseWithMiddleMouseButton = 8,
|
|
NoTabListScrollingButtons = 16,
|
|
NoTooltip = 32,
|
|
DrawSelectedOverline = 64,
|
|
FittingPolicyResizeDown = 128,
|
|
FittingPolicyScroll = 256,
|
|
FittingPolicyMask_ = 384,
|
|
FittingPolicyDefault_ = 128,
|
|
}
|
|
TabItemFlags :: enum i32 {
|
|
None = 0,
|
|
UnsavedDocument = 1,
|
|
SetSelected = 2,
|
|
NoCloseWithMiddleMouseButton = 4,
|
|
NoPushId = 8,
|
|
NoTooltip = 16,
|
|
NoReorder = 32,
|
|
Leading = 64,
|
|
Trailing = 128,
|
|
NoAssumedClosure = 256,
|
|
}
|
|
FocusedFlags :: enum i32 {
|
|
None = 0,
|
|
ChildWindows = 1,
|
|
RootWindow = 2,
|
|
AnyWindow = 4,
|
|
NoPopupHierarchy = 8,
|
|
RootAndChildWindows = 3,
|
|
}
|
|
HoveredFlags :: enum i32 {
|
|
None = 0,
|
|
ChildWindows = 1,
|
|
RootWindow = 2,
|
|
AnyWindow = 4,
|
|
NoPopupHierarchy = 8,
|
|
AllowWhenBlockedByPopup = 32,
|
|
AllowWhenBlockedByActiveItem = 128,
|
|
AllowWhenOverlappedByItem = 256,
|
|
AllowWhenOverlappedByWindow = 512,
|
|
AllowWhenDisabled = 1024,
|
|
NoNavOverride = 2048,
|
|
AllowWhenOverlapped = 768,
|
|
RectOnly = 928,
|
|
RootAndChildWindows = 3,
|
|
ForTooltip = 4096,
|
|
Stationary = 8192,
|
|
DelayNone = 16384,
|
|
DelayShort = 32768,
|
|
DelayNormal = 65536,
|
|
NoSharedDelay = 131072,
|
|
}
|
|
DragDropFlags :: enum i32 {
|
|
None = 0,
|
|
SourceNoPreviewTooltip = 1,
|
|
SourceNoDisableHover = 2,
|
|
SourceNoHoldToOpenOthers = 4,
|
|
SourceAllowNullID = 8,
|
|
SourceExtern = 16,
|
|
PayloadAutoExpire = 32,
|
|
PayloadNoCrossContext = 64,
|
|
PayloadNoCrossProcess = 128,
|
|
AcceptBeforeDelivery = 1024,
|
|
AcceptNoDrawDefaultRect = 2048,
|
|
AcceptNoPreviewTooltip = 4096,
|
|
AcceptPeekOnly = 3072,
|
|
SourceAutoExpirePayload = 32,
|
|
}
|
|
DataType :: enum i32 {
|
|
S8 = 0,
|
|
U8 = 1,
|
|
S16 = 2,
|
|
U16 = 3,
|
|
S32 = 4,
|
|
U32 = 5,
|
|
S64 = 6,
|
|
U64 = 7,
|
|
Float = 8,
|
|
Double = 9,
|
|
Bool = 10,
|
|
COUNT = 11,
|
|
}
|
|
Dir :: enum i32 {
|
|
None = -1,
|
|
Left = 0,
|
|
Right = 1,
|
|
Up = 2,
|
|
Down = 3,
|
|
COUNT = 4,
|
|
}
|
|
SortDirection :: enum i32 {
|
|
None = 0,
|
|
Ascending = 1,
|
|
Descending = 2,
|
|
}
|
|
Key :: enum i32 {
|
|
None = 0,
|
|
NamedKey_BEGIN = 512,
|
|
Tab = 512,
|
|
LeftArrow = 513,
|
|
RightArrow = 514,
|
|
UpArrow = 515,
|
|
DownArrow = 516,
|
|
PageUp = 517,
|
|
PageDown = 518,
|
|
Home = 519,
|
|
End = 520,
|
|
Insert = 521,
|
|
Delete = 522,
|
|
Backspace = 523,
|
|
Space = 524,
|
|
Enter = 525,
|
|
Escape = 526,
|
|
LeftCtrl = 527,
|
|
LeftShift = 528,
|
|
LeftAlt = 529,
|
|
LeftSuper = 530,
|
|
RightCtrl = 531,
|
|
RightShift = 532,
|
|
RightAlt = 533,
|
|
RightSuper = 534,
|
|
Menu = 535,
|
|
Num0 = 536,
|
|
Num1 = 537,
|
|
Num2 = 538,
|
|
Num3 = 539,
|
|
Num4 = 540,
|
|
Num5 = 541,
|
|
Num6 = 542,
|
|
Num7 = 543,
|
|
Num8 = 544,
|
|
Num9 = 545,
|
|
A = 546,
|
|
B = 547,
|
|
C = 548,
|
|
D = 549,
|
|
E = 550,
|
|
F = 551,
|
|
G = 552,
|
|
H = 553,
|
|
I = 554,
|
|
J = 555,
|
|
K = 556,
|
|
L = 557,
|
|
M = 558,
|
|
N = 559,
|
|
O = 560,
|
|
P = 561,
|
|
Q = 562,
|
|
R = 563,
|
|
S = 564,
|
|
T = 565,
|
|
U = 566,
|
|
V = 567,
|
|
W = 568,
|
|
X = 569,
|
|
Y = 570,
|
|
Z = 571,
|
|
F1 = 572,
|
|
F2 = 573,
|
|
F3 = 574,
|
|
F4 = 575,
|
|
F5 = 576,
|
|
F6 = 577,
|
|
F7 = 578,
|
|
F8 = 579,
|
|
F9 = 580,
|
|
F10 = 581,
|
|
F11 = 582,
|
|
F12 = 583,
|
|
F13 = 584,
|
|
F14 = 585,
|
|
F15 = 586,
|
|
F16 = 587,
|
|
F17 = 588,
|
|
F18 = 589,
|
|
F19 = 590,
|
|
F20 = 591,
|
|
F21 = 592,
|
|
F22 = 593,
|
|
F23 = 594,
|
|
F24 = 595,
|
|
Apostrophe = 596,
|
|
Comma = 597,
|
|
Minus = 598,
|
|
Period = 599,
|
|
Slash = 600,
|
|
Semicolon = 601,
|
|
Equal = 602,
|
|
LeftBracket = 603,
|
|
Backslash = 604,
|
|
RightBracket = 605,
|
|
GraveAccent = 606,
|
|
CapsLock = 607,
|
|
ScrollLock = 608,
|
|
NumLock = 609,
|
|
PrintScreen = 610,
|
|
Pause = 611,
|
|
Keypad0 = 612,
|
|
Keypad1 = 613,
|
|
Keypad2 = 614,
|
|
Keypad3 = 615,
|
|
Keypad4 = 616,
|
|
Keypad5 = 617,
|
|
Keypad6 = 618,
|
|
Keypad7 = 619,
|
|
Keypad8 = 620,
|
|
Keypad9 = 621,
|
|
KeypadDecimal = 622,
|
|
KeypadDivide = 623,
|
|
KeypadMultiply = 624,
|
|
KeypadSubtract = 625,
|
|
KeypadAdd = 626,
|
|
KeypadEnter = 627,
|
|
KeypadEqual = 628,
|
|
AppBack = 629,
|
|
AppForward = 630,
|
|
GamepadStart = 631,
|
|
GamepadBack = 632,
|
|
GamepadFaceLeft = 633,
|
|
GamepadFaceRight = 634,
|
|
GamepadFaceUp = 635,
|
|
GamepadFaceDown = 636,
|
|
GamepadDpadLeft = 637,
|
|
GamepadDpadRight = 638,
|
|
GamepadDpadUp = 639,
|
|
GamepadDpadDown = 640,
|
|
GamepadL1 = 641,
|
|
GamepadR1 = 642,
|
|
GamepadL2 = 643,
|
|
GamepadR2 = 644,
|
|
GamepadL3 = 645,
|
|
GamepadR3 = 646,
|
|
GamepadLStickLeft = 647,
|
|
GamepadLStickRight = 648,
|
|
GamepadLStickUp = 649,
|
|
GamepadLStickDown = 650,
|
|
GamepadRStickLeft = 651,
|
|
GamepadRStickRight = 652,
|
|
GamepadRStickUp = 653,
|
|
GamepadRStickDown = 654,
|
|
MouseLeft = 655,
|
|
MouseRight = 656,
|
|
MouseMiddle = 657,
|
|
MouseX1 = 658,
|
|
MouseX2 = 659,
|
|
MouseWheelX = 660,
|
|
MouseWheelY = 661,
|
|
ReservedForModCtrl = 662,
|
|
ReservedForModShift = 663,
|
|
ReservedForModAlt = 664,
|
|
ReservedForModSuper = 665,
|
|
NamedKey_END = 666,
|
|
ImGuiMod_None = 0,
|
|
ImGuiMod_Ctrl = 4096,
|
|
ImGuiMod_Shift = 8192,
|
|
ImGuiMod_Alt = 16384,
|
|
ImGuiMod_Super = 32768,
|
|
ImGuiMod_Mask_ = 61440,
|
|
NamedKey_COUNT = 154,
|
|
COUNT = 666,
|
|
ImGuiMod_Shortcut = 4096,
|
|
ModCtrl = 4096,
|
|
ModShift = 8192,
|
|
ModAlt = 16384,
|
|
ModSuper = 32768,
|
|
}
|
|
InputFlags :: enum i32 {
|
|
None = 0,
|
|
Repeat = 1,
|
|
RouteActive = 1024,
|
|
RouteFocused = 2048,
|
|
RouteGlobal = 4096,
|
|
RouteAlways = 8192,
|
|
RouteOverFocused = 16384,
|
|
RouteOverActive = 32768,
|
|
RouteUnlessBgFocused = 65536,
|
|
RouteFromRootWindow = 131072,
|
|
Tooltip = 262144,
|
|
}
|
|
ConfigFlags :: enum i32 {
|
|
None = 0,
|
|
NavEnableKeyboard = 1,
|
|
NavEnableGamepad = 2,
|
|
NoMouse = 16,
|
|
NoMouseCursorChange = 32,
|
|
NoKeyboard = 64,
|
|
IsSRGB = 1048576,
|
|
IsTouchScreen = 2097152,
|
|
NavEnableSetMousePos = 4,
|
|
NavNoCaptureKeyboard = 8,
|
|
}
|
|
BackendFlags :: enum i32 {
|
|
None = 0,
|
|
HasGamepad = 1,
|
|
HasMouseCursors = 2,
|
|
HasSetMousePos = 4,
|
|
RendererHasVtxOffset = 8,
|
|
}
|
|
Col :: enum i32 {
|
|
Text = 0,
|
|
TextDisabled = 1,
|
|
WindowBg = 2,
|
|
ChildBg = 3,
|
|
PopupBg = 4,
|
|
Border = 5,
|
|
BorderShadow = 6,
|
|
FrameBg = 7,
|
|
FrameBgHovered = 8,
|
|
FrameBgActive = 9,
|
|
TitleBg = 10,
|
|
TitleBgActive = 11,
|
|
TitleBgCollapsed = 12,
|
|
MenuBarBg = 13,
|
|
ScrollbarBg = 14,
|
|
ScrollbarGrab = 15,
|
|
ScrollbarGrabHovered = 16,
|
|
ScrollbarGrabActive = 17,
|
|
CheckMark = 18,
|
|
SliderGrab = 19,
|
|
SliderGrabActive = 20,
|
|
Button = 21,
|
|
ButtonHovered = 22,
|
|
ButtonActive = 23,
|
|
Header = 24,
|
|
HeaderHovered = 25,
|
|
HeaderActive = 26,
|
|
Separator = 27,
|
|
SeparatorHovered = 28,
|
|
SeparatorActive = 29,
|
|
ResizeGrip = 30,
|
|
ResizeGripHovered = 31,
|
|
ResizeGripActive = 32,
|
|
TabHovered = 33,
|
|
Tab = 34,
|
|
TabSelected = 35,
|
|
TabSelectedOverline = 36,
|
|
TabDimmed = 37,
|
|
TabDimmedSelected = 38,
|
|
TabDimmedSelectedOverline = 39,
|
|
PlotLines = 40,
|
|
PlotLinesHovered = 41,
|
|
PlotHistogram = 42,
|
|
PlotHistogramHovered = 43,
|
|
TableHeaderBg = 44,
|
|
TableBorderStrong = 45,
|
|
TableBorderLight = 46,
|
|
TableRowBg = 47,
|
|
TableRowBgAlt = 48,
|
|
TextLink = 49,
|
|
TextSelectedBg = 50,
|
|
DragDropTarget = 51,
|
|
NavCursor = 52,
|
|
NavWindowingHighlight = 53,
|
|
NavWindowingDimBg = 54,
|
|
ModalWindowDimBg = 55,
|
|
COUNT = 56,
|
|
TabActive = 35,
|
|
TabUnfocused = 37,
|
|
TabUnfocusedActive = 38,
|
|
NavHighlight = 52,
|
|
}
|
|
StyleVar :: enum i32 {
|
|
Alpha = 0,
|
|
DisabledAlpha = 1,
|
|
WindowPadding = 2,
|
|
WindowRounding = 3,
|
|
WindowBorderSize = 4,
|
|
WindowMinSize = 5,
|
|
WindowTitleAlign = 6,
|
|
ChildRounding = 7,
|
|
ChildBorderSize = 8,
|
|
PopupRounding = 9,
|
|
PopupBorderSize = 10,
|
|
FramePadding = 11,
|
|
FrameRounding = 12,
|
|
FrameBorderSize = 13,
|
|
ItemSpacing = 14,
|
|
ItemInnerSpacing = 15,
|
|
IndentSpacing = 16,
|
|
CellPadding = 17,
|
|
ScrollbarSize = 18,
|
|
ScrollbarRounding = 19,
|
|
GrabMinSize = 20,
|
|
GrabRounding = 21,
|
|
TabRounding = 22,
|
|
TabBorderSize = 23,
|
|
TabBarBorderSize = 24,
|
|
TabBarOverlineSize = 25,
|
|
TableAngledHeadersAngle = 26,
|
|
TableAngledHeadersTextAlign = 27,
|
|
ButtonTextAlign = 28,
|
|
SelectableTextAlign = 29,
|
|
SeparatorTextBorderSize = 30,
|
|
SeparatorTextAlign = 31,
|
|
SeparatorTextPadding = 32,
|
|
COUNT = 33,
|
|
}
|
|
ButtonFlags :: enum i32 {
|
|
None = 0,
|
|
MouseButtonLeft = 1,
|
|
MouseButtonRight = 2,
|
|
MouseButtonMiddle = 4,
|
|
MouseButtonMask_ = 7,
|
|
EnableNav = 8,
|
|
}
|
|
ColorEditFlags :: enum i32 {
|
|
None = 0,
|
|
NoAlpha = 2,
|
|
NoPicker = 4,
|
|
NoOptions = 8,
|
|
NoSmallPreview = 16,
|
|
NoInputs = 32,
|
|
NoTooltip = 64,
|
|
NoLabel = 128,
|
|
NoSidePreview = 256,
|
|
NoDragDrop = 512,
|
|
NoBorder = 1024,
|
|
AlphaBar = 65536,
|
|
AlphaPreview = 131072,
|
|
AlphaPreviewHalf = 262144,
|
|
HDR = 524288,
|
|
DisplayRGB = 1048576,
|
|
DisplayHSV = 2097152,
|
|
DisplayHex = 4194304,
|
|
Uint8 = 8388608,
|
|
Float = 16777216,
|
|
PickerHueBar = 33554432,
|
|
PickerHueWheel = 67108864,
|
|
InputRGB = 134217728,
|
|
InputHSV = 268435456,
|
|
DefaultOptions_ = 177209344,
|
|
DisplayMask_ = 7340032,
|
|
DataTypeMask_ = 25165824,
|
|
PickerMask_ = 100663296,
|
|
InputMask_ = 402653184,
|
|
}
|
|
SliderFlags :: enum i32 {
|
|
None = 0,
|
|
Logarithmic = 32,
|
|
NoRoundToFormat = 64,
|
|
NoInput = 128,
|
|
WrapAround = 256,
|
|
ClampOnInput = 512,
|
|
ClampZeroRange = 1024,
|
|
NoSpeedTweaks = 2048,
|
|
AlwaysClamp = 1536,
|
|
InvalidMask_ = 1879048207,
|
|
}
|
|
MouseButton :: enum i32 {
|
|
Left = 0,
|
|
Right = 1,
|
|
Middle = 2,
|
|
COUNT = 5,
|
|
}
|
|
MouseCursor :: enum i32 {
|
|
None = -1,
|
|
Arrow = 0,
|
|
TextInput = 1,
|
|
ResizeAll = 2,
|
|
ResizeNS = 3,
|
|
ResizeEW = 4,
|
|
ResizeNESW = 5,
|
|
ResizeNWSE = 6,
|
|
Hand = 7,
|
|
NotAllowed = 8,
|
|
COUNT = 9,
|
|
}
|
|
MouseSource :: enum i32 {
|
|
Mouse = 0,
|
|
TouchScreen = 1,
|
|
Pen = 2,
|
|
COUNT = 3,
|
|
}
|
|
Cond :: enum i32 {
|
|
None = 0,
|
|
Always = 1,
|
|
Once = 2,
|
|
FirstUseEver = 4,
|
|
Appearing = 8,
|
|
}
|
|
TableFlags :: enum i32 {
|
|
None = 0,
|
|
Resizable = 1,
|
|
Reorderable = 2,
|
|
Hideable = 4,
|
|
Sortable = 8,
|
|
NoSavedSettings = 16,
|
|
ContextMenuInBody = 32,
|
|
RowBg = 64,
|
|
BordersInnerH = 128,
|
|
BordersOuterH = 256,
|
|
BordersInnerV = 512,
|
|
BordersOuterV = 1024,
|
|
BordersH = 384,
|
|
BordersV = 1536,
|
|
BordersInner = 640,
|
|
BordersOuter = 1280,
|
|
Borders = 1920,
|
|
NoBordersInBody = 2048,
|
|
NoBordersInBodyUntilResize = 4096,
|
|
SizingFixedFit = 8192,
|
|
SizingFixedSame = 16384,
|
|
SizingStretchProp = 24576,
|
|
SizingStretchSame = 32768,
|
|
NoHostExtendX = 65536,
|
|
NoHostExtendY = 131072,
|
|
NoKeepColumnsVisible = 262144,
|
|
PreciseWidths = 524288,
|
|
NoClip = 1048576,
|
|
PadOuterX = 2097152,
|
|
NoPadOuterX = 4194304,
|
|
NoPadInnerX = 8388608,
|
|
ScrollX = 16777216,
|
|
ScrollY = 33554432,
|
|
SortMulti = 67108864,
|
|
SortTristate = 134217728,
|
|
HighlightHoveredColumn = 268435456,
|
|
SizingMask_ = 57344,
|
|
}
|
|
TableColumnFlags :: enum i32 {
|
|
None = 0,
|
|
Disabled = 1,
|
|
DefaultHide = 2,
|
|
DefaultSort = 4,
|
|
WidthStretch = 8,
|
|
WidthFixed = 16,
|
|
NoResize = 32,
|
|
NoReorder = 64,
|
|
NoHide = 128,
|
|
NoClip = 256,
|
|
NoSort = 512,
|
|
NoSortAscending = 1024,
|
|
NoSortDescending = 2048,
|
|
NoHeaderLabel = 4096,
|
|
NoHeaderWidth = 8192,
|
|
PreferSortAscending = 16384,
|
|
PreferSortDescending = 32768,
|
|
IndentEnable = 65536,
|
|
IndentDisable = 131072,
|
|
AngledHeader = 262144,
|
|
IsEnabled = 16777216,
|
|
IsVisible = 33554432,
|
|
IsSorted = 67108864,
|
|
IsHovered = 134217728,
|
|
WidthMask_ = 24,
|
|
IndentMask_ = 196608,
|
|
StatusMask_ = 251658240,
|
|
NoDirectResize_ = 1073741824,
|
|
}
|
|
TableRowFlags :: enum i32 {
|
|
None = 0,
|
|
Headers = 1,
|
|
}
|
|
TableBgTarget :: enum i32 {
|
|
None = 0,
|
|
RowBg0 = 1,
|
|
RowBg1 = 2,
|
|
CellBg = 3,
|
|
}
|
|
MultiSelectFlags :: enum i32 {
|
|
None = 0,
|
|
SingleSelect = 1,
|
|
NoSelectAll = 2,
|
|
NoRangeSelect = 4,
|
|
NoAutoSelect = 8,
|
|
NoAutoClear = 16,
|
|
NoAutoClearOnReselect = 32,
|
|
BoxSelect1d = 64,
|
|
BoxSelect2d = 128,
|
|
BoxSelectNoScroll = 256,
|
|
ClearOnEscape = 512,
|
|
ClearOnClickVoid = 1024,
|
|
ScopeWindow = 2048,
|
|
ScopeRect = 4096,
|
|
SelectOnClick = 8192,
|
|
SelectOnClickRelease = 16384,
|
|
NavWrapX = 65536,
|
|
}
|
|
SelectionRequestType :: enum i32 {
|
|
None = 0,
|
|
SetAll = 1,
|
|
SetRange = 2,
|
|
}
|
|
ImDrawFlags :: enum i32 {
|
|
None = 0,
|
|
Closed = 1,
|
|
RoundCornersTopLeft = 16,
|
|
RoundCornersTopRight = 32,
|
|
RoundCornersBottomLeft = 64,
|
|
RoundCornersBottomRight = 128,
|
|
RoundCornersNone = 256,
|
|
RoundCornersTop = 48,
|
|
RoundCornersBottom = 192,
|
|
RoundCornersLeft = 80,
|
|
RoundCornersRight = 160,
|
|
RoundCornersAll = 240,
|
|
RoundCornersDefault_ = 240,
|
|
RoundCornersMask_ = 496,
|
|
}
|
|
ImDrawListFlags :: enum i32 {
|
|
None = 0,
|
|
AntiAliasedLines = 1,
|
|
AntiAliasedLinesUseTex = 2,
|
|
AntiAliasedFill = 4,
|
|
AllowVtxOffset = 8,
|
|
}
|
|
ImFontAtlasFlags :: enum i32 {
|
|
None = 0,
|
|
NoPowerOfTwoHeight = 1,
|
|
NoMouseCursors = 2,
|
|
NoBakedLines = 4,
|
|
}
|
|
ViewportFlags :: enum i32 {
|
|
None = 0,
|
|
IsPlatformWindow = 1,
|
|
IsPlatformMonitor = 2,
|
|
OwnedByApp = 4,
|
|
}
|
|
ID :: u32
|
|
ImS8 :: i8
|
|
ImU8 :: u8
|
|
ImS16 :: i16
|
|
ImU16 :: u16
|
|
ImS32 :: i32
|
|
ImU32 :: u32
|
|
ImS64 :: i64
|
|
ImU64 :: u64
|
|
KeyChord :: i32
|
|
ImTextureID :: ImU64
|
|
ImDrawIdx :: u16
|
|
ImWchar32 :: u32
|
|
ImWchar16 :: u16
|
|
ImWchar :: ImWchar32
|
|
SelectionUserData :: ImS64
|
|
InputTextCallback :: proc "c" (data: ^InputTextCallbackData) -> i32
|
|
SizeCallback :: proc "c" (data: ^SizeCallbackData)
|
|
MemAllocFunc :: proc "c" (sz: u32, user_data: rawptr) -> rawptr
|
|
MemFreeFunc :: proc "c" (ptr: rawptr, user_data: rawptr)
|
|
ImDrawCallback :: proc "c" (parent_list: ^ImDrawList, cmd: ^ImDrawCmd)
|
|
@(default_calling_convention = "cdecl", link_prefix = "ImGui_")
|
|
foreign imgui {
|
|
CreateContext :: proc(shared_font_atlas: ^ImFontAtlas = nil) -> ^Context ---
|
|
DestroyContext :: proc(ctx: ^Context = nil) ---
|
|
GetCurrentContext :: proc() -> ^Context ---
|
|
SetCurrentContext :: proc(ctx: ^Context) ---
|
|
GetIO :: proc() -> ^IO ---
|
|
GetPlatformIO :: proc() -> ^PlatformIO ---
|
|
GetStyle :: proc() -> ^Style ---
|
|
NewFrame :: proc() ---
|
|
EndFrame :: proc() ---
|
|
Render :: proc() ---
|
|
GetDrawData :: proc() -> ^ImDrawData ---
|
|
ShowDemoWindow :: proc(p_open: ^b8 = nil) ---
|
|
ShowMetricsWindow :: proc(p_open: ^b8) ---
|
|
ShowDebugLogWindow :: proc(p_open: ^b8) ---
|
|
ShowIDStackToolWindow :: proc() ---
|
|
ShowIDStackToolWindowEx :: proc(p_open: ^b8) ---
|
|
ShowAboutWindow :: proc(p_open: ^b8) ---
|
|
ShowStyleEditor :: proc(ref: ^Style) ---
|
|
ShowStyleSelector :: proc(label: cstring) -> b8 ---
|
|
ShowFontSelector :: proc(label: cstring) ---
|
|
ShowUserGuide :: proc() ---
|
|
GetVersion :: proc() -> cstring ---
|
|
StyleColorsDark :: proc(dst: ^Style) ---
|
|
StyleColorsLight :: proc(dst: ^Style) ---
|
|
StyleColorsClassic :: proc(dst: ^Style) ---
|
|
Begin :: proc(name: cstring, p_open: ^b8 = nil, flags: WindowFlags = .None) -> b8 ---
|
|
End :: proc() ---
|
|
BeginChild :: proc(str_id: cstring, size: ImVec2, child_flags: ChildFlags, window_flags: WindowFlags) -> b8 ---
|
|
BeginChildID :: proc(id: ID, size: ImVec2, child_flags: ChildFlags, window_flags: WindowFlags) -> b8 ---
|
|
EndChild :: proc() ---
|
|
IsWindowAppearing :: proc() -> b8 ---
|
|
IsWindowCollapsed :: proc() -> b8 ---
|
|
IsWindowFocused :: proc(flags: FocusedFlags) -> b8 ---
|
|
IsWindowHovered :: proc(flags: HoveredFlags) -> b8 ---
|
|
GetWindowDrawList :: proc() -> ^ImDrawList ---
|
|
GetWindowPos :: proc() -> ImVec2 ---
|
|
GetWindowSize :: proc() -> ImVec2 ---
|
|
GetWindowWidth :: proc() -> f32 ---
|
|
GetWindowHeight :: proc() -> f32 ---
|
|
SetNextWindowPos :: proc(pos: ImVec2, cond: Cond) ---
|
|
SetNextWindowPosEx :: proc(pos: ImVec2, cond: Cond, pivot: ImVec2) ---
|
|
SetNextWindowSize :: proc(size: ImVec2, cond: Cond) ---
|
|
SetNextWindowSizeConstraints :: proc(size_min: ImVec2, size_max: ImVec2, custom_callback: SizeCallback, custom_callback_data: rawptr) ---
|
|
SetNextWindowContentSize :: proc(size: ImVec2) ---
|
|
SetNextWindowCollapsed :: proc(collapsed: b8, cond: Cond) ---
|
|
SetNextWindowFocus :: proc() ---
|
|
SetNextWindowScroll :: proc(scroll: ImVec2) ---
|
|
SetNextWindowBgAlpha :: proc(alpha: f32) ---
|
|
SetWindowPos :: proc(pos: ImVec2, cond: Cond) ---
|
|
SetWindowSize :: proc(size: ImVec2, cond: Cond) ---
|
|
SetWindowCollapsed :: proc(collapsed: b8, cond: Cond) ---
|
|
SetWindowFocus :: proc() ---
|
|
SetWindowFontScale :: proc(scale: f32) ---
|
|
SetWindowPosStr :: proc(name: cstring, pos: ImVec2, cond: Cond) ---
|
|
SetWindowSizeStr :: proc(name: cstring, size: ImVec2, cond: Cond) ---
|
|
SetWindowCollapsedStr :: proc(name: cstring, collapsed: b8, cond: Cond) ---
|
|
SetWindowFocusStr :: proc(name: cstring) ---
|
|
GetScrollX :: proc() -> f32 ---
|
|
GetScrollY :: proc() -> f32 ---
|
|
SetScrollX :: proc(scroll_x: f32) ---
|
|
SetScrollY :: proc(scroll_y: f32) ---
|
|
GetScrollMaxX :: proc() -> f32 ---
|
|
GetScrollMaxY :: proc() -> f32 ---
|
|
SetScrollHereX :: proc(center_x_ratio: f32) ---
|
|
SetScrollHereY :: proc(center_y_ratio: f32) ---
|
|
SetScrollFromPosX :: proc(local_x: f32, center_x_ratio: f32) ---
|
|
SetScrollFromPosY :: proc(local_y: f32, center_y_ratio: f32) ---
|
|
PushFont :: proc(font: ^ImFont) ---
|
|
PopFont :: proc() ---
|
|
PushStyleColor :: proc(idx: Col, col: ImU32) ---
|
|
PushStyleColorImVec4 :: proc(idx: Col, col: ImVec4) ---
|
|
PopStyleColor :: proc() ---
|
|
PopStyleColorEx :: proc(count: i32) ---
|
|
PushStyleVar :: proc(idx: StyleVar, val: f32) ---
|
|
PushStyleVarImVec2 :: proc(idx: StyleVar, val: ImVec2) ---
|
|
PushStyleVarX :: proc(idx: StyleVar, val_x: f32) ---
|
|
PushStyleVarY :: proc(idx: StyleVar, val_y: f32) ---
|
|
PopStyleVar :: proc() ---
|
|
PopStyleVarEx :: proc(count: i32) ---
|
|
PushItemFlag :: proc(option: ItemFlags, enabled: b8) ---
|
|
PopItemFlag :: proc() ---
|
|
PushItemWidth :: proc(item_width: f32) ---
|
|
PopItemWidth :: proc() ---
|
|
SetNextItemWidth :: proc(item_width: f32) ---
|
|
CalcItemWidth :: proc() -> f32 ---
|
|
PushTextWrapPos :: proc(wrap_local_pos_x: f32) ---
|
|
PopTextWrapPos :: proc() ---
|
|
GetFont :: proc() -> ^ImFont ---
|
|
GetFontSize :: proc() -> f32 ---
|
|
GetFontTexUvWhitePixel :: proc() -> ImVec2 ---
|
|
GetColorU32 :: proc(idx: Col) -> ImU32 ---
|
|
GetColorU32Ex :: proc(idx: Col, alpha_mul: f32) -> ImU32 ---
|
|
GetColorU32ImVec4 :: proc(col: ImVec4) -> ImU32 ---
|
|
GetColorU32ImU32 :: proc(col: ImU32) -> ImU32 ---
|
|
GetColorU32ImU32Ex :: proc(col: ImU32, alpha_mul: f32) -> ImU32 ---
|
|
GetStyleColorVec4 :: proc(idx: Col) -> ^ImVec4 ---
|
|
GetCursorScreenPos :: proc() -> ImVec2 ---
|
|
SetCursorScreenPos :: proc(pos: ImVec2) ---
|
|
GetContentRegionAvail :: proc() -> ImVec2 ---
|
|
GetCursorPos :: proc() -> ImVec2 ---
|
|
GetCursorPosX :: proc() -> f32 ---
|
|
GetCursorPosY :: proc() -> f32 ---
|
|
SetCursorPos :: proc(local_pos: ImVec2) ---
|
|
SetCursorPosX :: proc(local_x: f32) ---
|
|
SetCursorPosY :: proc(local_y: f32) ---
|
|
GetCursorStartPos :: proc() -> ImVec2 ---
|
|
Separator :: proc() ---
|
|
SameLine :: proc() ---
|
|
SameLineEx :: proc(offset_from_start_x: f32, spacing: f32) ---
|
|
NewLine :: proc() ---
|
|
Spacing :: proc() ---
|
|
Dummy :: proc(size: ImVec2) ---
|
|
Indent :: proc() ---
|
|
IndentEx :: proc(indent_w: f32) ---
|
|
Unindent :: proc() ---
|
|
UnindentEx :: proc(indent_w: f32) ---
|
|
BeginGroup :: proc() ---
|
|
EndGroup :: proc() ---
|
|
AlignTextToFramePadding :: proc() ---
|
|
GetTextLineHeight :: proc() -> f32 ---
|
|
GetTextLineHeightWithSpacing :: proc() -> f32 ---
|
|
GetFrameHeight :: proc() -> f32 ---
|
|
GetFrameHeightWithSpacing :: proc() -> f32 ---
|
|
PushID :: proc(str_id: cstring) ---
|
|
PushIDStr :: proc(str_id_begin: cstring, str_id_end: cstring) ---
|
|
PushIDPtr :: proc(ptr_id: rawptr) ---
|
|
PushIDInt :: proc(int_id: i32) ---
|
|
PopID :: proc() ---
|
|
GetID :: proc(str_id: cstring) -> ID ---
|
|
GetIDStr :: proc(str_id_begin: cstring, str_id_end: cstring) -> ID ---
|
|
GetIDPtr :: proc(ptr_id: rawptr) -> ID ---
|
|
GetIDInt :: proc(int_id: i32) -> ID ---
|
|
TextUnformatted :: proc(text: cstring) ---
|
|
TextUnformattedEx :: proc(text: cstring, text_end: cstring) ---
|
|
Text :: proc(fmt: cstring, #c_vararg __unnamed_arg1__: ..any) ---
|
|
TextV :: proc(fmt: cstring, args: va_list) ---
|
|
TextColored :: proc(col: ImVec4, fmt: cstring, #c_vararg __unnamed_arg2__: ..any) ---
|
|
TextColoredV :: proc(col: ImVec4, fmt: cstring, args: va_list) ---
|
|
TextDisabled :: proc(fmt: cstring, #c_vararg __unnamed_arg1__: ..any) ---
|
|
TextDisabledV :: proc(fmt: cstring, args: va_list) ---
|
|
TextWrapped :: proc(fmt: cstring, #c_vararg __unnamed_arg1__: ..any) ---
|
|
TextWrappedV :: proc(fmt: cstring, args: va_list) ---
|
|
LabelText :: proc(label: cstring, fmt: cstring, #c_vararg __unnamed_arg2__: ..any) ---
|
|
LabelTextV :: proc(label: cstring, fmt: cstring, args: va_list) ---
|
|
BulletText :: proc(fmt: cstring, #c_vararg __unnamed_arg1__: ..any) ---
|
|
BulletTextV :: proc(fmt: cstring, args: va_list) ---
|
|
SeparatorText :: proc(label: cstring) ---
|
|
Button :: proc(label: cstring) -> b8 ---
|
|
ButtonEx :: proc(label: cstring, size: ImVec2) -> b8 ---
|
|
SmallButton :: proc(label: cstring) -> b8 ---
|
|
InvisibleButton :: proc(str_id: cstring, size: ImVec2, flags: ButtonFlags) -> b8 ---
|
|
ArrowButton :: proc(str_id: cstring, dir: Dir) -> b8 ---
|
|
Checkbox :: proc(label: cstring, v: ^b8) -> b8 ---
|
|
CheckboxFlagsIntPtr :: proc(label: cstring, flags: ^i32, flags_value: i32) -> b8 ---
|
|
CheckboxFlagsUintPtr :: proc(label: cstring, flags: ^u32, flags_value: u32) -> b8 ---
|
|
RadioButton :: proc(label: cstring, active: b8) -> b8 ---
|
|
RadioButtonIntPtr :: proc(label: cstring, v: ^i32, v_button: i32) -> b8 ---
|
|
ProgressBar :: proc(fraction: f32, size_arg: ImVec2, overlay: cstring) ---
|
|
Bullet :: proc() ---
|
|
TextLink :: proc(label: cstring) -> b8 ---
|
|
TextLinkOpenURL :: proc(label: cstring) ---
|
|
TextLinkOpenURLEx :: proc(label: cstring, url: cstring) ---
|
|
Image :: proc(user_texture_id: ImTextureID, image_size: ImVec2) ---
|
|
ImageEx :: proc(user_texture_id: ImTextureID, image_size: ImVec2, uv0: ImVec2, uv1: ImVec2, tint_col: ImVec4, border_col: ImVec4) ---
|
|
ImageButton :: proc(str_id: cstring, user_texture_id: ImTextureID, image_size: ImVec2) -> b8 ---
|
|
ImageButtonEx :: proc(str_id: cstring, user_texture_id: ImTextureID, image_size: ImVec2, uv0: ImVec2, uv1: ImVec2, bg_col: ImVec4, tint_col: ImVec4) -> b8 ---
|
|
BeginCombo :: proc(label: cstring, preview_value: cstring, flags: ComboFlags) -> b8 ---
|
|
EndCombo :: proc() ---
|
|
ComboChar :: proc(label: cstring, current_item: ^i32, items: ^[]cstring, items_count: i32) -> b8 ---
|
|
ComboCharEx :: proc(label: cstring, current_item: ^i32, items: ^[]cstring, items_count: i32, popup_max_height_in_items: i32) -> b8 ---
|
|
Combo :: proc(label: cstring, current_item: ^i32, items_separated_by_zeros: cstring) -> b8 ---
|
|
ComboEx :: proc(label: cstring, current_item: ^i32, items_separated_by_zeros: cstring, popup_max_height_in_items: i32) -> b8 ---
|
|
ComboCallback :: proc(label: cstring, current_item: ^i32, getter: proc "c" (user_data: rawptr, idx: i32) -> cstring, user_data: rawptr, items_count: i32) -> b8 ---
|
|
ComboCallbackEx :: proc(label: cstring, current_item: ^i32, getter: proc "c" (user_data: rawptr, idx: i32) -> cstring, user_data: rawptr, items_count: i32, popup_max_height_in_items: i32) -> b8 ---
|
|
DragFloat :: proc(label: cstring, v: ^f32) -> b8 ---
|
|
DragFloatEx :: proc(label: cstring, v: ^f32, v_speed: f32, v_min: f32, v_max: f32, format: cstring, flags: SliderFlags) -> b8 ---
|
|
DragFloat2 :: proc(label: cstring, v: ^[2]f32) -> b8 ---
|
|
DragFloat2Ex :: proc(label: cstring, v: ^[2]f32, v_speed: f32, v_min: f32, v_max: f32, format: cstring, flags: SliderFlags) -> b8 ---
|
|
DragFloat3 :: proc(label: cstring, v: ^[3]f32) -> b8 ---
|
|
DragFloat3Ex :: proc(label: cstring, v: ^[3]f32, v_speed: f32, v_min: f32, v_max: f32, format: cstring, flags: SliderFlags) -> b8 ---
|
|
DragFloat4 :: proc(label: cstring, v: ^[4]f32) -> b8 ---
|
|
DragFloat4Ex :: proc(label: cstring, v: ^[4]f32, v_speed: f32, v_min: f32, v_max: f32, format: cstring, flags: SliderFlags) -> b8 ---
|
|
DragFloatRange2 :: proc(label: cstring, v_current_min: ^f32, v_current_max: ^f32) -> b8 ---
|
|
DragFloatRange2Ex :: proc(label: cstring, v_current_min: ^f32, v_current_max: ^f32, v_speed: f32, v_min: f32, v_max: f32, format: cstring, format_max: cstring, flags: SliderFlags) -> b8 ---
|
|
DragInt :: proc(label: cstring, v: ^i32) -> b8 ---
|
|
DragIntEx :: proc(label: cstring, v: ^i32, v_speed: f32, v_min: i32, v_max: i32, format: cstring, flags: SliderFlags) -> b8 ---
|
|
DragInt2 :: proc(label: cstring, v: ^[2]i32) -> b8 ---
|
|
DragInt2Ex :: proc(label: cstring, v: ^[2]i32, v_speed: f32, v_min: i32, v_max: i32, format: cstring, flags: SliderFlags) -> b8 ---
|
|
DragInt3 :: proc(label: cstring, v: ^[3]i32) -> b8 ---
|
|
DragInt3Ex :: proc(label: cstring, v: ^[3]i32, v_speed: f32, v_min: i32, v_max: i32, format: cstring, flags: SliderFlags) -> b8 ---
|
|
DragInt4 :: proc(label: cstring, v: ^[4]i32) -> b8 ---
|
|
DragInt4Ex :: proc(label: cstring, v: ^[4]i32, v_speed: f32, v_min: i32, v_max: i32, format: cstring, flags: SliderFlags) -> b8 ---
|
|
DragIntRange2 :: proc(label: cstring, v_current_min: ^i32, v_current_max: ^i32) -> b8 ---
|
|
DragIntRange2Ex :: proc(label: cstring, v_current_min: ^i32, v_current_max: ^i32, v_speed: f32, v_min: i32, v_max: i32, format: cstring, format_max: cstring, flags: SliderFlags) -> b8 ---
|
|
DragScalar :: proc(label: cstring, data_type: DataType, p_data: rawptr) -> b8 ---
|
|
DragScalarEx :: proc(label: cstring, data_type: DataType, p_data: rawptr, v_speed: f32, p_min: rawptr, p_max: rawptr, format: cstring, flags: SliderFlags) -> b8 ---
|
|
DragScalarN :: proc(label: cstring, data_type: DataType, p_data: rawptr, components: i32) -> b8 ---
|
|
DragScalarNEx :: proc(label: cstring, data_type: DataType, p_data: rawptr, components: i32, v_speed: f32, p_min: rawptr, p_max: rawptr, format: cstring, flags: SliderFlags) -> b8 ---
|
|
SliderFloat :: proc(label: cstring, v: ^f32, v_min: f32, v_max: f32) -> b8 ---
|
|
SliderFloatEx :: proc(label: cstring, v: ^f32, v_min: f32, v_max: f32, format: cstring, flags: SliderFlags) -> b8 ---
|
|
SliderFloat2 :: proc(label: cstring, v: ^[2]f32, v_min: f32, v_max: f32) -> b8 ---
|
|
SliderFloat2Ex :: proc(label: cstring, v: ^[2]f32, v_min: f32, v_max: f32, format: cstring, flags: SliderFlags) -> b8 ---
|
|
SliderFloat3 :: proc(label: cstring, v: ^[3]f32, v_min: f32, v_max: f32) -> b8 ---
|
|
SliderFloat3Ex :: proc(label: cstring, v: ^[3]f32, v_min: f32, v_max: f32, format: cstring, flags: SliderFlags) -> b8 ---
|
|
SliderFloat4 :: proc(label: cstring, v: ^[4]f32, v_min: f32, v_max: f32) -> b8 ---
|
|
SliderFloat4Ex :: proc(label: cstring, v: ^[4]f32, v_min: f32, v_max: f32, format: cstring, flags: SliderFlags) -> b8 ---
|
|
SliderAngle :: proc(label: cstring, v_rad: ^f32) -> b8 ---
|
|
SliderAngleEx :: proc(label: cstring, v_rad: ^f32, v_degrees_min: f32, v_degrees_max: f32, format: cstring, flags: SliderFlags) -> b8 ---
|
|
SliderInt :: proc(label: cstring, v: ^i32, v_min: i32, v_max: i32) -> b8 ---
|
|
SliderIntEx :: proc(label: cstring, v: ^i32, v_min: i32, v_max: i32, format: cstring, flags: SliderFlags) -> b8 ---
|
|
SliderInt2 :: proc(label: cstring, v: ^[2]i32, v_min: i32, v_max: i32) -> b8 ---
|
|
SliderInt2Ex :: proc(label: cstring, v: ^[2]i32, v_min: i32, v_max: i32, format: cstring, flags: SliderFlags) -> b8 ---
|
|
SliderInt3 :: proc(label: cstring, v: ^[3]i32, v_min: i32, v_max: i32) -> b8 ---
|
|
SliderInt3Ex :: proc(label: cstring, v: ^[3]i32, v_min: i32, v_max: i32, format: cstring, flags: SliderFlags) -> b8 ---
|
|
SliderInt4 :: proc(label: cstring, v: ^[4]i32, v_min: i32, v_max: i32) -> b8 ---
|
|
SliderInt4Ex :: proc(label: cstring, v: ^[4]i32, v_min: i32, v_max: i32, format: cstring, flags: SliderFlags) -> b8 ---
|
|
SliderScalar :: proc(label: cstring, data_type: DataType, p_data: rawptr, p_min: rawptr, p_max: rawptr) -> b8 ---
|
|
SliderScalarEx :: proc(label: cstring, data_type: DataType, p_data: rawptr, p_min: rawptr, p_max: rawptr, format: cstring, flags: SliderFlags) -> b8 ---
|
|
SliderScalarN :: proc(label: cstring, data_type: DataType, p_data: rawptr, components: i32, p_min: rawptr, p_max: rawptr) -> b8 ---
|
|
SliderScalarNEx :: proc(label: cstring, data_type: DataType, p_data: rawptr, components: i32, p_min: rawptr, p_max: rawptr, format: cstring, flags: SliderFlags) -> b8 ---
|
|
VSliderFloat :: proc(label: cstring, size: ImVec2, v: ^f32, v_min: f32, v_max: f32) -> b8 ---
|
|
VSliderFloatEx :: proc(label: cstring, size: ImVec2, v: ^f32, v_min: f32, v_max: f32, format: cstring, flags: SliderFlags) -> b8 ---
|
|
VSliderInt :: proc(label: cstring, size: ImVec2, v: ^i32, v_min: i32, v_max: i32) -> b8 ---
|
|
VSliderIntEx :: proc(label: cstring, size: ImVec2, v: ^i32, v_min: i32, v_max: i32, format: cstring, flags: SliderFlags) -> b8 ---
|
|
VSliderScalar :: proc(label: cstring, size: ImVec2, data_type: DataType, p_data: rawptr, p_min: rawptr, p_max: rawptr) -> b8 ---
|
|
VSliderScalarEx :: proc(label: cstring, size: ImVec2, data_type: DataType, p_data: rawptr, p_min: rawptr, p_max: rawptr, format: cstring, flags: SliderFlags) -> b8 ---
|
|
InputText :: proc(label: cstring, buf: cstring, buf_size: u32, flags: InputTextFlags) -> b8 ---
|
|
InputTextEx :: proc(label: cstring, buf: cstring, buf_size: u32, flags: InputTextFlags, callback: InputTextCallback, user_data: rawptr) -> b8 ---
|
|
InputTextMultiline :: proc(label: cstring, buf: cstring, buf_size: u32) -> b8 ---
|
|
InputTextMultilineEx :: proc(label: cstring, buf: cstring, buf_size: u32, size: ImVec2, flags: InputTextFlags, callback: InputTextCallback, user_data: rawptr) -> b8 ---
|
|
InputTextWithHint :: proc(label: cstring, hint: cstring, buf: cstring, buf_size: u32, flags: InputTextFlags) -> b8 ---
|
|
InputTextWithHintEx :: proc(label: cstring, hint: cstring, buf: cstring, buf_size: u32, flags: InputTextFlags, callback: InputTextCallback, user_data: rawptr) -> b8 ---
|
|
InputFloat :: proc(label: cstring, v: ^f32) -> b8 ---
|
|
InputFloatEx :: proc(label: cstring, v: ^f32, step: f32, step_fast: f32, format: cstring, flags: InputTextFlags) -> b8 ---
|
|
InputFloat2 :: proc(label: cstring, v: ^[2]f32) -> b8 ---
|
|
InputFloat2Ex :: proc(label: cstring, v: ^[2]f32, format: cstring, flags: InputTextFlags) -> b8 ---
|
|
InputFloat3 :: proc(label: cstring, v: ^[3]f32) -> b8 ---
|
|
InputFloat3Ex :: proc(label: cstring, v: ^[3]f32, format: cstring, flags: InputTextFlags) -> b8 ---
|
|
InputFloat4 :: proc(label: cstring, v: ^[4]f32) -> b8 ---
|
|
InputFloat4Ex :: proc(label: cstring, v: ^[4]f32, format: cstring, flags: InputTextFlags) -> b8 ---
|
|
InputInt :: proc(label: cstring, v: ^i32) -> b8 ---
|
|
InputIntEx :: proc(label: cstring, v: ^i32, step: i32, step_fast: i32, flags: InputTextFlags) -> b8 ---
|
|
InputInt2 :: proc(label: cstring, v: ^[2]i32, flags: InputTextFlags) -> b8 ---
|
|
InputInt3 :: proc(label: cstring, v: ^[3]i32, flags: InputTextFlags) -> b8 ---
|
|
InputInt4 :: proc(label: cstring, v: ^[4]i32, flags: InputTextFlags) -> b8 ---
|
|
InputDouble :: proc(label: cstring, v: ^f64) -> b8 ---
|
|
InputDoubleEx :: proc(label: cstring, v: ^f64, step: f64, step_fast: f64, format: cstring, flags: InputTextFlags) -> b8 ---
|
|
InputScalar :: proc(label: cstring, data_type: DataType, p_data: rawptr) -> b8 ---
|
|
InputScalarEx :: proc(label: cstring, data_type: DataType, p_data: rawptr, p_step: rawptr, p_step_fast: rawptr, format: cstring, flags: InputTextFlags) -> b8 ---
|
|
InputScalarN :: proc(label: cstring, data_type: DataType, p_data: rawptr, components: i32) -> b8 ---
|
|
InputScalarNEx :: proc(label: cstring, data_type: DataType, p_data: rawptr, components: i32, p_step: rawptr, p_step_fast: rawptr, format: cstring, flags: InputTextFlags) -> b8 ---
|
|
ColorEdit3 :: proc(label: cstring, col: ^[3]f32, flags: ColorEditFlags) -> b8 ---
|
|
ColorEdit4 :: proc(label: cstring, col: ^[4]f32, flags: ColorEditFlags) -> b8 ---
|
|
ColorPicker3 :: proc(label: cstring, col: ^[3]f32, flags: ColorEditFlags) -> b8 ---
|
|
ColorPicker4 :: proc(label: cstring, col: ^[4]f32, flags: ColorEditFlags, ref_col: ^f32) -> b8 ---
|
|
ColorButton :: proc(desc_id: cstring, col: ImVec4, flags: ColorEditFlags) -> b8 ---
|
|
ColorButtonEx :: proc(desc_id: cstring, col: ImVec4, flags: ColorEditFlags, size: ImVec2) -> b8 ---
|
|
SetColorEditOptions :: proc(flags: ColorEditFlags) ---
|
|
TreeNode :: proc(label: cstring) -> b8 ---
|
|
TreeNodeStr :: proc(str_id: cstring, fmt: cstring, #c_vararg __unnamed_arg2__: ..any) -> b8 ---
|
|
TreeNodePtr :: proc(ptr_id: rawptr, fmt: cstring, #c_vararg __unnamed_arg2__: ..any) -> b8 ---
|
|
TreeNodeV :: proc(str_id: cstring, fmt: cstring, args: va_list) -> b8 ---
|
|
TreeNodeVPtr :: proc(ptr_id: rawptr, fmt: cstring, args: va_list) -> b8 ---
|
|
TreeNodeEx :: proc(label: cstring, flags: TreeNodeFlags) -> b8 ---
|
|
TreeNodeExStr :: proc(str_id: cstring, flags: TreeNodeFlags, fmt: cstring, #c_vararg __unnamed_arg3__: ..any) -> b8 ---
|
|
TreeNodeExPtr :: proc(ptr_id: rawptr, flags: TreeNodeFlags, fmt: cstring, #c_vararg __unnamed_arg3__: ..any) -> b8 ---
|
|
TreeNodeExV :: proc(str_id: cstring, flags: TreeNodeFlags, fmt: cstring, args: va_list) -> b8 ---
|
|
TreeNodeExVPtr :: proc(ptr_id: rawptr, flags: TreeNodeFlags, fmt: cstring, args: va_list) -> b8 ---
|
|
TreePush :: proc(str_id: cstring) ---
|
|
TreePushPtr :: proc(ptr_id: rawptr) ---
|
|
TreePop :: proc() ---
|
|
GetTreeNodeToLabelSpacing :: proc() -> f32 ---
|
|
CollapsingHeader :: proc(label: cstring, flags: TreeNodeFlags) -> b8 ---
|
|
CollapsingHeaderBoolPtr :: proc(label: cstring, p_visible: ^b8, flags: TreeNodeFlags) -> b8 ---
|
|
SetNextItemOpen :: proc(is_open: b8, cond: Cond) ---
|
|
SetNextItemStorageID :: proc(storage_id: ID) ---
|
|
Selectable :: proc(label: cstring) -> b8 ---
|
|
SelectableEx :: proc(label: cstring, selected: b8, flags: SelectableFlags, size: ImVec2) -> b8 ---
|
|
SelectableBoolPtr :: proc(label: cstring, p_selected: ^b8, flags: SelectableFlags) -> b8 ---
|
|
SelectableBoolPtrEx :: proc(label: cstring, p_selected: ^b8, flags: SelectableFlags, size: ImVec2) -> b8 ---
|
|
BeginMultiSelect :: proc(flags: MultiSelectFlags) -> ^MultiSelectIO ---
|
|
BeginMultiSelectEx :: proc(flags: MultiSelectFlags, selection_size: i32, items_count: i32) -> ^MultiSelectIO ---
|
|
EndMultiSelect :: proc() -> ^MultiSelectIO ---
|
|
SetNextItemSelectionUserData :: proc(selection_user_data: SelectionUserData) ---
|
|
IsItemToggledSelection :: proc() -> b8 ---
|
|
BeginListBox :: proc(label: cstring, size: ImVec2) -> b8 ---
|
|
EndListBox :: proc() ---
|
|
ListBox :: proc(label: cstring, current_item: ^i32, items: ^[]cstring, items_count: i32, height_in_items: i32) -> b8 ---
|
|
ListBoxCallback :: proc(label: cstring, current_item: ^i32, getter: proc "c" (user_data: rawptr, idx: i32) -> cstring, user_data: rawptr, items_count: i32) -> b8 ---
|
|
ListBoxCallbackEx :: proc(label: cstring, current_item: ^i32, getter: proc "c" (user_data: rawptr, idx: i32) -> cstring, user_data: rawptr, items_count: i32, height_in_items: i32) -> b8 ---
|
|
PlotLines :: proc(label: cstring, values: ^f32, values_count: i32) ---
|
|
PlotLinesEx :: proc(label: cstring, values: ^f32, values_count: i32, values_offset: i32, overlay_text: cstring, scale_min: f32, scale_max: f32, graph_size: ImVec2, stride: i32) ---
|
|
PlotLinesCallback :: proc(label: cstring, values_getter: proc "c" (data: rawptr, idx: i32) -> f32, data: rawptr, values_count: i32) ---
|
|
PlotLinesCallbackEx :: proc(label: cstring, values_getter: proc "c" (data: rawptr, idx: i32) -> f32, data: rawptr, values_count: i32, values_offset: i32, overlay_text: cstring, scale_min: f32, scale_max: f32, graph_size: ImVec2) ---
|
|
PlotHistogram :: proc(label: cstring, values: ^f32, values_count: i32) ---
|
|
PlotHistogramEx :: proc(label: cstring, values: ^f32, values_count: i32, values_offset: i32, overlay_text: cstring, scale_min: f32, scale_max: f32, graph_size: ImVec2, stride: i32) ---
|
|
PlotHistogramCallback :: proc(label: cstring, values_getter: proc "c" (data: rawptr, idx: i32) -> f32, data: rawptr, values_count: i32) ---
|
|
PlotHistogramCallbackEx :: proc(label: cstring, values_getter: proc "c" (data: rawptr, idx: i32) -> f32, data: rawptr, values_count: i32, values_offset: i32, overlay_text: cstring, scale_min: f32, scale_max: f32, graph_size: ImVec2) ---
|
|
BeginMenuBar :: proc() -> b8 ---
|
|
EndMenuBar :: proc() ---
|
|
BeginMainMenuBar :: proc() -> b8 ---
|
|
EndMainMenuBar :: proc() ---
|
|
BeginMenu :: proc(label: cstring) -> b8 ---
|
|
BeginMenuEx :: proc(label: cstring, enabled: b8) -> b8 ---
|
|
EndMenu :: proc() ---
|
|
MenuItem :: proc(label: cstring) -> b8 ---
|
|
MenuItemEx :: proc(label: cstring, shortcut: cstring, selected: b8, enabled: b8) -> b8 ---
|
|
MenuItemBoolPtr :: proc(label: cstring, shortcut: cstring, p_selected: ^b8, enabled: b8) -> b8 ---
|
|
BeginTooltip :: proc() -> b8 ---
|
|
EndTooltip :: proc() ---
|
|
SetTooltip :: proc(fmt: cstring, #c_vararg __unnamed_arg1__: ..any) ---
|
|
SetTooltipV :: proc(fmt: cstring, args: va_list) ---
|
|
BeginItemTooltip :: proc() -> b8 ---
|
|
SetItemTooltip :: proc(fmt: cstring, #c_vararg __unnamed_arg1__: ..any) ---
|
|
SetItemTooltipV :: proc(fmt: cstring, args: va_list) ---
|
|
BeginPopup :: proc(str_id: cstring, flags: WindowFlags) -> b8 ---
|
|
BeginPopupModal :: proc(name: cstring, p_open: ^b8, flags: WindowFlags) -> b8 ---
|
|
EndPopup :: proc() ---
|
|
OpenPopup :: proc(str_id: cstring, popup_flags: PopupFlags) ---
|
|
OpenPopupID :: proc(id: ID, popup_flags: PopupFlags) ---
|
|
OpenPopupOnItemClick :: proc(str_id: cstring, popup_flags: PopupFlags) ---
|
|
CloseCurrentPopup :: proc() ---
|
|
BeginPopupContextItem :: proc() -> b8 ---
|
|
BeginPopupContextItemEx :: proc(str_id: cstring, popup_flags: PopupFlags) -> b8 ---
|
|
BeginPopupContextWindow :: proc() -> b8 ---
|
|
BeginPopupContextWindowEx :: proc(str_id: cstring, popup_flags: PopupFlags) -> b8 ---
|
|
BeginPopupContextVoid :: proc() -> b8 ---
|
|
BeginPopupContextVoidEx :: proc(str_id: cstring, popup_flags: PopupFlags) -> b8 ---
|
|
IsPopupOpen :: proc(str_id: cstring, flags: PopupFlags) -> b8 ---
|
|
BeginTable :: proc(str_id: cstring, columns: i32, flags: TableFlags) -> b8 ---
|
|
BeginTableEx :: proc(str_id: cstring, columns: i32, flags: TableFlags, outer_size: ImVec2, inner_width: f32) -> b8 ---
|
|
EndTable :: proc() ---
|
|
TableNextRow :: proc() ---
|
|
TableNextRowEx :: proc(row_flags: TableRowFlags, min_row_height: f32) ---
|
|
TableNextColumn :: proc() -> b8 ---
|
|
TableSetColumnIndex :: proc(column_n: i32) -> b8 ---
|
|
TableSetupColumn :: proc(label: cstring, flags: TableColumnFlags) ---
|
|
TableSetupColumnEx :: proc(label: cstring, flags: TableColumnFlags, init_width_or_weight: f32, user_id: ID) ---
|
|
TableSetupScrollFreeze :: proc(cols: i32, rows: i32) ---
|
|
TableHeader :: proc(label: cstring) ---
|
|
TableHeadersRow :: proc() ---
|
|
TableAngledHeadersRow :: proc() ---
|
|
TableGetSortSpecs :: proc() -> ^TableSortSpecs ---
|
|
TableGetColumnCount :: proc() -> i32 ---
|
|
TableGetColumnIndex :: proc() -> i32 ---
|
|
TableGetRowIndex :: proc() -> i32 ---
|
|
TableGetColumnName :: proc(column_n: i32) -> cstring ---
|
|
TableGetColumnFlags :: proc(column_n: i32) -> TableColumnFlags ---
|
|
TableSetColumnEnabled :: proc(column_n: i32, v: b8) ---
|
|
TableGetHoveredColumn :: proc() -> i32 ---
|
|
TableSetBgColor :: proc(target: TableBgTarget, color: ImU32, column_n: i32) ---
|
|
Columns :: proc() ---
|
|
ColumnsEx :: proc(count: i32, id: cstring, borders: b8) ---
|
|
NextColumn :: proc() ---
|
|
GetColumnIndex :: proc() -> i32 ---
|
|
GetColumnWidth :: proc(column_index: i32) -> f32 ---
|
|
SetColumnWidth :: proc(column_index: i32, width: f32) ---
|
|
GetColumnOffset :: proc(column_index: i32) -> f32 ---
|
|
SetColumnOffset :: proc(column_index: i32, offset_x: f32) ---
|
|
GetColumnsCount :: proc() -> i32 ---
|
|
BeginTabBar :: proc(str_id: cstring, flags: TabBarFlags) -> b8 ---
|
|
EndTabBar :: proc() ---
|
|
BeginTabItem :: proc(label: cstring, p_open: ^b8, flags: TabItemFlags) -> b8 ---
|
|
EndTabItem :: proc() ---
|
|
TabItemButton :: proc(label: cstring, flags: TabItemFlags) -> b8 ---
|
|
SetTabItemClosed :: proc(tab_or_docked_window_label: cstring) ---
|
|
LogToTTY :: proc(auto_open_depth: i32) ---
|
|
LogToFile :: proc(auto_open_depth: i32, filename: cstring) ---
|
|
LogToClipboard :: proc(auto_open_depth: i32) ---
|
|
LogFinish :: proc() ---
|
|
LogButtons :: proc() ---
|
|
LogText :: proc(fmt: cstring, #c_vararg __unnamed_arg1__: ..any) ---
|
|
LogTextV :: proc(fmt: cstring, args: va_list) ---
|
|
BeginDragDropSource :: proc(flags: DragDropFlags) -> b8 ---
|
|
SetDragDropPayload :: proc(type: cstring, data: rawptr, sz: u32, cond: Cond) -> b8 ---
|
|
EndDragDropSource :: proc() ---
|
|
BeginDragDropTarget :: proc() -> b8 ---
|
|
AcceptDragDropPayload :: proc(type: cstring, flags: DragDropFlags) -> ^Payload ---
|
|
EndDragDropTarget :: proc() ---
|
|
GetDragDropPayload :: proc() -> ^Payload ---
|
|
BeginDisabled :: proc(disabled: b8) ---
|
|
EndDisabled :: proc() ---
|
|
PushClipRect :: proc(clip_rect_min: ImVec2, clip_rect_max: ImVec2, intersect_with_current_clip_rect: b8) ---
|
|
PopClipRect :: proc() ---
|
|
SetItemDefaultFocus :: proc() ---
|
|
SetKeyboardFocusHere :: proc() ---
|
|
SetKeyboardFocusHereEx :: proc(offset: i32) ---
|
|
SetNavCursorVisible :: proc(visible: b8) ---
|
|
SetNextItemAllowOverlap :: proc() ---
|
|
IsItemHovered :: proc(flags: HoveredFlags) -> b8 ---
|
|
IsItemActive :: proc() -> b8 ---
|
|
IsItemFocused :: proc() -> b8 ---
|
|
IsItemClicked :: proc() -> b8 ---
|
|
IsItemClickedEx :: proc(mouse_button: MouseButton) -> b8 ---
|
|
IsItemVisible :: proc() -> b8 ---
|
|
IsItemEdited :: proc() -> b8 ---
|
|
IsItemActivated :: proc() -> b8 ---
|
|
IsItemDeactivated :: proc() -> b8 ---
|
|
IsItemDeactivatedAfterEdit :: proc() -> b8 ---
|
|
IsItemToggledOpen :: proc() -> b8 ---
|
|
IsAnyItemHovered :: proc() -> b8 ---
|
|
IsAnyItemActive :: proc() -> b8 ---
|
|
IsAnyItemFocused :: proc() -> b8 ---
|
|
GetItemID :: proc() -> ID ---
|
|
GetItemRectMin :: proc() -> ImVec2 ---
|
|
GetItemRectMax :: proc() -> ImVec2 ---
|
|
GetItemRectSize :: proc() -> ImVec2 ---
|
|
GetMainViewport :: proc() -> ^Viewport ---
|
|
GetBackgroundDrawList :: proc() -> ^ImDrawList ---
|
|
GetForegroundDrawList :: proc() -> ^ImDrawList ---
|
|
IsRectVisibleBySize :: proc(size: ImVec2) -> b8 ---
|
|
IsRectVisible :: proc(rect_min: ImVec2, rect_max: ImVec2) -> b8 ---
|
|
GetTime :: proc() -> f64 ---
|
|
GetFrameCount :: proc() -> i32 ---
|
|
GetDrawListSharedData :: proc() -> ^ImDrawListSharedData ---
|
|
GetStyleColorName :: proc(idx: Col) -> cstring ---
|
|
SetStateStorage :: proc(storage: ^Storage) ---
|
|
GetStateStorage :: proc() -> ^Storage ---
|
|
CalcTextSize :: proc(text: cstring) -> ImVec2 ---
|
|
CalcTextSizeEx :: proc(text: cstring, text_end: cstring, hide_text_after_double_hash: b8, wrap_width: f32) -> ImVec2 ---
|
|
ColorConvertU32ToFloat4 :: proc(_in: ImU32) -> ImVec4 ---
|
|
ColorConvertFloat4ToU32 :: proc(_in: ImVec4) -> ImU32 ---
|
|
ColorConvertRGBtoHSV :: proc(r: f32, g: f32, b: f32, out_h: ^f32, out_s: ^f32, out_v: ^f32) ---
|
|
ColorConvertHSVtoRGB :: proc(h: f32, s: f32, v: f32, out_r: ^f32, out_g: ^f32, out_b: ^f32) ---
|
|
IsKeyDown :: proc(key: Key) -> b8 ---
|
|
IsKeyPressed :: proc(key: Key) -> b8 ---
|
|
IsKeyPressedEx :: proc(key: Key, repeat: b8) -> b8 ---
|
|
IsKeyReleased :: proc(key: Key) -> b8 ---
|
|
IsKeyChordPressed :: proc(key_chord: KeyChord) -> b8 ---
|
|
GetKeyPressedAmount :: proc(key: Key, repeat_delay: f32, rate: f32) -> i32 ---
|
|
GetKeyName :: proc(key: Key) -> cstring ---
|
|
SetNextFrameWantCaptureKeyboard :: proc(want_capture_keyboard: b8) ---
|
|
Shortcut :: proc(key_chord: KeyChord, flags: InputFlags) -> b8 ---
|
|
SetNextItemShortcut :: proc(key_chord: KeyChord, flags: InputFlags) ---
|
|
SetItemKeyOwner :: proc(key: Key) ---
|
|
IsMouseDown :: proc(button: MouseButton) -> b8 ---
|
|
IsMouseClicked :: proc(button: MouseButton) -> b8 ---
|
|
IsMouseClickedEx :: proc(button: MouseButton, repeat: b8) -> b8 ---
|
|
IsMouseReleased :: proc(button: MouseButton) -> b8 ---
|
|
IsMouseDoubleClicked :: proc(button: MouseButton) -> b8 ---
|
|
GetMouseClickedCount :: proc(button: MouseButton) -> i32 ---
|
|
IsMouseHoveringRect :: proc(r_min: ImVec2, r_max: ImVec2) -> b8 ---
|
|
IsMouseHoveringRectEx :: proc(r_min: ImVec2, r_max: ImVec2, clip: b8) -> b8 ---
|
|
IsMousePosValid :: proc(mouse_pos: ^ImVec2) -> b8 ---
|
|
IsAnyMouseDown :: proc() -> b8 ---
|
|
GetMousePos :: proc() -> ImVec2 ---
|
|
GetMousePosOnOpeningCurrentPopup :: proc() -> ImVec2 ---
|
|
IsMouseDragging :: proc(button: MouseButton, lock_threshold: f32) -> b8 ---
|
|
GetMouseDragDelta :: proc(button: MouseButton, lock_threshold: f32) -> ImVec2 ---
|
|
ResetMouseDragDelta :: proc() ---
|
|
ResetMouseDragDeltaEx :: proc(button: MouseButton) ---
|
|
GetMouseCursor :: proc() -> MouseCursor ---
|
|
SetMouseCursor :: proc(cursor_type: MouseCursor) ---
|
|
SetNextFrameWantCaptureMouse :: proc(want_capture_mouse: b8) ---
|
|
GetClipboardText :: proc() -> cstring ---
|
|
SetClipboardText :: proc(text: cstring) ---
|
|
LoadIniSettingsFromDisk :: proc(ini_filename: cstring) ---
|
|
LoadIniSettingsFromMemory :: proc(ini_data: cstring, ini_size: u32) ---
|
|
SaveIniSettingsToDisk :: proc(ini_filename: cstring) ---
|
|
SaveIniSettingsToMemory :: proc(out_ini_size: ^u32) -> cstring ---
|
|
DebugTextEncoding :: proc(text: cstring) ---
|
|
DebugFlashStyleColor :: proc(idx: Col) ---
|
|
DebugStartItemPicker :: proc() ---
|
|
DebugCheckVersionAndDataLayout :: proc(version_str: cstring, sz_io: u32, sz_style: u32, sz_vec2: u32, sz_vec4: u32, sz_drawvert: u32, sz_drawidx: u32) -> b8 ---
|
|
DebugLog :: proc(fmt: cstring, #c_vararg __unnamed_arg1__: ..any) ---
|
|
DebugLogV :: proc(fmt: cstring, args: va_list) ---
|
|
SetAllocatorFunctions :: proc(alloc_func: MemAllocFunc, free_func: MemFreeFunc, user_data: rawptr) ---
|
|
GetAllocatorFunctions :: proc(p_alloc_func: ^MemAllocFunc, p_free_func: ^MemFreeFunc, p_user_data: [^]rawptr) ---
|
|
MemAlloc :: proc(size: u32) -> rawptr ---
|
|
MemFree :: proc(ptr: rawptr) ---
|
|
}
|
|
@(default_calling_convention = "cdecl")
|
|
foreign imgui {
|
|
ImVector_Construct :: proc(vector: rawptr) ---
|
|
ImVector_Destruct :: proc(vector: rawptr) ---
|
|
// ImStr_FromCharStr :: proc(b: cstring) -> ImStr ---
|
|
ImGuiStyle_ScaleAllSizes :: proc(self: ^Style, scale_factor: f32) ---
|
|
ImGuiIO_AddKeyEvent :: proc(self: ^IO, key: Key, down: b8) ---
|
|
ImGuiIO_AddKeyAnalogEvent :: proc(self: ^IO, key: Key, down: b8, v: f32) ---
|
|
ImGuiIO_AddMousePosEvent :: proc(self: ^IO, x: f32, y: f32) ---
|
|
ImGuiIO_AddMouseButtonEvent :: proc(self: ^IO, button: i32, down: b8) ---
|
|
ImGuiIO_AddMouseWheelEvent :: proc(self: ^IO, wheel_x: f32, wheel_y: f32) ---
|
|
ImGuiIO_AddMouseSourceEvent :: proc(self: ^IO, source: MouseSource) ---
|
|
ImGuiIO_AddFocusEvent :: proc(self: ^IO, focused: b8) ---
|
|
ImGuiIO_AddInputCharacter :: proc(self: ^IO, c: u32) ---
|
|
ImGuiIO_AddInputCharacterUTF16 :: proc(self: ^IO, c: ImWchar16) ---
|
|
ImGuiIO_AddInputCharactersUTF8 :: proc(self: ^IO, str: cstring) ---
|
|
ImGuiIO_SetKeyEventNativeData :: proc(self: ^IO, key: Key, native_keycode: i32, native_scancode: i32) ---
|
|
ImGuiIO_SetKeyEventNativeDataEx :: proc(self: ^IO, key: Key, native_keycode: i32, native_scancode: i32, native_legacy_index: i32) ---
|
|
ImGuiIO_SetAppAcceptingEvents :: proc(self: ^IO, accepting_events: b8) ---
|
|
ImGuiIO_ClearEventsQueue :: proc(self: ^IO) ---
|
|
ImGuiIO_ClearInputKeys :: proc(self: ^IO) ---
|
|
ImGuiIO_ClearInputMouse :: proc(self: ^IO) ---
|
|
ImGuiIO_ClearInputCharacters :: proc(self: ^IO) ---
|
|
ImGuiInputTextCallbackData_DeleteChars :: proc(self: ^InputTextCallbackData, pos: i32, bytes_count: i32) ---
|
|
ImGuiInputTextCallbackData_InsertChars :: proc(self: ^InputTextCallbackData, pos: i32, text: cstring, text_end: cstring) ---
|
|
ImGuiInputTextCallbackData_SelectAll :: proc(self: ^InputTextCallbackData) ---
|
|
ImGuiInputTextCallbackData_ClearSelection :: proc(self: ^InputTextCallbackData) ---
|
|
ImGuiInputTextCallbackData_HasSelection :: proc(self: ^InputTextCallbackData) -> b8 ---
|
|
ImGuiPayload_Clear :: proc(self: ^Payload) ---
|
|
ImGuiPayload_IsDataType :: proc(self: ^Payload, type: cstring) -> b8 ---
|
|
ImGuiPayload_IsPreview :: proc(self: ^Payload) -> b8 ---
|
|
ImGuiPayload_IsDelivery :: proc(self: ^Payload) -> b8 ---
|
|
ImGuiTextFilter_ImGuiTextRange_empty :: proc(self: ^TextFilter_ImGuiTextRange) -> b8 ---
|
|
ImGuiTextFilter_ImGuiTextRange_split :: proc(self: ^TextFilter_ImGuiTextRange, separator: cstring, out: ^ImVector_ImGuiTextFilter_ImGuiTextRange) ---
|
|
ImGuiTextFilter_Draw :: proc(self: ^TextFilter, label: cstring, width: f32) -> b8 ---
|
|
ImGuiTextFilter_PassFilter :: proc(self: ^TextFilter, text: cstring, text_end: cstring) -> b8 ---
|
|
ImGuiTextFilter_Build :: proc(self: ^TextFilter) ---
|
|
ImGuiTextFilter_Clear :: proc(self: ^TextFilter) ---
|
|
ImGuiTextFilter_IsActive :: proc(self: ^TextFilter) -> b8 ---
|
|
ImGuiTextBuffer_begin :: proc(self: ^TextBuffer) -> cstring ---
|
|
ImGuiTextBuffer_end :: proc(self: ^TextBuffer) -> cstring ---
|
|
ImGuiTextBuffer_size :: proc(self: ^TextBuffer) -> i32 ---
|
|
ImGuiTextBuffer_empty :: proc(self: ^TextBuffer) -> b8 ---
|
|
ImGuiTextBuffer_clear :: proc(self: ^TextBuffer) ---
|
|
ImGuiTextBuffer_reserve :: proc(self: ^TextBuffer, capacity: i32) ---
|
|
ImGuiTextBuffer_c_str :: proc(self: ^TextBuffer) -> cstring ---
|
|
ImGuiTextBuffer_append :: proc(self: ^TextBuffer, str: cstring, str_end: cstring) ---
|
|
ImGuiTextBuffer_appendf :: proc(self: ^TextBuffer, fmt: cstring, #c_vararg __unnamed_arg2__: ..any) ---
|
|
ImGuiTextBuffer_appendfv :: proc(self: ^TextBuffer, fmt: cstring, args: va_list) ---
|
|
ImGuiStorage_Clear :: proc(self: ^Storage) ---
|
|
ImGuiStorage_GetInt :: proc(self: ^Storage, key: ID, default_val: i32) -> i32 ---
|
|
ImGuiStorage_SetInt :: proc(self: ^Storage, key: ID, val: i32) ---
|
|
ImGuiStorage_GetBool :: proc(self: ^Storage, key: ID, default_val: b8) -> b8 ---
|
|
ImGuiStorage_SetBool :: proc(self: ^Storage, key: ID, val: b8) ---
|
|
ImGuiStorage_GetFloat :: proc(self: ^Storage, key: ID, default_val: f32) -> f32 ---
|
|
ImGuiStorage_SetFloat :: proc(self: ^Storage, key: ID, val: f32) ---
|
|
ImGuiStorage_GetVoidPtr :: proc(self: ^Storage, key: ID) -> rawptr ---
|
|
ImGuiStorage_SetVoidPtr :: proc(self: ^Storage, key: ID, val: rawptr) ---
|
|
ImGuiStorage_GetIntRef :: proc(self: ^Storage, key: ID, default_val: i32) -> ^i32 ---
|
|
ImGuiStorage_GetBoolRef :: proc(self: ^Storage, key: ID, default_val: b8) -> ^b8 ---
|
|
ImGuiStorage_GetFloatRef :: proc(self: ^Storage, key: ID, default_val: f32) -> ^f32 ---
|
|
ImGuiStorage_GetVoidPtrRef :: proc(self: ^Storage, key: ID, default_val: rawptr) -> [^]rawptr ---
|
|
ImGuiStorage_BuildSortByKey :: proc(self: ^Storage) ---
|
|
ImGuiStorage_SetAllInt :: proc(self: ^Storage, val: i32) ---
|
|
ImGuiListClipper_Begin :: proc(self: ^ListClipper, items_count: i32, items_height: f32) ---
|
|
ImGuiListClipper_End :: proc(self: ^ListClipper) ---
|
|
ImGuiListClipper_Step :: proc(self: ^ListClipper) -> b8 ---
|
|
ImGuiListClipper_IncludeItemByIndex :: proc(self: ^ListClipper, item_index: i32) ---
|
|
ImGuiListClipper_IncludeItemsByIndex :: proc(self: ^ListClipper, item_begin: i32, item_end: i32) ---
|
|
ImGuiListClipper_SeekCursorForItem :: proc(self: ^ListClipper, item_index: i32) ---
|
|
ImGuiListClipper_IncludeRangeByIndices :: proc(self: ^ListClipper, item_begin: i32, item_end: i32) ---
|
|
ImGuiListClipper_ForceDisplayRangeByIndices :: proc(self: ^ListClipper, item_begin: i32, item_end: i32) ---
|
|
ImColor_SetHSV :: proc(self: ^ImColor, h: f32, s: f32, v: f32, a: f32) ---
|
|
ImColor_HSV :: proc(h: f32, s: f32, v: f32, a: f32) -> ImColor ---
|
|
ImGuiSelectionBasicStorage_ApplyRequests :: proc(self: ^SelectionBasicStorage, ms_io: ^MultiSelectIO) ---
|
|
ImGuiSelectionBasicStorage_Contains :: proc(self: ^SelectionBasicStorage, id: ID) -> b8 ---
|
|
ImGuiSelectionBasicStorage_Clear :: proc(self: ^SelectionBasicStorage) ---
|
|
ImGuiSelectionBasicStorage_Swap :: proc(self: ^SelectionBasicStorage, r: ^SelectionBasicStorage) ---
|
|
ImGuiSelectionBasicStorage_SetItemSelected :: proc(self: ^SelectionBasicStorage, id: ID, selected: b8) ---
|
|
ImGuiSelectionBasicStorage_GetNextSelectedItem :: proc(self: ^SelectionBasicStorage, opaque_it: [^]rawptr, out_id: ^ID) -> b8 ---
|
|
ImGuiSelectionBasicStorage_GetStorageIdFromIndex :: proc(self: ^SelectionBasicStorage, idx: i32) -> ID ---
|
|
ImGuiSelectionExternalStorage_ApplyRequests :: proc(self: ^SelectionExternalStorage, ms_io: ^MultiSelectIO) ---
|
|
ImDrawCmd_GetTexID :: proc(self: ^ImDrawCmd) -> ImTextureID ---
|
|
ImDrawListSplitter_Clear :: proc(self: ^ImDrawListSplitter) ---
|
|
ImDrawListSplitter_ClearFreeMemory :: proc(self: ^ImDrawListSplitter) ---
|
|
ImDrawListSplitter_Split :: proc(self: ^ImDrawListSplitter, draw_list: ^ImDrawList, count: i32) ---
|
|
ImDrawListSplitter_Merge :: proc(self: ^ImDrawListSplitter, draw_list: ^ImDrawList) ---
|
|
ImDrawListSplitter_SetCurrentChannel :: proc(self: ^ImDrawListSplitter, draw_list: ^ImDrawList, channel_idx: i32) ---
|
|
ImDrawList_PushClipRect :: proc(self: ^ImDrawList, clip_rect_min: ImVec2, clip_rect_max: ImVec2, intersect_with_current_clip_rect: b8) ---
|
|
ImDrawList_PushClipRectFullScreen :: proc(self: ^ImDrawList) ---
|
|
ImDrawList_PopClipRect :: proc(self: ^ImDrawList) ---
|
|
ImDrawList_PushTextureID :: proc(self: ^ImDrawList, texture_id: ImTextureID) ---
|
|
ImDrawList_PopTextureID :: proc(self: ^ImDrawList) ---
|
|
ImDrawList_GetClipRectMin :: proc(self: ^ImDrawList) -> ImVec2 ---
|
|
ImDrawList_GetClipRectMax :: proc(self: ^ImDrawList) -> ImVec2 ---
|
|
ImDrawList_AddLine :: proc(self: ^ImDrawList, p1: ImVec2, p2: ImVec2, col: ImU32) ---
|
|
ImDrawList_AddLineEx :: proc(self: ^ImDrawList, p1: ImVec2, p2: ImVec2, col: ImU32, thickness: f32) ---
|
|
ImDrawList_AddRect :: proc(self: ^ImDrawList, p_min: ImVec2, p_max: ImVec2, col: ImU32) ---
|
|
ImDrawList_AddRectEx :: proc(self: ^ImDrawList, p_min: ImVec2, p_max: ImVec2, col: ImU32, rounding: f32, flags: ImDrawFlags, thickness: f32) ---
|
|
ImDrawList_AddRectFilled :: proc(self: ^ImDrawList, p_min: ImVec2, p_max: ImVec2, col: ImU32) ---
|
|
ImDrawList_AddRectFilledEx :: proc(self: ^ImDrawList, p_min: ImVec2, p_max: ImVec2, col: ImU32, rounding: f32, flags: ImDrawFlags) ---
|
|
ImDrawList_AddRectFilledMultiColor :: proc(self: ^ImDrawList, p_min: ImVec2, p_max: ImVec2, col_upr_left: ImU32, col_upr_right: ImU32, col_bot_right: ImU32, col_bot_left: ImU32) ---
|
|
ImDrawList_AddQuad :: proc(self: ^ImDrawList, p1: ImVec2, p2: ImVec2, p3: ImVec2, p4: ImVec2, col: ImU32) ---
|
|
ImDrawList_AddQuadEx :: proc(self: ^ImDrawList, p1: ImVec2, p2: ImVec2, p3: ImVec2, p4: ImVec2, col: ImU32, thickness: f32) ---
|
|
ImDrawList_AddQuadFilled :: proc(self: ^ImDrawList, p1: ImVec2, p2: ImVec2, p3: ImVec2, p4: ImVec2, col: ImU32) ---
|
|
ImDrawList_AddTriangle :: proc(self: ^ImDrawList, p1: ImVec2, p2: ImVec2, p3: ImVec2, col: ImU32) ---
|
|
ImDrawList_AddTriangleEx :: proc(self: ^ImDrawList, p1: ImVec2, p2: ImVec2, p3: ImVec2, col: ImU32, thickness: f32) ---
|
|
ImDrawList_AddTriangleFilled :: proc(self: ^ImDrawList, p1: ImVec2, p2: ImVec2, p3: ImVec2, col: ImU32) ---
|
|
ImDrawList_AddCircle :: proc(self: ^ImDrawList, center: ImVec2, radius: f32, col: ImU32) ---
|
|
ImDrawList_AddCircleEx :: proc(self: ^ImDrawList, center: ImVec2, radius: f32, col: ImU32, num_segments: i32, thickness: f32) ---
|
|
ImDrawList_AddCircleFilled :: proc(self: ^ImDrawList, center: ImVec2, radius: f32, col: ImU32, num_segments: i32) ---
|
|
ImDrawList_AddNgon :: proc(self: ^ImDrawList, center: ImVec2, radius: f32, col: ImU32, num_segments: i32) ---
|
|
ImDrawList_AddNgonEx :: proc(self: ^ImDrawList, center: ImVec2, radius: f32, col: ImU32, num_segments: i32, thickness: f32) ---
|
|
ImDrawList_AddNgonFilled :: proc(self: ^ImDrawList, center: ImVec2, radius: f32, col: ImU32, num_segments: i32) ---
|
|
ImDrawList_AddEllipse :: proc(self: ^ImDrawList, center: ImVec2, radius: ImVec2, col: ImU32) ---
|
|
ImDrawList_AddEllipseEx :: proc(self: ^ImDrawList, center: ImVec2, radius: ImVec2, col: ImU32, rot: f32, num_segments: i32, thickness: f32) ---
|
|
ImDrawList_AddEllipseFilled :: proc(self: ^ImDrawList, center: ImVec2, radius: ImVec2, col: ImU32) ---
|
|
ImDrawList_AddEllipseFilledEx :: proc(self: ^ImDrawList, center: ImVec2, radius: ImVec2, col: ImU32, rot: f32, num_segments: i32) ---
|
|
ImDrawList_AddText :: proc(self: ^ImDrawList, pos: ImVec2, col: ImU32, text_begin: cstring) ---
|
|
ImDrawList_AddTextEx :: proc(self: ^ImDrawList, pos: ImVec2, col: ImU32, text_begin: cstring, text_end: cstring) ---
|
|
ImDrawList_AddTextImFontPtr :: proc(self: ^ImDrawList, font: ^ImFont, font_size: f32, pos: ImVec2, col: ImU32, text_begin: cstring) ---
|
|
ImDrawList_AddTextImFontPtrEx :: proc(self: ^ImDrawList, font: ^ImFont, font_size: f32, pos: ImVec2, col: ImU32, text_begin: cstring, text_end: cstring, wrap_width: f32, cpu_fine_clip_rect: ^ImVec4) ---
|
|
ImDrawList_AddBezierCubic :: proc(self: ^ImDrawList, p1: ImVec2, p2: ImVec2, p3: ImVec2, p4: ImVec2, col: ImU32, thickness: f32, num_segments: i32) ---
|
|
ImDrawList_AddBezierQuadratic :: proc(self: ^ImDrawList, p1: ImVec2, p2: ImVec2, p3: ImVec2, col: ImU32, thickness: f32, num_segments: i32) ---
|
|
ImDrawList_AddPolyline :: proc(self: ^ImDrawList, points: ^ImVec2, num_points: i32, col: ImU32, flags: ImDrawFlags, thickness: f32) ---
|
|
ImDrawList_AddConvexPolyFilled :: proc(self: ^ImDrawList, points: ^ImVec2, num_points: i32, col: ImU32) ---
|
|
ImDrawList_AddConcavePolyFilled :: proc(self: ^ImDrawList, points: ^ImVec2, num_points: i32, col: ImU32) ---
|
|
ImDrawList_AddImage :: proc(self: ^ImDrawList, user_texture_id: ImTextureID, p_min: ImVec2, p_max: ImVec2) ---
|
|
ImDrawList_AddImageEx :: proc(self: ^ImDrawList, user_texture_id: ImTextureID, p_min: ImVec2, p_max: ImVec2, uv_min: ImVec2, uv_max: ImVec2, col: ImU32) ---
|
|
ImDrawList_AddImageQuad :: proc(self: ^ImDrawList, user_texture_id: ImTextureID, p1: ImVec2, p2: ImVec2, p3: ImVec2, p4: ImVec2) ---
|
|
ImDrawList_AddImageQuadEx :: proc(self: ^ImDrawList, user_texture_id: ImTextureID, p1: ImVec2, p2: ImVec2, p3: ImVec2, p4: ImVec2, uv1: ImVec2, uv2: ImVec2, uv3: ImVec2, uv4: ImVec2, col: ImU32) ---
|
|
ImDrawList_AddImageRounded :: proc(self: ^ImDrawList, user_texture_id: ImTextureID, p_min: ImVec2, p_max: ImVec2, uv_min: ImVec2, uv_max: ImVec2, col: ImU32, rounding: f32, flags: ImDrawFlags) ---
|
|
ImDrawList_PathClear :: proc(self: ^ImDrawList) ---
|
|
ImDrawList_PathLineTo :: proc(self: ^ImDrawList, pos: ImVec2) ---
|
|
ImDrawList_PathLineToMergeDuplicate :: proc(self: ^ImDrawList, pos: ImVec2) ---
|
|
ImDrawList_PathFillConvex :: proc(self: ^ImDrawList, col: ImU32) ---
|
|
ImDrawList_PathFillConcave :: proc(self: ^ImDrawList, col: ImU32) ---
|
|
ImDrawList_PathStroke :: proc(self: ^ImDrawList, col: ImU32, flags: ImDrawFlags, thickness: f32) ---
|
|
ImDrawList_PathArcTo :: proc(self: ^ImDrawList, center: ImVec2, radius: f32, a_min: f32, a_max: f32, num_segments: i32) ---
|
|
ImDrawList_PathArcToFast :: proc(self: ^ImDrawList, center: ImVec2, radius: f32, a_min_of_12: i32, a_max_of_12: i32) ---
|
|
ImDrawList_PathEllipticalArcTo :: proc(self: ^ImDrawList, center: ImVec2, radius: ImVec2, rot: f32, a_min: f32, a_max: f32) ---
|
|
ImDrawList_PathEllipticalArcToEx :: proc(self: ^ImDrawList, center: ImVec2, radius: ImVec2, rot: f32, a_min: f32, a_max: f32, num_segments: i32) ---
|
|
ImDrawList_PathBezierCubicCurveTo :: proc(self: ^ImDrawList, p2: ImVec2, p3: ImVec2, p4: ImVec2, num_segments: i32) ---
|
|
ImDrawList_PathBezierQuadraticCurveTo :: proc(self: ^ImDrawList, p2: ImVec2, p3: ImVec2, num_segments: i32) ---
|
|
ImDrawList_PathRect :: proc(self: ^ImDrawList, rect_min: ImVec2, rect_max: ImVec2, rounding: f32, flags: ImDrawFlags) ---
|
|
ImDrawList_AddCallback :: proc(self: ^ImDrawList, callback: ImDrawCallback, userdata: rawptr) ---
|
|
ImDrawList_AddCallbackEx :: proc(self: ^ImDrawList, callback: ImDrawCallback, userdata: rawptr, userdata_size: u32) ---
|
|
ImDrawList_AddDrawCmd :: proc(self: ^ImDrawList) ---
|
|
ImDrawList_CloneOutput :: proc(self: ^ImDrawList) -> ^ImDrawList ---
|
|
ImDrawList_ChannelsSplit :: proc(self: ^ImDrawList, count: i32) ---
|
|
ImDrawList_ChannelsMerge :: proc(self: ^ImDrawList) ---
|
|
ImDrawList_ChannelsSetCurrent :: proc(self: ^ImDrawList, n: i32) ---
|
|
ImDrawList_PrimReserve :: proc(self: ^ImDrawList, idx_count: i32, vtx_count: i32) ---
|
|
ImDrawList_PrimUnreserve :: proc(self: ^ImDrawList, idx_count: i32, vtx_count: i32) ---
|
|
ImDrawList_PrimRect :: proc(self: ^ImDrawList, a: ImVec2, b: ImVec2, col: ImU32) ---
|
|
ImDrawList_PrimRectUV :: proc(self: ^ImDrawList, a: ImVec2, b: ImVec2, uv_a: ImVec2, uv_b: ImVec2, col: ImU32) ---
|
|
ImDrawList_PrimQuadUV :: proc(self: ^ImDrawList, a: ImVec2, b: ImVec2, c: ImVec2, d: ImVec2, uv_a: ImVec2, uv_b: ImVec2, uv_c: ImVec2, uv_d: ImVec2, col: ImU32) ---
|
|
ImDrawList_PrimWriteVtx :: proc(self: ^ImDrawList, pos: ImVec2, uv: ImVec2, col: ImU32) ---
|
|
ImDrawList_PrimWriteIdx :: proc(self: ^ImDrawList, idx: ImDrawIdx) ---
|
|
ImDrawList_PrimVtx :: proc(self: ^ImDrawList, pos: ImVec2, uv: ImVec2, col: ImU32) ---
|
|
ImDrawList__ResetForNewFrame :: proc(self: ^ImDrawList) ---
|
|
ImDrawList__ClearFreeMemory :: proc(self: ^ImDrawList) ---
|
|
ImDrawList__PopUnusedDrawCmd :: proc(self: ^ImDrawList) ---
|
|
ImDrawList__TryMergeDrawCmds :: proc(self: ^ImDrawList) ---
|
|
ImDrawList__OnChangedClipRect :: proc(self: ^ImDrawList) ---
|
|
ImDrawList__OnChangedTextureID :: proc(self: ^ImDrawList) ---
|
|
ImDrawList__OnChangedVtxOffset :: proc(self: ^ImDrawList) ---
|
|
ImDrawList__SetTextureID :: proc(self: ^ImDrawList, texture_id: ImTextureID) ---
|
|
ImDrawList__CalcCircleAutoSegmentCount :: proc(self: ^ImDrawList, radius: f32) -> i32 ---
|
|
ImDrawList__PathArcToFastEx :: proc(self: ^ImDrawList, center: ImVec2, radius: f32, a_min_sample: i32, a_max_sample: i32, a_step: i32) ---
|
|
ImDrawList__PathArcToN :: proc(self: ^ImDrawList, center: ImVec2, radius: f32, a_min: f32, a_max: f32, num_segments: i32) ---
|
|
ImDrawData_Clear :: proc(self: ^ImDrawData) ---
|
|
ImDrawData_AddDrawList :: proc(self: ^ImDrawData, draw_list: ^ImDrawList) ---
|
|
ImDrawData_DeIndexAllBuffers :: proc(self: ^ImDrawData) ---
|
|
ImDrawData_ScaleClipRects :: proc(self: ^ImDrawData, fb_scale: ImVec2) ---
|
|
ImFontGlyphRangesBuilder_Clear :: proc(self: ^ImFontGlyphRangesBuilder) ---
|
|
ImFontGlyphRangesBuilder_GetBit :: proc(self: ^ImFontGlyphRangesBuilder, n: u32) -> b8 ---
|
|
ImFontGlyphRangesBuilder_SetBit :: proc(self: ^ImFontGlyphRangesBuilder, n: u32) ---
|
|
ImFontGlyphRangesBuilder_AddChar :: proc(self: ^ImFontGlyphRangesBuilder, c: ImWchar) ---
|
|
ImFontGlyphRangesBuilder_AddText :: proc(self: ^ImFontGlyphRangesBuilder, text: cstring, text_end: cstring) ---
|
|
ImFontGlyphRangesBuilder_AddRanges :: proc(self: ^ImFontGlyphRangesBuilder, ranges: ^ImWchar) ---
|
|
ImFontGlyphRangesBuilder_BuildRanges :: proc(self: ^ImFontGlyphRangesBuilder, out_ranges: ^ImVector_ImWchar) ---
|
|
ImFontAtlasCustomRect_IsPacked :: proc(self: ^ImFontAtlasCustomRect) -> b8 ---
|
|
ImFontAtlas_AddFont :: proc(self: ^ImFontAtlas, font_cfg: ^ImFontConfig) -> ^ImFont ---
|
|
ImFontAtlas_AddFontDefault :: proc(self: ^ImFontAtlas, font_cfg: ^ImFontConfig) -> ^ImFont ---
|
|
ImFontAtlas_AddFontFromFileTTF :: proc(self: ^ImFontAtlas, filename: cstring, size_pixels: f32, font_cfg: ^ImFontConfig, glyph_ranges: ^ImWchar) -> ^ImFont ---
|
|
ImFontAtlas_AddFontFromMemoryTTF :: proc(self: ^ImFontAtlas, font_data: rawptr, font_data_size: i32, size_pixels: f32, font_cfg: ^ImFontConfig, glyph_ranges: ^ImWchar) -> ^ImFont ---
|
|
ImFontAtlas_AddFontFromMemoryCompressedTTF :: proc(self: ^ImFontAtlas, compressed_font_data: rawptr, compressed_font_data_size: i32, size_pixels: f32, font_cfg: ^ImFontConfig, glyph_ranges: ^ImWchar) -> ^ImFont ---
|
|
ImFontAtlas_AddFontFromMemoryCompressedBase85TTF :: proc(self: ^ImFontAtlas, compressed_font_data_base85: cstring, size_pixels: f32, font_cfg: ^ImFontConfig, glyph_ranges: ^ImWchar) -> ^ImFont ---
|
|
ImFontAtlas_ClearInputData :: proc(self: ^ImFontAtlas) ---
|
|
ImFontAtlas_ClearTexData :: proc(self: ^ImFontAtlas) ---
|
|
ImFontAtlas_ClearFonts :: proc(self: ^ImFontAtlas) ---
|
|
ImFontAtlas_Clear :: proc(self: ^ImFontAtlas) ---
|
|
ImFontAtlas_Build :: proc(self: ^ImFontAtlas) -> b8 ---
|
|
ImFontAtlas_GetTexDataAsAlpha8 :: proc(self: ^ImFontAtlas, out_pixels: [^]cstring, out_width: ^i32, out_height: ^i32, out_bytes_per_pixel: ^i32) ---
|
|
ImFontAtlas_GetTexDataAsRGBA32 :: proc(self: ^ImFontAtlas, out_pixels: [^]cstring, out_width: ^i32, out_height: ^i32, out_bytes_per_pixel: ^i32) ---
|
|
ImFontAtlas_IsBuilt :: proc(self: ^ImFontAtlas) -> b8 ---
|
|
ImFontAtlas_SetTexID :: proc(self: ^ImFontAtlas, id: ImTextureID) ---
|
|
ImFontAtlas_GetGlyphRangesDefault :: proc(self: ^ImFontAtlas) -> ^ImWchar ---
|
|
ImFontAtlas_GetGlyphRangesGreek :: proc(self: ^ImFontAtlas) -> ^ImWchar ---
|
|
ImFontAtlas_GetGlyphRangesKorean :: proc(self: ^ImFontAtlas) -> ^ImWchar ---
|
|
ImFontAtlas_GetGlyphRangesJapanese :: proc(self: ^ImFontAtlas) -> ^ImWchar ---
|
|
ImFontAtlas_GetGlyphRangesChineseFull :: proc(self: ^ImFontAtlas) -> ^ImWchar ---
|
|
ImFontAtlas_GetGlyphRangesChineseSimplifiedCommon :: proc(self: ^ImFontAtlas) -> ^ImWchar ---
|
|
ImFontAtlas_GetGlyphRangesCyrillic :: proc(self: ^ImFontAtlas) -> ^ImWchar ---
|
|
ImFontAtlas_GetGlyphRangesThai :: proc(self: ^ImFontAtlas) -> ^ImWchar ---
|
|
ImFontAtlas_GetGlyphRangesVietnamese :: proc(self: ^ImFontAtlas) -> ^ImWchar ---
|
|
ImFontAtlas_AddCustomRectRegular :: proc(self: ^ImFontAtlas, width: i32, height: i32) -> i32 ---
|
|
ImFontAtlas_AddCustomRectFontGlyph :: proc(self: ^ImFontAtlas, font: ^ImFont, id: ImWchar, width: i32, height: i32, advance_x: f32, offset: ImVec2) -> i32 ---
|
|
ImFontAtlas_GetCustomRectByIndex :: proc(self: ^ImFontAtlas, index: i32) -> ^ImFontAtlasCustomRect ---
|
|
ImFontAtlas_CalcCustomRectUV :: proc(self: ^ImFontAtlas, rect: ^ImFontAtlasCustomRect, out_uv_min: ^ImVec2, out_uv_max: ^ImVec2) ---
|
|
ImFontAtlas_GetMouseCursorTexData :: proc(self: ^ImFontAtlas, cursor: MouseCursor, out_offset: ^ImVec2, out_size: ^ImVec2, out_uv_border: ^[2]ImVec2, out_uv_fill: ^[2]ImVec2) -> b8 ---
|
|
ImFont_FindGlyph :: proc(self: ^ImFont, c: ImWchar) -> ^ImFontGlyph ---
|
|
ImFont_FindGlyphNoFallback :: proc(self: ^ImFont, c: ImWchar) -> ^ImFontGlyph ---
|
|
ImFont_GetCharAdvance :: proc(self: ^ImFont, c: ImWchar) -> f32 ---
|
|
ImFont_IsLoaded :: proc(self: ^ImFont) -> b8 ---
|
|
ImFont_GetDebugName :: proc(self: ^ImFont) -> cstring ---
|
|
ImFont_CalcTextSizeA :: proc(self: ^ImFont, size: f32, max_width: f32, wrap_width: f32, text_begin: cstring) -> ImVec2 ---
|
|
ImFont_CalcTextSizeAEx :: proc(self: ^ImFont, size: f32, max_width: f32, wrap_width: f32, text_begin: cstring, text_end: cstring, remaining: [^]cstring) -> ImVec2 ---
|
|
ImFont_CalcWordWrapPositionA :: proc(self: ^ImFont, scale: f32, text: cstring, text_end: cstring, wrap_width: f32) -> cstring ---
|
|
ImFont_RenderChar :: proc(self: ^ImFont, draw_list: ^ImDrawList, size: f32, pos: ImVec2, col: ImU32, c: ImWchar) ---
|
|
ImFont_RenderText :: proc(self: ^ImFont, draw_list: ^ImDrawList, size: f32, pos: ImVec2, col: ImU32, clip_rect: ImVec4, text_begin: cstring, text_end: cstring, wrap_width: f32, cpu_fine_clip: b8) ---
|
|
ImFont_BuildLookupTable :: proc(self: ^ImFont) ---
|
|
ImFont_ClearOutputData :: proc(self: ^ImFont) ---
|
|
ImFont_GrowIndex :: proc(self: ^ImFont, new_size: i32) ---
|
|
ImFont_AddGlyph :: proc(self: ^ImFont, src_cfg: ^ImFontConfig, c: ImWchar, x0: f32, y0: f32, x1: f32, y1: f32, u0: f32, v0: f32, u1: f32, v1: f32, advance_x: f32) ---
|
|
ImFont_AddRemapChar :: proc(self: ^ImFont, dst: ImWchar, src: ImWchar, overwrite_dst: b8) ---
|
|
ImFont_SetGlyphVisible :: proc(self: ^ImFont, c: ImWchar, visible: b8) ---
|
|
ImFont_IsGlyphRangeUnused :: proc(self: ^ImFont, c_begin: u32, c_last: u32) -> b8 ---
|
|
ImGuiViewport_GetCenter :: proc(self: ^Viewport) -> ImVec2 ---
|
|
ImGuiViewport_GetWorkCenter :: proc(self: ^Viewport) -> ImVec2 ---
|
|
}
|
|
@(default_calling_convention = "cdecl", link_prefix = "ImGui_")
|
|
foreign imgui {
|
|
PushButtonRepeat :: proc(repeat: b8) ---
|
|
PopButtonRepeat :: proc() ---
|
|
PushTabStop :: proc(tab_stop: b8) ---
|
|
PopTabStop :: proc() ---
|
|
GetContentRegionMax :: proc() -> ImVec2 ---
|
|
GetWindowContentRegionMin :: proc() -> ImVec2 ---
|
|
GetWindowContentRegionMax :: proc() -> ImVec2 ---
|
|
BeginChildFrame :: proc(id: ID, size: ImVec2) -> b8 ---
|
|
BeginChildFrameEx :: proc(id: ID, size: ImVec2, window_flags: WindowFlags) -> b8 ---
|
|
EndChildFrame :: proc() ---
|
|
ShowStackToolWindow :: proc(p_open: ^b8) ---
|
|
ComboObsolete :: proc(label: cstring, current_item: ^i32, old_callback: proc(user_data: rawptr, idx: i32, out_text: [^]cstring) -> b8, user_data: rawptr, items_count: i32) -> b8 ---
|
|
ComboObsoleteEx :: proc(label: cstring, current_item: ^i32, old_callback: proc(user_data: rawptr, idx: i32, out_text: [^]cstring) -> b8, user_data: rawptr, items_count: i32, popup_max_height_in_items: i32) -> b8 ---
|
|
ListBoxObsolete :: proc(label: cstring, current_item: ^i32, old_callback: proc(user_data: rawptr, idx: i32, out_text: [^]cstring) -> b8, user_data: rawptr, items_count: i32) -> b8 ---
|
|
ListBoxObsoleteEx :: proc(label: cstring, current_item: ^i32, old_callback: proc(user_data: rawptr, idx: i32, out_text: [^]cstring) -> b8, user_data: rawptr, items_count: i32, height_in_items: i32) -> b8 ---
|
|
SetItemAllowOverlap :: proc() ---
|
|
PushAllowKeyboardFocus :: proc(tab_stop: b8) ---
|
|
PopAllowKeyboardFocus :: proc() ---
|
|
}
|
|
ImDrawListSharedData :: struct {}
|
|
ImFontBuilderIO :: struct {}
|
|
Context :: struct {}
|
|
|
|
ImVec2 :: struct {
|
|
x: f32,
|
|
y: f32,
|
|
}
|
|
ImVec4 :: struct {
|
|
x: f32,
|
|
y: f32,
|
|
z: f32,
|
|
w: f32,
|
|
}
|
|
TableSortSpecs :: struct {
|
|
Specs: ^TableColumnSortSpecs,
|
|
SpecsCount: i32,
|
|
SpecsDirty: b8,
|
|
}
|
|
TableColumnSortSpecs :: struct {
|
|
ColumnUserID: ID,
|
|
ColumnIndex: ImS16,
|
|
SortOrder: ImS16,
|
|
SortDirection: SortDirection,
|
|
}
|
|
ImVector_ImWchar :: struct {
|
|
Size: i32,
|
|
Capacity: i32,
|
|
Data: ^ImWchar,
|
|
}
|
|
ImVector_ImGuiTextFilter_ImGuiTextRange :: struct {
|
|
Size: i32,
|
|
Capacity: i32,
|
|
Data: ^TextFilter_ImGuiTextRange,
|
|
}
|
|
ImVector_char :: struct {
|
|
Size: i32,
|
|
Capacity: i32,
|
|
Data: cstring,
|
|
}
|
|
ImVector_ImGuiStoragePair :: struct {
|
|
Size: i32,
|
|
Capacity: i32,
|
|
Data: ^StoragePair,
|
|
}
|
|
ImVector_ImGuiSelectionRequest :: struct {
|
|
Size: i32,
|
|
Capacity: i32,
|
|
Data: ^SelectionRequest,
|
|
}
|
|
ImVector_ImDrawCmd :: struct {
|
|
Size: i32,
|
|
Capacity: i32,
|
|
Data: ^ImDrawCmd,
|
|
}
|
|
ImVector_ImDrawIdx :: struct {
|
|
Size: i32,
|
|
Capacity: i32,
|
|
Data: ^ImDrawIdx,
|
|
}
|
|
ImVector_ImDrawChannel :: struct {
|
|
Size: i32,
|
|
Capacity: i32,
|
|
Data: ^ImDrawChannel,
|
|
}
|
|
ImVector_ImDrawVert :: struct {
|
|
Size: i32,
|
|
Capacity: i32,
|
|
Data: ^ImDrawVert,
|
|
}
|
|
ImVector_ImVec2 :: struct {
|
|
Size: i32,
|
|
Capacity: i32,
|
|
Data: ^ImVec2,
|
|
}
|
|
ImVector_ImVec4 :: struct {
|
|
Size: i32,
|
|
Capacity: i32,
|
|
Data: ^ImVec4,
|
|
}
|
|
ImVector_ImTextureID :: struct {
|
|
Size: i32,
|
|
Capacity: i32,
|
|
Data: ^ImTextureID,
|
|
}
|
|
ImVector_ImU8 :: struct {
|
|
Size: i32,
|
|
Capacity: i32,
|
|
Data: ^ImU8,
|
|
}
|
|
ImVector_ImDrawListPtr :: struct {
|
|
Size: i32,
|
|
Capacity: i32,
|
|
Data: ^^ImDrawList,
|
|
}
|
|
ImVector_ImU32 :: struct {
|
|
Size: i32,
|
|
Capacity: i32,
|
|
Data: ^ImU32,
|
|
}
|
|
ImVector_ImFontPtr :: struct {
|
|
Size: i32,
|
|
Capacity: i32,
|
|
Data: ^^ImFont,
|
|
}
|
|
ImVector_ImFontAtlasCustomRect :: struct {
|
|
Size: i32,
|
|
Capacity: i32,
|
|
Data: ^ImFontAtlasCustomRect,
|
|
}
|
|
ImVector_ImFontConfig :: struct {
|
|
Size: i32,
|
|
Capacity: i32,
|
|
Data: ^ImFontConfig,
|
|
}
|
|
ImVector_float :: struct {
|
|
Size: i32,
|
|
Capacity: i32,
|
|
Data: ^f32,
|
|
}
|
|
ImVector_ImFontGlyph :: struct {
|
|
Size: i32,
|
|
Capacity: i32,
|
|
Data: ^ImFontGlyph,
|
|
}
|
|
Style :: struct {
|
|
Alpha: f32,
|
|
DisabledAlpha: f32,
|
|
WindowPadding: ImVec2,
|
|
WindowRounding: f32,
|
|
WindowBorderSize: f32,
|
|
WindowMinSize: ImVec2,
|
|
WindowTitleAlign: ImVec2,
|
|
WindowMenuButtonPosition: Dir,
|
|
ChildRounding: f32,
|
|
ChildBorderSize: f32,
|
|
PopupRounding: f32,
|
|
PopupBorderSize: f32,
|
|
FramePadding: ImVec2,
|
|
FrameRounding: f32,
|
|
FrameBorderSize: f32,
|
|
ItemSpacing: ImVec2,
|
|
ItemInnerSpacing: ImVec2,
|
|
CellPadding: ImVec2,
|
|
TouchExtraPadding: ImVec2,
|
|
IndentSpacing: f32,
|
|
ColumnsMinSpacing: f32,
|
|
ScrollbarSize: f32,
|
|
ScrollbarRounding: f32,
|
|
GrabMinSize: f32,
|
|
GrabRounding: f32,
|
|
LogSliderDeadzone: f32,
|
|
TabRounding: f32,
|
|
TabBorderSize: f32,
|
|
TabMinWidthForCloseButton: f32,
|
|
TabBarBorderSize: f32,
|
|
TabBarOverlineSize: f32,
|
|
TableAngledHeadersAngle: f32,
|
|
TableAngledHeadersTextAlign: ImVec2,
|
|
ColorButtonPosition: Dir,
|
|
ButtonTextAlign: ImVec2,
|
|
SelectableTextAlign: ImVec2,
|
|
SeparatorTextBorderSize: f32,
|
|
SeparatorTextAlign: ImVec2,
|
|
SeparatorTextPadding: ImVec2,
|
|
DisplayWindowPadding: ImVec2,
|
|
DisplaySafeAreaPadding: ImVec2,
|
|
MouseCursorScale: f32,
|
|
AntiAliasedLines: b8,
|
|
AntiAliasedLinesUseTex: b8,
|
|
AntiAliasedFill: b8,
|
|
CurveTessellationTol: f32,
|
|
CircleTessellationMaxError: f32,
|
|
Colors: [Col.COUNT]ImVec4,
|
|
HoverStationaryDelay: f32,
|
|
HoverDelayShort: f32,
|
|
HoverDelayNormal: f32,
|
|
HoverFlagsForTooltipMouse: HoveredFlags,
|
|
HoverFlagsForTooltipNav: HoveredFlags,
|
|
}
|
|
KeyData :: struct {
|
|
Down: b8,
|
|
DownDuration: f32,
|
|
DownDurationPrev: f32,
|
|
AnalogValue: f32,
|
|
}
|
|
IO :: struct {
|
|
ConfigFlags: ConfigFlags,
|
|
BackendFlags: BackendFlags,
|
|
DisplaySize: ImVec2,
|
|
DeltaTime: f32,
|
|
IniSavingRate: f32,
|
|
IniFilename: cstring,
|
|
LogFilename: cstring,
|
|
UserData: rawptr,
|
|
Fonts: ^ImFontAtlas,
|
|
FontGlobalScale: f32,
|
|
FontAllowUserScaling: b8,
|
|
FontDefault: ^ImFont,
|
|
DisplayFramebufferScale: ImVec2,
|
|
ConfigNavSwapGamepadButtons: b8,
|
|
ConfigNavMoveSetMousePos: b8,
|
|
ConfigNavCaptureKeyboard: b8,
|
|
ConfigNavEscapeClearFocusItem: b8,
|
|
ConfigNavEscapeClearFocusWindow: b8,
|
|
ConfigNavCursorVisibleAuto: b8,
|
|
ConfigNavCursorVisibleAlways: b8,
|
|
MouseDrawCursor: b8,
|
|
ConfigMacOSXBehaviors: b8,
|
|
ConfigInputTrickleEventQueue: b8,
|
|
ConfigInputTextCursorBlink: b8,
|
|
ConfigInputTextEnterKeepActive: b8,
|
|
ConfigDragClickToInputText: b8,
|
|
ConfigWindowsResizeFromEdges: b8,
|
|
ConfigWindowsMoveFromTitleBarOnly: b8,
|
|
ConfigWindowsCopyContentsWithCtrlC: b8,
|
|
ConfigScrollbarScrollByPage: b8,
|
|
ConfigMemoryCompactTimer: f32,
|
|
MouseDoubleClickTime: f32,
|
|
MouseDoubleClickMaxDist: f32,
|
|
MouseDragThreshold: f32,
|
|
KeyRepeatDelay: f32,
|
|
KeyRepeatRate: f32,
|
|
ConfigErrorRecovery: b8,
|
|
ConfigErrorRecoveryEnableAssert: b8,
|
|
ConfigErrorRecoveryEnableDebugLog: b8,
|
|
ConfigErrorRecoveryEnableTooltip: b8,
|
|
ConfigDebugIsDebuggerPresent: b8,
|
|
ConfigDebugHighlightIdConflicts: b8,
|
|
ConfigDebugBeginReturnValueOnce: b8,
|
|
ConfigDebugBeginReturnValueLoop: b8,
|
|
ConfigDebugIgnoreFocusLoss: b8,
|
|
ConfigDebugIniSettings: b8,
|
|
BackendPlatformName: cstring,
|
|
BackendRendererName: cstring,
|
|
BackendPlatformUserData: rawptr,
|
|
BackendRendererUserData: rawptr,
|
|
BackendLanguageUserData: rawptr,
|
|
WantCaptureMouse: b8,
|
|
WantCaptureKeyboard: b8,
|
|
WantTextInput: b8,
|
|
WantSetMousePos: b8,
|
|
WantSaveIniSettings: b8,
|
|
NavActive: b8,
|
|
NavVisible: b8,
|
|
Framerate: f32,
|
|
MetricsRenderVertices: i32,
|
|
MetricsRenderIndices: i32,
|
|
MetricsRenderWindows: i32,
|
|
MetricsActiveWindows: i32,
|
|
MouseDelta: ImVec2,
|
|
Ctx: ^Context,
|
|
MousePos: ImVec2,
|
|
MouseDown: [5]b8,
|
|
MouseWheel: f32,
|
|
MouseWheelH: f32,
|
|
MouseSource: MouseSource,
|
|
KeyCtrl: b8,
|
|
KeyShift: b8,
|
|
KeyAlt: b8,
|
|
KeySuper: b8,
|
|
KeyMods: KeyChord,
|
|
KeysData: [Key.NamedKey_COUNT]KeyData,
|
|
WantCaptureMouseUnlessPopupClose: b8,
|
|
MousePosPrev: ImVec2,
|
|
MouseClickedPos: [5]ImVec2,
|
|
MouseClickedTime: [5]f64,
|
|
MouseClicked: [5]b8,
|
|
MouseDoubleClicked: [5]b8,
|
|
MouseClickedCount: [5]ImU16,
|
|
MouseClickedLastCount: [5]ImU16,
|
|
MouseReleased: [5]b8,
|
|
MouseDownOwned: [5]b8,
|
|
MouseDownOwnedUnlessPopupClose: [5]b8,
|
|
MouseWheelRequestAxisSwap: b8,
|
|
MouseCtrlLeftAsRightClick: b8,
|
|
MouseDownDuration: [5]f32,
|
|
MouseDownDurationPrev: [5]f32,
|
|
MouseDragMaxDistanceSqr: [5]f32,
|
|
PenPressure: f32,
|
|
AppFocusLost: b8,
|
|
AppAcceptingEvents: b8,
|
|
InputQueueSurrogate: ImWchar16,
|
|
InputQueueCharacters: ImVector_ImWchar,
|
|
// GetClipboardTextFn: proc "c" (user_data: rawptr) -> cstring,
|
|
// SetClipboardTextFn: proc "c" (user_data: rawptr, text: cstring),
|
|
ClipboardUserData: rawptr,
|
|
}
|
|
InputTextCallbackData :: struct {
|
|
Ctx: ^Context,
|
|
EventFlag: InputTextFlags,
|
|
Flags: InputTextFlags,
|
|
UserData: rawptr,
|
|
EventChar: ImWchar,
|
|
EventKey: Key,
|
|
Buf: cstring,
|
|
BufTextLen: i32,
|
|
BufSize: i32,
|
|
BufDirty: b8,
|
|
CursorPos: i32,
|
|
SelectionStart: i32,
|
|
SelectionEnd: i32,
|
|
}
|
|
SizeCallbackData :: struct {
|
|
UserData: rawptr,
|
|
Pos: ImVec2,
|
|
CurrentSize: ImVec2,
|
|
DesiredSize: ImVec2,
|
|
}
|
|
Payload :: struct {
|
|
Data: rawptr,
|
|
DataSize: i32,
|
|
SourceId: ID,
|
|
SourceParentId: ID,
|
|
DataFrameCount: i32,
|
|
DataType: [32+1]cstring,
|
|
Preview: b8,
|
|
Delivery: b8,
|
|
}
|
|
TextFilter_ImGuiTextRange :: struct {
|
|
b: cstring,
|
|
e: cstring,
|
|
}
|
|
TextFilter :: struct {
|
|
InputBuf: [256]cstring,
|
|
Filters: ImVector_ImGuiTextFilter_ImGuiTextRange,
|
|
CountGrep: i32,
|
|
}
|
|
TextBuffer :: struct {
|
|
Buf: ImVector_char,
|
|
}
|
|
StoragePair :: struct {
|
|
key: ID,
|
|
__anonymous_type0: __anonymous_type0,
|
|
}
|
|
__anonymous_type0 :: struct {
|
|
val_i: i32,
|
|
val_f: f32,
|
|
val_p: rawptr,
|
|
}
|
|
Storage :: struct {
|
|
Data: ImVector_ImGuiStoragePair,
|
|
}
|
|
ListClipper :: struct {
|
|
Ctx: ^Context,
|
|
DisplayStart: i32,
|
|
DisplayEnd: i32,
|
|
ItemsCount: i32,
|
|
ItemsHeight: f32,
|
|
StartPosY: f32,
|
|
StartSeekOffsetY: f64,
|
|
TempData: rawptr,
|
|
}
|
|
ImColor :: struct {
|
|
Value: ImVec4,
|
|
}
|
|
MultiSelectIO :: struct {
|
|
Requests: ImVector_ImGuiSelectionRequest,
|
|
RangeSrcItem: SelectionUserData,
|
|
NavIdItem: SelectionUserData,
|
|
NavIdSelected: b8,
|
|
RangeSrcReset: b8,
|
|
ItemsCount: i32,
|
|
}
|
|
SelectionRequest :: struct {
|
|
Type: SelectionRequestType,
|
|
Selected: b8,
|
|
RangeDirection: ImS8,
|
|
RangeFirstItem: SelectionUserData,
|
|
RangeLastItem: SelectionUserData,
|
|
}
|
|
SelectionBasicStorage :: struct {
|
|
Size: i32,
|
|
PreserveOrder: b8,
|
|
UserData: rawptr,
|
|
AdapterIndexToStorageId: proc "c" (self: ^SelectionBasicStorage, idx: i32) -> ID,
|
|
_SelectionOrder: i32,
|
|
_Storage: Storage,
|
|
}
|
|
SelectionExternalStorage :: struct {
|
|
UserData: rawptr,
|
|
AdapterSetItemSelected: proc "c" (self: ^SelectionExternalStorage, idx: i32, selected: b8),
|
|
}
|
|
ImDrawCmd :: struct {
|
|
ClipRect: ImVec4,
|
|
TextureId: ImTextureID,
|
|
VtxOffset: u32,
|
|
IdxOffset: u32,
|
|
ElemCount: u32,
|
|
UserCallback: ImDrawCallback,
|
|
UserCallbackData: rawptr,
|
|
UserCallbackDataSize: i32,
|
|
UserCallbackDataOffset: i32,
|
|
}
|
|
ImDrawVert :: struct {
|
|
pos: ImVec2,
|
|
uv: ImVec2,
|
|
col: ImU32,
|
|
}
|
|
ImDrawCmdHeader :: struct {
|
|
ClipRect: ImVec4,
|
|
TextureId: ImTextureID,
|
|
VtxOffset: u32,
|
|
}
|
|
ImDrawChannel :: struct {
|
|
_CmdBuffer: ImVector_ImDrawCmd,
|
|
_IdxBuffer: ImVector_ImDrawIdx,
|
|
}
|
|
ImDrawListSplitter :: struct {
|
|
_Current: i32,
|
|
_Count: i32,
|
|
_Channels: ImVector_ImDrawChannel,
|
|
}
|
|
ImDrawList :: struct {
|
|
CmdBuffer: ImVector_ImDrawCmd,
|
|
IdxBuffer: ImVector_ImDrawIdx,
|
|
VtxBuffer: ImVector_ImDrawVert,
|
|
Flags: ImDrawListFlags,
|
|
_VtxCurrentIdx: u32,
|
|
_Data: ^ImDrawListSharedData,
|
|
_VtxWritePtr: ^ImDrawVert,
|
|
_IdxWritePtr: ^ImDrawIdx,
|
|
_Path: ImVector_ImVec2,
|
|
_CmdHeader: ImDrawCmdHeader,
|
|
_Splitter: ImDrawListSplitter,
|
|
_ClipRectStack: ImVector_ImVec4,
|
|
_TextureIdStack: ImVector_ImTextureID,
|
|
_CallbacksDataBuf: ImVector_ImU8,
|
|
_FringeScale: f32,
|
|
_OwnerName: cstring,
|
|
}
|
|
ImDrawData :: struct {
|
|
Valid: b8,
|
|
CmdListsCount: i32,
|
|
TotalIdxCount: i32,
|
|
TotalVtxCount: i32,
|
|
CmdLists: ImVector_ImDrawListPtr,
|
|
DisplayPos: ImVec2,
|
|
DisplaySize: ImVec2,
|
|
FramebufferScale: ImVec2,
|
|
OwnerViewport: ^Viewport,
|
|
}
|
|
ImFontConfig :: struct {
|
|
FontData: rawptr,
|
|
FontDataSize: i32,
|
|
FontDataOwnedByAtlas: b8,
|
|
FontNo: i32,
|
|
SizePixels: f32,
|
|
OversampleH: i32,
|
|
OversampleV: i32,
|
|
PixelSnapH: b8,
|
|
GlyphExtraSpacing: ImVec2,
|
|
GlyphOffset: ImVec2,
|
|
GlyphRanges: ^ImWchar,
|
|
GlyphMinAdvanceX: f32,
|
|
GlyphMaxAdvanceX: f32,
|
|
MergeMode: b8,
|
|
FontBuilderFlags: u32,
|
|
RasterizerMultiply: f32,
|
|
RasterizerDensity: f32,
|
|
EllipsisChar: ImWchar,
|
|
Name: [40]cstring,
|
|
DstFont: ^ImFont,
|
|
}
|
|
ImFontGlyph :: struct {
|
|
Colored: u32,
|
|
Visible: u32,
|
|
Codepoint: u32,
|
|
AdvanceX: f32,
|
|
X0: f32,
|
|
Y0: f32,
|
|
X1: f32,
|
|
Y1: f32,
|
|
U0: f32,
|
|
V0: f32,
|
|
U1: f32,
|
|
V1: f32,
|
|
}
|
|
ImFontGlyphRangesBuilder :: struct {
|
|
UsedChars: ImVector_ImU32,
|
|
}
|
|
ImFontAtlasCustomRect :: struct {
|
|
X: u16,
|
|
Y: u16,
|
|
Width: u16,
|
|
Height: u16,
|
|
GlyphID: u32,
|
|
GlyphColored: u32,
|
|
GlyphAdvanceX: f32,
|
|
GlyphOffset: ImVec2,
|
|
Font: ^ImFont,
|
|
}
|
|
IM_DRAWLIST_TEX_LINES_WIDTH_MAX :: 63
|
|
ImFontAtlas :: struct {
|
|
Flags: ImFontAtlasFlags,
|
|
TexID: ImTextureID,
|
|
TexDesiredWidth: i32,
|
|
TexGlyphPadding: i32,
|
|
Locked: b8,
|
|
UserData: rawptr,
|
|
TexReady: b8,
|
|
TexPixelsUseColors: b8,
|
|
TexPixelsAlpha8: cstring,
|
|
TexPixelsRGBA32: [^]u32,
|
|
TexWidth: i32,
|
|
TexHeight: i32,
|
|
TexUvScale: ImVec2,
|
|
TexUvWhitePixel: ImVec2,
|
|
Fonts: ImVector_ImFontPtr,
|
|
CustomRects: ImVector_ImFontAtlasCustomRect,
|
|
ConfigData: ImVector_ImFontConfig,
|
|
TexUvLines: [IM_DRAWLIST_TEX_LINES_WIDTH_MAX+1]ImVec4,
|
|
FontBuilderIO: ^ImFontBuilderIO,
|
|
FontBuilderFlags: u32,
|
|
PackIdMouseCursors: i32,
|
|
PackIdLines: i32,
|
|
}
|
|
IM_UNICODE_CODEPOINT_MAX :: 0x10FFFF
|
|
ImFont :: struct {
|
|
IndexAdvanceX: ImVector_float,
|
|
FallbackAdvanceX: f32,
|
|
FontSize: f32,
|
|
IndexLookup: ImVector_ImWchar,
|
|
Glyphs: ImVector_ImFontGlyph,
|
|
FallbackGlyph: ^ImFontGlyph,
|
|
ContainerAtlas: ^ImFontAtlas,
|
|
ConfigData: ^ImFontConfig,
|
|
ConfigDataCount: i16,
|
|
EllipsisCharCount: i16,
|
|
EllipsisChar: ImWchar,
|
|
FallbackChar: ImWchar,
|
|
EllipsisWidth: f32,
|
|
EllipsisCharStep: f32,
|
|
DirtyLookupTables: b8,
|
|
Scale: f32,
|
|
Ascent: f32,
|
|
Descent: f32,
|
|
MetricsTotalSurface: i32,
|
|
Used4kPagesMap: [(IM_UNICODE_CODEPOINT_MAX +1)/4096/8]ImU8,
|
|
}
|
|
Viewport :: struct {
|
|
ID: ID,
|
|
Flags: ViewportFlags,
|
|
Pos: ImVec2,
|
|
Size: ImVec2,
|
|
WorkPos: ImVec2,
|
|
WorkSize: ImVec2,
|
|
PlatformHandle: rawptr,
|
|
PlatformHandleRaw: rawptr,
|
|
}
|
|
PlatformIO :: struct {
|
|
Platform_GetClipboardTextFn: proc "c" (ctx: ^Context) -> cstring,
|
|
Platform_SetClipboardTextFn: proc "c" (ctx: ^Context, text: cstring),
|
|
Platform_ClipboardUserData: rawptr,
|
|
Platform_OpenInShellFn: proc "c" (ctx: ^Context, path: cstring) -> b8,
|
|
Platform_OpenInShellUserData: rawptr,
|
|
Platform_SetImeDataFn: proc "c" (ctx: ^Context, viewport: ^Viewport, data: ^PlatformImeData),
|
|
Platform_ImeUserData: rawptr,
|
|
Platform_LocaleDecimalPoint: ImWchar,
|
|
Renderer_RenderState: rawptr,
|
|
}
|
|
PlatformImeData :: struct {
|
|
WantVisible: b8,
|
|
InputPos: ImVec2,
|
|
InputLineHeight: f32,
|
|
}
|