Difference between revisions of "Dear ImGui"

From GiderosMobile
(12 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
__NOTOC__
 
__NOTOC__
 
<!-- GIDEROSOBJ:ImGui -->
 
<!-- GIDEROSOBJ:ImGui -->
'''<translate>Supported platforms</translate>:''' [[File:Platform android.png]][[File:Platform ios.png]][[File:Platform mac.png]][[File:Platform pc.png]][[File:Platform html5.png]][[File:Platform winrt.png]][[File:Platform win32.png]]<br/>
+
'''Supported platforms:''' [[File:Platform android.png]][[File:Platform ios.png]][[File:Platform mac.png]][[File:Platform pc.png]][[File:Platform html5.png]][[File:Platform winrt.png]][[File:Platform win32.png]]<br/>
'''<translate>Available since</translate>:''' Gideros 2020.9<br/>
+
'''Available since:''' Gideros 2020.9<br/>
  
 
=== Description ===
 
=== Description ===
Line 10: Line 10:
  
 
To use Dear ImGui in your project you need to add the ImGui plugin and call require like so:
 
To use Dear ImGui in your project you need to add the ImGui plugin and call require like so:
<source lang="lua">
+
<syntaxhighlight lang="lua">
require 'ImGui'
+
require "ImGui"
</source>
+
</syntaxhighlight>
  
  
'''This is a brand new plugin in Gideros Studio so it may take some time to document it thoroughly.'''
+
'''This is a new and very big plugin, it may take some time to document it thoroughly.'''
  
In the meantime, the '''author's GitHub''' is the best place to get info regarding Dear ImGui Gideros functions.
+
In the meantime, the person (@'''rrraptor''') who made the Gideros implementation has a GitHub. It is the best place to get started with Gideros Dear ImGui.
  https://github.com/MultiPain/Gideros_ImGui
+
  '''https://github.com/MultiPain/Gideros_ImGui'''
  
  
'''Of course, Gideros Wiki is here to help as well. You will find below some Dear ImGui examples implemented in Gideros Studio.
+
Of course, Gideros Wiki is here to help as well. You will find below some Dear ImGui examples implemented in Gideros Studio.
[[ImGui_Examples]]
+
'''[[ImGui_Examples]]'''
  
{|-
+
=== Classes ===
| style="width: 50%; vertical-align:top;"|
+
<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
=== Methods ===
+
'''[[ImGui|ImGui.Core (ImGui)]]'''<br/><!--GIDEROSOBJ:ImGui-->
[[ImGui.new]] ''initializes ImGui''<br/><!--GIDEROSMTD:ImGui.new() initializes ImGui-->
+
'''[[ImGui.DrawList]]'''<br/><!--GIDEROSOBJ:ImGui.DrawList-->
 
+
'''[[ImGui.Style]]'''<br/><!--GIDEROSOBJ:ImGui.Style-->
[[ImGui:beginWindow]] ''pushes window to the stack and starts appending to it''<br/><!--GIDEROSMTD:ImGui:beginWindow(name, p_open, flags) pushes window to the stack and starts appending to it-->
+
</div>
[[ImGui:endFrame]] ''ends the ImGui frame''<br/><!--GIDEROSMTD:ImGui:endFrame() ends the ImGui frame-->
 
[[ImGui:endWindow]] ''pops window from the stack''<br/><!--GIDEROSMTD:ImGui:endWindow() pops window from the stack-->
 
[[ImGui:newFrame]] ''starts a new ImGui frame''<br/><!--GIDEROSMTD:ImGui:newFrame(dt) starts a new ImGui frame-->
 
[[ImGui:render]] ''ends the ImGui frame, finalizes the draw data''<br/><!--GIDEROSMTD:ImGui:render() ends the ImGui frame, finalizes the draw data-->
 
[[ImGui:setLightStyle]] ''sets a light color style''<br/><!--GIDEROSMTD:ImGui:setLightStyle() sets a light color style-->
 
[[ImGui:showDemoWindow]] ''displays an ImGui demo''<br/><!--GIDEROSMTD:ImGui:showDemoWindow() displays an ImGui demo-->
 
[[ImGui:showMetricsWindow]] ''displays an ImGui metrics window''<br/><!--GIDEROSMTD:ImGui:showMetricsWindow() displays an ImGui metrics window-->
 
[[ImGui:text]] ''displays an ImGui text''<br/><!--GIDEROSMTD:ImGui:text(string) displays an ImGui text-->
 
[[ImGui:textColored]] ''displays an ImGui colored text''<br/><!--GIDEROSMTD:ImGui:textColored(string, hex, alpha) displays an ImGui colored text-->
 
 
 
'''WORK IN PROGRESS...'''
 
 
 
| style="width: 50%; vertical-align:top;"|
 
=== Events ===
 
ImGui.KeyChar<br/><!--GIDEROSEVT:ImGui.KeyChar-->
 
ImGui.KeyDown<br/><!--GIDEROSEVT:ImGui.KeyDown-->
 
ImGui.KeyUp<br/><!--GIDEROSEVT:ImGui.KeyUp-->
 
ImGui.MouseDown<br/><!--GIDEROSEVT:ImGui.MouseDown-->
 
ImGui.MouseHover<br/><!--GIDEROSEVT:ImGui.MouseHover-->
 
ImGui.MouseMove<br/><!--GIDEROSEVT:ImGui.MouseMove-->
 
ImGui.MouseUp<br/><!--GIDEROSEVT:ImGui.MouseUp-->
 
ImGui.MouseWheel<br/><!--GIDEROSEVT:ImGui.MouseWheel-->
 
ImGui.TouchBegin<br/><!--GIDEROSEVT:ImGui.TouchBegin-->
 
ImGui.TouchEnd<br/><!--GIDEROSEVT:ImGui.TouchEnd-->
 
ImGui.TouchCancel<br/><!--GIDEROSEVT:ImGui.TouchCancel-->
 
ImGui.TouchMove<br/><!--GIDEROSEVT:ImGui.TouchMove-->
 
=== Constants ===
 
ImGui._VERSION<br/><!--GIDEROSCST:ImGui._VERSION-->
 
|}
 
  
 
{{GIDEROS IMPORTANT LINKS}}
 
{{GIDEROS IMPORTANT LINKS}}

Revision as of 11:35, 27 August 2024

Supported platforms: Platform android.pngPlatform ios.pngPlatform mac.pngPlatform pc.pngPlatform html5.pngPlatform winrt.pngPlatform win32.png
Available since: Gideros 2020.9

Description

This is an implementation of the Dear ImGui library.

See full original documentation here: https://pthom.github.io/imgui_manual_online/manual/imgui_manual.html


To use Dear ImGui in your project you need to add the ImGui plugin and call require like so:

require "ImGui"


This is a new and very big plugin, it may take some time to document it thoroughly.

In the meantime, the person (@rrraptor) who made the Gideros implementation has a GitHub. It is the best place to get started with Gideros Dear ImGui.

https://github.com/MultiPain/Gideros_ImGui


Of course, Gideros Wiki is here to help as well. You will find below some Dear ImGui examples implemented in Gideros Studio.

ImGui_Examples

Classes