Difference between revisions of "ImGui.Core:beginWindow"
From GiderosMobile
m |
|||
(10 intermediate revisions by 2 users not shown) | |||
Line 4: | Line 4: | ||
=== Description === | === Description === | ||
− | Pushes | + | Pushes a Window to the stack and starts appending to it. |
− | < | + | <syntaxhighlight lang="lua"> |
(bool) (bool) = ImGui:beginWindow(name,open,flags) | (bool) (bool) = ImGui:beginWindow(name,open,flags) | ||
− | </ | + | </syntaxhighlight> |
+ | |||
+ | '''note''': if ''open'' is nil (window with no X button) then only the second boolean is returned. The boolean will then return whether the window is expanded or colapsed. | ||
=== 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= | + | '''open''': (bool) the status of the window, true=opened, false=closed, '''nil=no close button on window'''<br/> |
− | '''flags''': (string) | + | '''flags''': (string) any of the ImGui Window flags, see '''[[ImGui.CONST.WindowFlags|ImGui.WindowFlags]]'''<br/> |
=== Return values === | === Return values === | ||
− | '''Returns''': (bool) | + | '''Returns''': (bool) if second argument (''open'') is nil, returns only the second boolean below, otherwise it returns the status of the window, true=opened, false=closed<br/> |
− | '''Returns''': (bool) | + | '''Returns''': (bool) whether the window is collapsed or expanded<br/> |
=== Example === | === Example === | ||
− | < | + | <syntaxhighlight lang="lua"> |
− | -- | + | require "ImGui" |
− | function | + | |
− | + | local imgui = ImGui.new() | |
− | if | + | stage:addChild(imgui) |
− | local windowdrawn = false | + | |
− | + | local window01 = true -- the starting state of window01, true=window is visible at start up | |
+ | local window02 = true -- the starting state of window02, true=window is visible at start up | ||
+ | local window03 = true -- the starting state of window03, true=window is visible at start up | ||
+ | |||
+ | function onEnterFrame(e) | ||
+ | -- 1 we start ImGui | ||
+ | imgui:newFrame(e.deltaTime) | ||
+ | |||
+ | -- 2 we add a child window and build our GUI | ||
+ | if window01 then -- is window visible (not closed)? | ||
+ | local windowdrawn = false -- is window expanded or colapsed? | ||
+ | window01, windowdrawn = imgui:beginWindow( -- with close button | ||
"Hello ImGui v"..ImGui._VERSION, -- window title | "Hello ImGui v"..ImGui._VERSION, -- window title | ||
− | + | window01 -- returns window visibility | |
) | ) | ||
− | if | + | 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 | end | ||
− | |||
end | end | ||
− | + | ||
− | + | window02 = imgui:beginWindow("Window02") -- no close button | |
+ | if window02 then -- is window expanded or colapsed? | ||
+ | imgui:text("I am a text in window02") | ||
+ | print(e.deltaTime) -- test | ||
+ | -- ... | ||
+ | end | ||
+ | |||
+ | window03 = imgui:beginWindow( | ||
+ | 0, -- dummy title because we set the window with no title bar | ||
+ | nil, -- no close button | ||
+ | ImGui.WindowFlags_NoTitleBar -- no title bar | ||
+ | ) | ||
+ | if window03 then -- is window expanded or colapsed? | ||
+ | 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 | ||
+ | |||
+ | -- 3 we end the frame and render to screen | ||
+ | imgui:endFrame() | ||
+ | imgui:render() | ||
end | end | ||
− | </ | + | |
+ | stage:addEventListener(Event.ENTER_FRAME, onEnterFrame) | ||
+ | </syntaxhighlight> | ||
{{ImGui}} | {{ImGui}} |
Latest revision as of 04:46, 12 October 2023
Available since: Gideros 2020.9
Class: ImGui
Description
Pushes a Window to the stack and starts appending to it.
(bool) (bool) = ImGui:beginWindow(name,open,flags)
note: if open is nil (window with no X button) then only the second boolean is returned. The boolean will then return whether the window is expanded or colapsed.
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.WindowFlags
Return values
Returns: (bool) if second argument (open) is nil, returns only the second boolean below, otherwise it returns the status of the window, true=opened, false=closed
Returns: (bool) whether the window is collapsed or expanded
Example
require "ImGui"
local imgui = ImGui.new()
stage:addChild(imgui)
local window01 = true -- the starting state of window01, true=window is visible at start up
local window02 = true -- the starting state of window02, true=window is visible at start up
local window03 = true -- the starting state of window03, true=window is visible at start up
function onEnterFrame(e)
-- 1 we start ImGui
imgui:newFrame(e.deltaTime)
-- 2 we add a child window and build our GUI
if window01 then -- is window visible (not closed)?
local windowdrawn = false -- is window expanded or colapsed?
window01, windowdrawn = imgui:beginWindow( -- with close button
"Hello ImGui v"..ImGui._VERSION, -- window title
window01 -- returns window visibility
)
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
end
window02 = imgui:beginWindow("Window02") -- no close button
if window02 then -- is window expanded or colapsed?
imgui:text("I am a text in window02")
print(e.deltaTime) -- test
-- ...
end
window03 = imgui:beginWindow(
0, -- dummy title because we set the window with no title bar
nil, -- no close button
ImGui.WindowFlags_NoTitleBar -- no title bar
)
if window03 then -- is window expanded or colapsed?
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
-- 3 we end the frame and render to screen
imgui:endFrame()
imgui:render()
end
stage:addEventListener(Event.ENTER_FRAME, onEnterFrame)
- ImGui.Core
- ImGui.Core.new
- ImGui.Core:arrowButton
- ImGui.Core:beginTable
- ImGui.Core:beginWindow
- ImGui.Core:bullet
- ImGui.Core:bulletText
- ImGui.Core:button
- ImGui.Core:checkbox
- ImGui.Core:colorButton
- ImGui.Core:colorEdit3
- ImGui.Core:colorEdit4
- ImGui.Core:colorPicker3
- ImGui.Core:colorPicker4
- ImGui.Core:combo
- ImGui.Core:dragFloat
- ImGui.Core:dragFloat2
- ImGui.Core:dragFloat3
- ImGui.Core:dragFloat4
- ImGui.Core:dragFloatRange2
- ImGui.Core:dragInt
- ImGui.Core:dragInt2
- ImGui.Core:dragInt3
- ImGui.Core:dragInt4
- ImGui.Core:dragIntRange2
- ImGui.Core:dragScalar
- ImGui.Core:endFrame
- ImGui.Core:endTable
- ImGui.Core:endWindow
- ImGui.Core:filledSliderAngle
- ImGui.Core:filledSliderFloat
- ImGui.Core:filledSliderFloat2
- ImGui.Core:filledSliderFloat3
- ImGui.Core:filledSliderFloat4
- ImGui.Core:filledSliderInt
- ImGui.Core:filledSliderInt2
- ImGui.Core:filledSliderInt3
- ImGui.Core:filledSliderInt4
- ImGui.Core:getIO
- ImGui.Core:getStyle
- ImGui.Core:image
- ImGui.Core:imageButton
- ImGui.Core:imageButtonWithText
- ImGui.Core:imageFilled
- ImGui.Core:inputDouble
- ImGui.Core:inputFloat
- ImGui.Core:inputFloat2
- ImGui.Core:inputFloat3
- ImGui.Core:inputFloat4
- ImGui.Core:inputInt
- ImGui.Core:inputInt2
- ImGui.Core:inputInt3
- ImGui.Core:inputInt4
- ImGui.Core:inputScalar
- ImGui.Core:inputText
- ImGui.Core:inputTextMultiline
- ImGui.Core:inputTextWithHint
- ImGui.Core:invisibleButton
- ImGui.Core:labelText
- ImGui.Core:newFrame
- ImGui.Core:progressBar
- ImGui.Core:radioButton
- ImGui.Core:render
- ImGui.Core:scaledImage
- ImGui.Core:scaledImageButton
- ImGui.Core:scaledImageButtonWithText
- ImGui.Core:scaledImageFilled
- ImGui.Core:setClassicStyle
- ImGui.Core:setColorEditOptions
- ImGui.Core:setDarkStyle
- ImGui.Core:setLightStyle
- ImGui.Core:showAboutWindow
- ImGui.Core:showDemoWindow
- ImGui.Core:showFontSelector
- ImGui.Core:showMetricsWindow
- ImGui.Core:showStyleEditor
- ImGui.Core:showStyleSelector
- ImGui.Core:showUserGuide
- ImGui.Core:sliderAngle
- ImGui.Core:sliderFloat
- ImGui.Core:sliderFloat2
- ImGui.Core:sliderFloat3
- ImGui.Core:sliderFloat4
- ImGui.Core:sliderInt
- ImGui.Core:sliderInt2
- ImGui.Core:sliderInt3
- ImGui.Core:sliderInt4
- ImGui.Core:smallButton
- ImGui.Core:text
- ImGui.Core:textColored
- ImGui.Core:textDisabled
- ImGui.Core:textWrapped
- ImGui.Core:vFilledSliderFloat
- ImGui.Core:vFilledSliderInt
- ImGui.Core:vSliderFloat
- ImGui.Core:vSliderInt