Difference between revisions of "ImGui.Core:beginWindow"

From GiderosMobile
m (MoKaLux moved page ImGui:beginWindow to ImGui.Core:beginWindow)
Line 11: Line 11:
 
=== Parameters ===
 
=== Parameters ===
 
'''name''': (string) the window title to be displayed<br/>
 
'''name''': (string) the window title to be displayed<br/>
'''open''': (bool) the status of the window, true=opened, false=collapsed<br/>
+
'''open''': (bool) the status of the window, true=opened, false=closed, '''nil=no close button on window'''<br/>
'''flags''': (string) some flags for the window ('''wiki in progress''')<br/>
+
'''flags''': (string) any of the ImGui Window flags, see '''[[ImGui.Core|ImGui Constants - Window Flags]]'''<br/>
  
 
=== Return values ===
 
=== Return values ===
'''Returns''': (bool) whether the window exists<br/>
+
'''Returns''': (bool) whether the window is collapsed or expanded<br/>
'''Returns''': (bool) the status of the window, true=opened, false=collapsed<br/>
+
'''Returns''': (bool) the status of the window, true=opened, false=closed, '''nil=non closeable window'''<br/>
  
 
=== Example ===
 
=== Example ===
 
<source lang="lua">
 
<source lang="lua">
-- LOOP
+
require "ImGui"
function MyClass:onEnterFrame(e)
+
 
self.imgui:newFrame(e)
+
local imgui = ImGui.new()
if (self.window01) then -- if window exists
+
stage:addChild(imgui)
 +
 
 +
local window01 = true -- the beginning status of window01 (collapsed, expanded), with a close button
 +
local window02 = true -- the beginning status of window02 (collapsed, expanded), with no close button)
 +
 
 +
function onEnterFrame(e)
 +
-- 1 we start ImGui
 +
imgui:newFrame(e)
 +
 
 +
-- 2 we add a child window and build our GUI
 +
if window01 then -- if window exists
 
local windowdrawn = false
 
local windowdrawn = false
self.window01, windowdrawn = self.imgui:beginWindow(
+
window01, windowdrawn = imgui:beginWindow( -- with close button
 
"Hello ImGui v"..ImGui._VERSION, -- window title
 
"Hello ImGui v"..ImGui._VERSION, -- window title
self.window01 -- is window expanded
+
window01 -- is window expanded
 
)
 
)
if (windowdrawn) then
+
if (windowdrawn) then -- the variable is false when main window is collapsed
self.imgui:text("Hello Dear ImGui!")
+
imgui:text("This is an ImGui text.") -- we add a text element to our GUI
 +
imgui:textColored("This is a colored text.", 0xff00ff, 1)
 +
-- ...
 
end
 
end
self.imgui:endWindow()
+
imgui:endWindow()
 +
end
 +
 
 +
window02 = imgui:beginWindow("Window02") -- without close button
 +
if window02 then
 +
imgui:text("I am a text in window02")
 +
print(e.deltaTime) -- test
 +
-- ...
 
end
 
end
self.imgui:endFrame()
+
 
self.imgui:render()
+
-- 3 we end the frame and render to screen
 +
imgui:endFrame()
 +
imgui:render()
 
end
 
end
 +
 +
stage:addEventListener(Event.ENTER_FRAME, onEnterFrame)
 
</source>
 
</source>
  
 
{{ImGui}}
 
{{ImGui}}

Revision as of 03:02, 25 March 2021

Available since: Gideros 2020.9
Class: ImGui

Description

Pushes window to the stack and starts appending to it.

(bool) (bool) = ImGui:beginWindow(name,open,flags)

Parameters

name: (string) the window title to be displayed
open: (bool) the status of the window, true=opened, false=closed, nil=no close button on window
flags: (string) any of the ImGui Window flags, see ImGui Constants - Window Flags

Return values

Returns: (bool) whether the window is collapsed or expanded
Returns: (bool) the status of the window, true=opened, false=closed, nil=non closeable window

Example

require "ImGui"

local imgui = ImGui.new()
stage:addChild(imgui)

local window01 = true -- the beginning status of window01 (collapsed, expanded), with a close button
local window02 = true -- the beginning status of window02 (collapsed, expanded), with no close button)

function onEnterFrame(e)
	-- 1 we start ImGui
	imgui:newFrame(e)

	-- 2 we add a child window and build our GUI
	if window01 then -- if window exists
		local windowdrawn = false
		window01, windowdrawn = imgui:beginWindow( -- with close button
			"Hello ImGui v"..ImGui._VERSION, -- window title
			window01 -- is window expanded
		)
		if (windowdrawn) then -- the variable is false when main window is collapsed
			imgui:text("This is an ImGui text.") -- we add a text element to our GUI
			imgui:textColored("This is a colored text.", 0xff00ff, 1)
			-- ...
		end
		imgui:endWindow()
	end

	window02 = imgui:beginWindow("Window02") -- without close button
	if window02 then
		imgui:text("I am a text in window02")
		print(e.deltaTime) -- test
		-- ...
	end

	-- 3 we end the frame and render to screen
	imgui:endFrame()
	imgui:render()
end

stage:addEventListener(Event.ENTER_FRAME, onEnterFrame)