@@ -39,15 +39,147 @@ package com.lambda.gui.dsl
3939import com.lambda.gui.components.ClickGuiLayout
4040import com.lambda.gui.dsl.ImGuiBuilder.text
4141import com.lambda.util.math.Vec2d
42- import imgui.*
43- import imgui.ImGui.*
44- import imgui.flag.*
45- import imgui.type.*
42+ import imgui.ImDrawList
43+ import imgui.ImFont
44+ import imgui.ImGui
45+ import imgui.ImGui.begin
46+ import imgui.ImGui.beginChild
47+ import imgui.ImGui.beginCombo
48+ import imgui.ImGui.beginDragDropSource
49+ import imgui.ImGui.beginDragDropTarget
50+ import imgui.ImGui.beginGroup
51+ import imgui.ImGui.beginMainMenuBar
52+ import imgui.ImGui.beginMenu
53+ import imgui.ImGui.beginMenuBar
54+ import imgui.ImGui.beginPopup
55+ import imgui.ImGui.beginPopupContextItem
56+ import imgui.ImGui.beginPopupContextVoid
57+ import imgui.ImGui.beginPopupContextWindow
58+ import imgui.ImGui.beginPopupModal
59+ import imgui.ImGui.beginTabBar
60+ import imgui.ImGui.beginTabItem
61+ import imgui.ImGui.beginTooltip
62+ import imgui.ImGui.calcTextSize
63+ import imgui.ImGui.collapsingHeader
64+ import imgui.ImGui.colorButton
65+ import imgui.ImGui.colorEdit4
66+ import imgui.ImGui.colorPicker4
67+ import imgui.ImGui.dragFloat
68+ import imgui.ImGui.dragInt
69+ import imgui.ImGui.end
70+ import imgui.ImGui.endChild
71+ import imgui.ImGui.endCombo
72+ import imgui.ImGui.endDragDropSource
73+ import imgui.ImGui.endDragDropTarget
74+ import imgui.ImGui.endGroup
75+ import imgui.ImGui.endMainMenuBar
76+ import imgui.ImGui.endMenu
77+ import imgui.ImGui.endMenuBar
78+ import imgui.ImGui.endPopup
79+ import imgui.ImGui.endTabBar
80+ import imgui.ImGui.endTabItem
81+ import imgui.ImGui.endTooltip
82+ import imgui.ImGui.getBackgroundDrawList
83+ import imgui.ImGui.getColorU32
84+ import imgui.ImGui.getContentRegionAvail
85+ import imgui.ImGui.getCursorPosX
86+ import imgui.ImGui.getCursorPosY
87+ import imgui.ImGui.getFont
88+ import imgui.ImGui.getFontSize
89+ import imgui.ImGui.getForegroundDrawList
90+ import imgui.ImGui.getFrameHeight
91+ import imgui.ImGui.getFrameHeightWithSpacing
92+ import imgui.ImGui.getIO
93+ import imgui.ImGui.getItemID
94+ import imgui.ImGui.getItemRectMaxX
95+ import imgui.ImGui.getItemRectMaxY
96+ import imgui.ImGui.getItemRectMinX
97+ import imgui.ImGui.getItemRectMinY
98+ import imgui.ImGui.getStyle
99+ import imgui.ImGui.getVersion
100+ import imgui.ImGui.getWindowContentRegionMaxX
101+ import imgui.ImGui.getWindowContentRegionMaxY
102+ import imgui.ImGui.getWindowDrawList
103+ import imgui.ImGui.getWindowHeight
104+ import imgui.ImGui.getWindowPos
105+ import imgui.ImGui.getWindowPosX
106+ import imgui.ImGui.getWindowPosY
107+ import imgui.ImGui.getWindowSize
108+ import imgui.ImGui.getWindowViewport
109+ import imgui.ImGui.getWindowWidth
110+ import imgui.ImGui.image
111+ import imgui.ImGui.inputDouble
112+ import imgui.ImGui.inputFloat
113+ import imgui.ImGui.inputFloat2
114+ import imgui.ImGui.inputFloat3
115+ import imgui.ImGui.inputFloat4
116+ import imgui.ImGui.isAnyItemActive
117+ import imgui.ImGui.isAnyItemFocused
118+ import imgui.ImGui.isAnyItemHovered
119+ import imgui.ImGui.isItemActivated
120+ import imgui.ImGui.isItemActive
121+ import imgui.ImGui.isItemClicked
122+ import imgui.ImGui.isItemDeactivated
123+ import imgui.ImGui.isItemDeactivatedAfterEdit
124+ import imgui.ImGui.isItemEdited
125+ import imgui.ImGui.isItemFocused
126+ import imgui.ImGui.isItemHovered
127+ import imgui.ImGui.isItemToggledOpen
128+ import imgui.ImGui.isMouseClicked
129+ import imgui.ImGui.isWindowAppearing
130+ import imgui.ImGui.isWindowCollapsed
131+ import imgui.ImGui.isWindowHovered
132+ import imgui.ImGui.plotHistogram
133+ import imgui.ImGui.popFont
134+ import imgui.ImGui.popID
135+ import imgui.ImGui.popItemWidth
136+ import imgui.ImGui.popStyleColor
137+ import imgui.ImGui.popStyleVar
138+ import imgui.ImGui.popTextWrapPos
139+ import imgui.ImGui.pushFont
140+ import imgui.ImGui.pushID
141+ import imgui.ImGui.pushItemWidth
142+ import imgui.ImGui.pushStyleColor
143+ import imgui.ImGui.pushStyleVar
144+ import imgui.ImGui.pushTextWrapPos
145+ import imgui.ImGui.setClipboardText
146+ import imgui.ImGui.setCursorPosX
147+ import imgui.ImGui.setCursorPosY
148+ import imgui.ImGui.sliderFloat
149+ import imgui.ImGui.sliderInt
150+ import imgui.ImGui.textColored
151+ import imgui.ImGui.textUnformatted
152+ import imgui.ImGui.treeNode
153+ import imgui.ImGui.treePop
154+ import imgui.ImGuiIO
155+ import imgui.ImGuiStyle
156+ import imgui.ImGuiTextFilter
157+ import imgui.ImGuiViewport
158+ import imgui.ImVec2
159+ import imgui.flag.ImDrawListFlags
160+ import imgui.flag.ImGuiCol
161+ import imgui.flag.ImGuiColorEditFlags
162+ import imgui.flag.ImGuiComboFlags
163+ import imgui.flag.ImGuiDir
164+ import imgui.flag.ImGuiHoveredFlags
165+ import imgui.flag.ImGuiInputTextFlags
166+ import imgui.flag.ImGuiMouseButton
167+ import imgui.flag.ImGuiPopupFlags
168+ import imgui.flag.ImGuiSelectableFlags
169+ import imgui.flag.ImGuiTabBarFlags
170+ import imgui.flag.ImGuiTreeNodeFlags
171+ import imgui.flag.ImGuiWindowFlags
172+ import imgui.type.ImBoolean
173+ import imgui.type.ImDouble
174+ import imgui.type.ImFloat
175+ import imgui.type.ImInt
176+ import imgui.type.ImString
46177import net.minecraft.util.math.Vec2f
47178import net.minecraft.util.math.Vec3d
48179import net.minecraft.util.math.Vec3i
49180import java.awt.Color
50181import kotlin.reflect.KMutableProperty0
182+ import imgui.ImGui.plotLines
51183
52184typealias ProcedureBlock = ImGuiBuilder .() -> Unit
53185typealias WrappedBlock <In , Out > = ImGuiBuilder .(In ) -> Out
@@ -312,6 +444,18 @@ object ImGuiBuilder {
312444 @ImGuiDsl
313445 fun text (text : String ) = textUnformatted(text)
314446
447+ /* *
448+ * Text with coloring
449+ *
450+ * @param text The text to display
451+ */
452+ @ImGuiDsl
453+ fun textColored (text : String , color : Color ) {
454+ val floats = floatArrayOf(0f , 0f , 0f , 0f )
455+ val (r, g, b, a) = color.getColorComponents(floats)
456+ textColored(r, g, b, a, text)
457+ }
458+
315459 /* *
316460 * Text with disabled coloring.
317461 *
@@ -1171,7 +1315,7 @@ object ImGuiBuilder {
11711315 */
11721316 @ImGuiDsl
11731317 inline fun treeNode (label : String , id : String , block : ProcedureBlock ) {
1174- if (treeNode(label, id )) {
1318+ if (treeNode(id, label )) {
11751319 block()
11761320 treePop()
11771321 }
0 commit comments