Dalamud/docs/api/ImGuiScene.SimpleImGuiScene.html
2022-01-29 05:15:26 +01:00

800 lines
41 KiB
HTML

<!DOCTYPE html>
<!--[if IE]><![endif]-->
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Class SimpleImGuiScene
</title>
<meta name="viewport" content="width=device-width">
<meta name="title" content="Class SimpleImGuiScene
">
<meta name="generator" content="docfx 2.59.0.0">
<link rel="shortcut icon" href="../favicon.ico">
<link rel="stylesheet" href="../styles/docfx.vendor.css">
<link rel="stylesheet" href="../styles/docfx.css">
<link rel="stylesheet" href="../styles/main.css">
<meta property="docfx:navrel" content="">
<meta property="docfx:tocrel" content="toc.html">
</head>
<body data-spy="scroll" data-target="#affix" data-offset="120">
<div id="wrapper">
<header>
<nav id="autocollapse" class="navbar navbar-inverse ng-scope" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="../index.html">
<img id="logo" class="svg" src="../logo.svg" alt="">
</a>
</div>
<div class="collapse navbar-collapse" id="navbar">
<form class="navbar-form navbar-right" role="search" id="search">
<div class="form-group">
<input type="text" class="form-control" id="search-query" placeholder="Search" autocomplete="off">
</div>
</form>
</div>
</div>
</nav>
<div class="subnav navbar navbar-default">
<div class="container hide-when-search" id="breadcrumb">
<ul class="breadcrumb">
<li></li>
</ul>
</div>
</div>
</header>
<div role="main" class="container body-content hide-when-search">
<div class="sidenav hide-when-search">
<a class="btn toc-toggle collapse" data-toggle="collapse" href="#sidetoggle" aria-expanded="false" aria-controls="sidetoggle">Show / Hide Table of Contents</a>
<div class="sidetoggle collapse" id="sidetoggle">
<div id="sidetoc"></div>
</div>
</div>
<div class="article row grid-right">
<div class="col-md-10">
<article class="content wrap" id="_content" data-uid="ImGuiScene.SimpleImGuiScene">
<h1 id="ImGuiScene_SimpleImGuiScene" data-uid="ImGuiScene.SimpleImGuiScene" class="text-break">Class SimpleImGuiScene
</h1>
<div class="markdown level0 summary"><p>Simple class to wrap everything necessary to use ImGui inside a window.
Currently this always creates a new window rather than take ownership of an existing one.</p>
<p>Internally this uses SDL and DirectX 11 or OpenGL 3.2. Rendering is tied to vsync.</p>
</div>
<div class="markdown level0 conceptual"></div>
<div class="inheritance">
<h5>Inheritance</h5>
<div class="level0"><span class="xref">System.Object</span></div>
<div class="level1"><span class="xref">SimpleImGuiScene</span></div>
</div>
<div classs="implements">
<h5>Implements</h5>
<div><span class="xref">System.IDisposable</span></div>
</div>
<div class="inheritedMembers">
<h5>Inherited Members</h5>
<div>
<span class="xref">System.Object.Equals(System.Object)</span>
</div>
<div>
<span class="xref">System.Object.Equals(System.Object, System.Object)</span>
</div>
<div>
<span class="xref">System.Object.GetHashCode()</span>
</div>
<div>
<span class="xref">System.Object.GetType()</span>
</div>
<div>
<span class="xref">System.Object.MemberwiseClone()</span>
</div>
<div>
<span class="xref">System.Object.ReferenceEquals(System.Object, System.Object)</span>
</div>
<div>
<span class="xref">System.Object.ToString()</span>
</div>
</div>
<h6><strong>Namespace</strong>: <a class="xref" href="ImGuiScene.html">ImGuiScene</a></h6>
<h6><strong>Assembly</strong>: ImGuiScene.dll</h6>
<h5 id="ImGuiScene_SimpleImGuiScene_syntax">Syntax</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public class SimpleImGuiScene : IDisposable</code></pre>
</div>
<h3 id="constructors">Constructors
</h3>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goatcorp/ImGuiScene/new/de1a512bc77eed279f9909a3a233068a51a57b21/apiSpec/new?filename=ImGuiScene_SimpleImGuiScene__ctor_ImGuiScene_RendererFactory_RendererBackend_ImGuiScene_WindowCreateInfo_System_Boolean_.md&amp;value=---%0Auid%3A%20ImGuiScene.SimpleImGuiScene.%23ctor(ImGuiScene.RendererFactory.RendererBackend%2CImGuiScene.WindowCreateInfo%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goatcorp/ImGuiScene/blob/de1a512bc77eed279f9909a3a233068a51a57b21/ImGuiScene/SimpleImGuiScene.cs/#L161">View Source</a>
</span>
<a id="ImGuiScene_SimpleImGuiScene__ctor_" data-uid="ImGuiScene.SimpleImGuiScene.#ctor*"></a>
<h4 id="ImGuiScene_SimpleImGuiScene__ctor_ImGuiScene_RendererFactory_RendererBackend_ImGuiScene_WindowCreateInfo_System_Boolean_" data-uid="ImGuiScene.SimpleImGuiScene.#ctor(ImGuiScene.RendererFactory.RendererBackend,ImGuiScene.WindowCreateInfo,System.Boolean)">SimpleImGuiScene(RendererFactory.RendererBackend, WindowCreateInfo, Boolean)</h4>
<div class="markdown level1 summary"><p>Creates a new window and a new renderer of the specified type, and initializes ImGUI.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public SimpleImGuiScene(RendererFactory.RendererBackend rendererBackend, WindowCreateInfo createInfo, bool enableRenderDebugging = false)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a class="xref" href="ImGuiScene.RendererFactory.RendererBackend.html">RendererFactory.RendererBackend</a></td>
<td><span class="parametername">rendererBackend</span></td>
<td></td>
</tr>
<tr>
<td><a class="xref" href="ImGuiScene.WindowCreateInfo.html">WindowCreateInfo</a></td>
<td><span class="parametername">createInfo</span></td>
<td><p>Creation details for the window.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.Boolean</span></td>
<td><span class="parametername">enableRenderDebugging</span></td>
<td><p>Whether to enable debugging of the renderer internals. This will likely greatly impact performance and is not usually recommended.</p>
</td>
</tr>
</tbody>
</table>
<h3 id="fields">Fields
</h3>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goatcorp/ImGuiScene/new/de1a512bc77eed279f9909a3a233068a51a57b21/apiSpec/new?filename=ImGuiScene_SimpleImGuiScene_OnBuildUI.md&amp;value=---%0Auid%3A%20ImGuiScene.SimpleImGuiScene.OnBuildUI%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goatcorp/ImGuiScene/blob/de1a512bc77eed279f9909a3a233068a51a57b21/ImGuiScene/SimpleImGuiScene.cs/#L75">View Source</a>
</span>
<h4 id="ImGuiScene_SimpleImGuiScene_OnBuildUI" data-uid="ImGuiScene.SimpleImGuiScene.OnBuildUI">OnBuildUI</h4>
<div class="markdown level1 summary"><p>User methods invoked every ImGui frame to construct custom UIs.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public SimpleImGuiScene.BuildUIDelegate OnBuildUI</code></pre>
</div>
<h5 class="fieldValue">Field Value</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a class="xref" href="ImGuiScene.SimpleImGuiScene.BuildUIDelegate.html">SimpleImGuiScene.BuildUIDelegate</a></td>
<td></td>
</tr>
</tbody>
</table>
<h3 id="properties">Properties
</h3>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goatcorp/ImGuiScene/new/de1a512bc77eed279f9909a3a233068a51a57b21/apiSpec/new?filename=ImGuiScene_SimpleImGuiScene_FramerateLimit.md&amp;value=---%0Auid%3A%20ImGuiScene.SimpleImGuiScene.FramerateLimit%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goatcorp/ImGuiScene/blob/de1a512bc77eed279f9909a3a233068a51a57b21/ImGuiScene/SimpleImGuiScene.cs/#L38">View Source</a>
</span>
<a id="ImGuiScene_SimpleImGuiScene_FramerateLimit_" data-uid="ImGuiScene.SimpleImGuiScene.FramerateLimit*"></a>
<h4 id="ImGuiScene_SimpleImGuiScene_FramerateLimit" data-uid="ImGuiScene.SimpleImGuiScene.FramerateLimit">FramerateLimit</h4>
<div class="markdown level1 summary"><p>The method of framerate control used by the scene and renderer.
The default behavior is <a class="xref" href="ImGuiScene.FramerateLimit.LimitType.html#ImGuiScene_FramerateLimit_LimitType_Vsync">Vsync</a>, which is greatly recommended unless you have a specific need to change it.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public FramerateLimit FramerateLimit { get; set; }</code></pre>
</div>
<h5 class="propertyValue">Property Value</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a class="xref" href="ImGuiScene.FramerateLimit.html">FramerateLimit</a></td>
<td></td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goatcorp/ImGuiScene/new/de1a512bc77eed279f9909a3a233068a51a57b21/apiSpec/new?filename=ImGuiScene_SimpleImGuiScene_ImGuiIniPath.md&amp;value=---%0Auid%3A%20ImGuiScene.SimpleImGuiScene.ImGuiIniPath%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goatcorp/ImGuiScene/blob/de1a512bc77eed279f9909a3a233068a51a57b21/ImGuiScene/SimpleImGuiScene.cs/#L60">View Source</a>
</span>
<a id="ImGuiScene_SimpleImGuiScene_ImGuiIniPath_" data-uid="ImGuiScene.SimpleImGuiScene.ImGuiIniPath*"></a>
<h4 id="ImGuiScene_SimpleImGuiScene_ImGuiIniPath" data-uid="ImGuiScene.SimpleImGuiScene.ImGuiIniPath">ImGuiIniPath</h4>
<div class="markdown level1 summary"></div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public string ImGuiIniPath { get; set; }</code></pre>
</div>
<h5 class="propertyValue">Property Value</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.String</span></td>
<td></td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goatcorp/ImGuiScene/new/de1a512bc77eed279f9909a3a233068a51a57b21/apiSpec/new?filename=ImGuiScene_SimpleImGuiScene_OnSDLEvent.md&amp;value=---%0Auid%3A%20ImGuiScene.SimpleImGuiScene.OnSDLEvent%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goatcorp/ImGuiScene/blob/de1a512bc77eed279f9909a3a233068a51a57b21/ImGuiScene/SimpleImGuiScene.cs/#L113">View Source</a>
</span>
<a id="ImGuiScene_SimpleImGuiScene_OnSDLEvent_" data-uid="ImGuiScene.SimpleImGuiScene.OnSDLEvent*"></a>
<h4 id="ImGuiScene_SimpleImGuiScene_OnSDLEvent" data-uid="ImGuiScene.SimpleImGuiScene.OnSDLEvent">OnSDLEvent</h4>
<div class="markdown level1 summary"><p>Delegate for providing user event handler methods that want to respond to SDL_Events.
This is just a convenience wrapper around <a class="xref" href="ImGuiScene.SimpleSDLWindow.html#ImGuiScene_SimpleSDLWindow_OnSDLEvent">OnSDLEvent</a>.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public SimpleSDLWindow.ProcessEventDelegate OnSDLEvent { get; set; }</code></pre>
</div>
<h5 class="propertyValue">Property Value</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a class="xref" href="ImGuiScene.SimpleSDLWindow.ProcessEventDelegate.html">SimpleSDLWindow.ProcessEventDelegate</a></td>
<td></td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goatcorp/ImGuiScene/new/de1a512bc77eed279f9909a3a233068a51a57b21/apiSpec/new?filename=ImGuiScene_SimpleImGuiScene_PauseWhenUnfocused.md&amp;value=---%0Auid%3A%20ImGuiScene.SimpleImGuiScene.PauseWhenUnfocused%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goatcorp/ImGuiScene/blob/de1a512bc77eed279f9909a3a233068a51a57b21/ImGuiScene/SimpleImGuiScene.cs/#L83">View Source</a>
</span>
<a id="ImGuiScene_SimpleImGuiScene_PauseWhenUnfocused_" data-uid="ImGuiScene.SimpleImGuiScene.PauseWhenUnfocused*"></a>
<h4 id="ImGuiScene_SimpleImGuiScene_PauseWhenUnfocused" data-uid="ImGuiScene.SimpleImGuiScene.PauseWhenUnfocused">PauseWhenUnfocused</h4>
<div class="markdown level1 summary"><p>Whether rendering should be paused when the window is not active. Window events will still be processed.
This should help reduce processing when the overlay is not the focus, but obviously cannot be used
if you are rendering dynamic data.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public bool PauseWhenUnfocused { get; set; }</code></pre>
</div>
<h5 class="propertyValue">Property Value</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Boolean</span></td>
<td></td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goatcorp/ImGuiScene/new/de1a512bc77eed279f9909a3a233068a51a57b21/apiSpec/new?filename=ImGuiScene_SimpleImGuiScene_Renderer.md&amp;value=---%0Auid%3A%20ImGuiScene.SimpleImGuiScene.Renderer%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goatcorp/ImGuiScene/blob/de1a512bc77eed279f9909a3a233068a51a57b21/ImGuiScene/SimpleImGuiScene.cs/#L26">View Source</a>
</span>
<a id="ImGuiScene_SimpleImGuiScene_Renderer_" data-uid="ImGuiScene.SimpleImGuiScene.Renderer*"></a>
<h4 id="ImGuiScene_SimpleImGuiScene_Renderer" data-uid="ImGuiScene.SimpleImGuiScene.Renderer">Renderer</h4>
<div class="markdown level1 summary"><p>The renderer backend being used to render into this window.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public IRenderer Renderer { get; }</code></pre>
</div>
<h5 class="propertyValue">Property Value</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a class="xref" href="ImGuiScene.IRenderer.html">IRenderer</a></td>
<td></td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goatcorp/ImGuiScene/new/de1a512bc77eed279f9909a3a233068a51a57b21/apiSpec/new?filename=ImGuiScene_SimpleImGuiScene_ShouldQuit.md&amp;value=---%0Auid%3A%20ImGuiScene.SimpleImGuiScene.ShouldQuit%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goatcorp/ImGuiScene/blob/de1a512bc77eed279f9909a3a233068a51a57b21/ImGuiScene/SimpleImGuiScene.cs/#L31">View Source</a>
</span>
<a id="ImGuiScene_SimpleImGuiScene_ShouldQuit_" data-uid="ImGuiScene.SimpleImGuiScene.ShouldQuit*"></a>
<h4 id="ImGuiScene_SimpleImGuiScene_ShouldQuit" data-uid="ImGuiScene.SimpleImGuiScene.ShouldQuit">ShouldQuit</h4>
<div class="markdown level1 summary"><p>Whether the user application has requested the system to terminate.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public bool ShouldQuit { get; set; }</code></pre>
</div>
<h5 class="propertyValue">Property Value</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Boolean</span></td>
<td></td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goatcorp/ImGuiScene/new/de1a512bc77eed279f9909a3a233068a51a57b21/apiSpec/new?filename=ImGuiScene_SimpleImGuiScene_Window.md&amp;value=---%0Auid%3A%20ImGuiScene.SimpleImGuiScene.Window%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goatcorp/ImGuiScene/blob/de1a512bc77eed279f9909a3a233068a51a57b21/ImGuiScene/SimpleImGuiScene.cs/#L21">View Source</a>
</span>
<a id="ImGuiScene_SimpleImGuiScene_Window_" data-uid="ImGuiScene.SimpleImGuiScene.Window*"></a>
<h4 id="ImGuiScene_SimpleImGuiScene_Window" data-uid="ImGuiScene.SimpleImGuiScene.Window">Window</h4>
<div class="markdown level1 summary"><p>The main application container window where we do all our rendering and input processing.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public SimpleSDLWindow Window { get; }</code></pre>
</div>
<h5 class="propertyValue">Property Value</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a class="xref" href="ImGuiScene.SimpleSDLWindow.html">SimpleSDLWindow</a></td>
<td></td>
</tr>
</tbody>
</table>
<h3 id="methods">Methods
</h3>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goatcorp/ImGuiScene/new/de1a512bc77eed279f9909a3a233068a51a57b21/apiSpec/new?filename=ImGuiScene_SimpleImGuiScene_CreateOverlay_ImGuiScene_RendererFactory_RendererBackend_SDL2_SDL_SDL_Scancode_System_Single___System_Boolean_.md&amp;value=---%0Auid%3A%20ImGuiScene.SimpleImGuiScene.CreateOverlay(ImGuiScene.RendererFactory.RendererBackend%2CSDL2.SDL.SDL_Scancode%2CSystem.Single%5B%5D%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goatcorp/ImGuiScene/blob/de1a512bc77eed279f9909a3a233068a51a57b21/ImGuiScene/SimpleImGuiScene.cs/#L134">View Source</a>
</span>
<a id="ImGuiScene_SimpleImGuiScene_CreateOverlay_" data-uid="ImGuiScene.SimpleImGuiScene.CreateOverlay*"></a>
<h4 id="ImGuiScene_SimpleImGuiScene_CreateOverlay_ImGuiScene_RendererFactory_RendererBackend_SDL2_SDL_SDL_Scancode_System_Single___System_Boolean_" data-uid="ImGuiScene.SimpleImGuiScene.CreateOverlay(ImGuiScene.RendererFactory.RendererBackend,SDL2.SDL.SDL_Scancode,System.Single[],System.Boolean)">CreateOverlay(RendererFactory.RendererBackend, SDL.SDL_Scancode, Single[], Boolean)</h4>
<div class="markdown level1 summary"><p>Helper method to create a fullscreen transparent overlay that exits when pressing the specified key.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static SimpleImGuiScene CreateOverlay(RendererFactory.RendererBackend rendererBackend, SDL.SDL_Scancode closeOverlayKey = SDL.SDL_Scancode.SDL_SCANCODE_ESCAPE, float[] transparentColor = null, bool enableRenderDebugging = false)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a class="xref" href="ImGuiScene.RendererFactory.RendererBackend.html">RendererFactory.RendererBackend</a></td>
<td><span class="parametername">rendererBackend</span></td>
<td><p>Which rendering backend to use.</p>
</td>
</tr>
<tr>
<td><span class="xref">SDL2.SDL.SDL_Scancode</span></td>
<td><span class="parametername">closeOverlayKey</span></td>
<td><p>Which <span class="xref">SDL2.SDL.SDL_Scancode</span> to listen for in order to exit the scene. Defaults to <span class="xref">SDL2.SDL.SDL_Scancode.SDL_SCANCODE_ESCAPE</span>.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.Single</span>[]</td>
<td><span class="parametername">transparentColor</span></td>
<td><p>A float[4] representing the background window color that will be masked as transparent. Defaults to solid black.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.Boolean</span></td>
<td><span class="parametername">enableRenderDebugging</span></td>
<td><p>Whether to enable debugging of the renderer internals. This will likely greatly impact performance and is not usually recommended.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a class="xref" href="ImGuiScene.SimpleImGuiScene.html">SimpleImGuiScene</a></td>
<td></td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goatcorp/ImGuiScene/new/de1a512bc77eed279f9909a3a233068a51a57b21/apiSpec/new?filename=ImGuiScene_SimpleImGuiScene_Dispose.md&amp;value=---%0Auid%3A%20ImGuiScene.SimpleImGuiScene.Dispose%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goatcorp/ImGuiScene/blob/de1a512bc77eed279f9909a3a233068a51a57b21/ImGuiScene/SimpleImGuiScene.cs/#L397">View Source</a>
</span>
<a id="ImGuiScene_SimpleImGuiScene_Dispose_" data-uid="ImGuiScene.SimpleImGuiScene.Dispose*"></a>
<h4 id="ImGuiScene_SimpleImGuiScene_Dispose" data-uid="ImGuiScene.SimpleImGuiScene.Dispose">Dispose()</h4>
<div class="markdown level1 summary"></div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public void Dispose()</code></pre>
</div>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goatcorp/ImGuiScene/new/de1a512bc77eed279f9909a3a233068a51a57b21/apiSpec/new?filename=ImGuiScene_SimpleImGuiScene_Dispose_System_Boolean_.md&amp;value=---%0Auid%3A%20ImGuiScene.SimpleImGuiScene.Dispose(System.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goatcorp/ImGuiScene/blob/de1a512bc77eed279f9909a3a233068a51a57b21/ImGuiScene/SimpleImGuiScene.cs/#L360">View Source</a>
</span>
<a id="ImGuiScene_SimpleImGuiScene_Dispose_" data-uid="ImGuiScene.SimpleImGuiScene.Dispose*"></a>
<h4 id="ImGuiScene_SimpleImGuiScene_Dispose_System_Boolean_" data-uid="ImGuiScene.SimpleImGuiScene.Dispose(System.Boolean)">Dispose(Boolean)</h4>
<div class="markdown level1 summary"></div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">protected virtual void Dispose(bool disposing)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Boolean</span></td>
<td><span class="parametername">disposing</span></td>
<td></td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goatcorp/ImGuiScene/new/de1a512bc77eed279f9909a3a233068a51a57b21/apiSpec/new?filename=ImGuiScene_SimpleImGuiScene_Finalize.md&amp;value=---%0Auid%3A%20ImGuiScene.SimpleImGuiScene.Finalize%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goatcorp/ImGuiScene/blob/de1a512bc77eed279f9909a3a233068a51a57b21/ImGuiScene/SimpleImGuiScene.cs/#L392">View Source</a>
</span>
<a id="ImGuiScene_SimpleImGuiScene_Finalize_" data-uid="ImGuiScene.SimpleImGuiScene.Finalize*"></a>
<h4 id="ImGuiScene_SimpleImGuiScene_Finalize" data-uid="ImGuiScene.SimpleImGuiScene.Finalize">Finalize()</h4>
<div class="markdown level1 summary"></div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">protected void Finalize()</code></pre>
</div>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goatcorp/ImGuiScene/new/de1a512bc77eed279f9909a3a233068a51a57b21/apiSpec/new?filename=ImGuiScene_SimpleImGuiScene_LoadImage_System_Byte___.md&amp;value=---%0Auid%3A%20ImGuiScene.SimpleImGuiScene.LoadImage(System.Byte%5B%5D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goatcorp/ImGuiScene/blob/de1a512bc77eed279f9909a3a233068a51a57b21/ImGuiScene/SimpleImGuiScene.cs/#L204">View Source</a>
</span>
<a id="ImGuiScene_SimpleImGuiScene_LoadImage_" data-uid="ImGuiScene.SimpleImGuiScene.LoadImage*"></a>
<h4 id="ImGuiScene_SimpleImGuiScene_LoadImage_System_Byte___" data-uid="ImGuiScene.SimpleImGuiScene.LoadImage(System.Byte[])">LoadImage(Byte[])</h4>
<div class="markdown level1 summary"><p>Loads an image from a byte array of image data and creates the corresponding texture resource.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public TextureWrap LoadImage(byte[] imageBytes)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Byte</span>[]</td>
<td><span class="parametername">imageBytes</span></td>
<td><p>The raw image data</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a class="xref" href="ImGuiScene.TextureWrap.html">TextureWrap</a></td>
<td><p>A <a class="xref" href="ImGuiScene.TextureWrap.html">TextureWrap</a> associated with the loaded texture resource, containing a handle suitable for direct use in ImGui, or null on failure.</p>
</td>
</tr>
</tbody>
</table>
<h5 id="ImGuiScene_SimpleImGuiScene_LoadImage_System_Byte____remarks">Remarks</h5>
<div class="markdown level1 remarks"><p>Currently any textures created by this method are managed automatically and exist until this class object is Disposed.</p>
</div>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goatcorp/ImGuiScene/new/de1a512bc77eed279f9909a3a233068a51a57b21/apiSpec/new?filename=ImGuiScene_SimpleImGuiScene_LoadImage_System_String_.md&amp;value=---%0Auid%3A%20ImGuiScene.SimpleImGuiScene.LoadImage(System.String)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goatcorp/ImGuiScene/blob/de1a512bc77eed279f9909a3a233068a51a57b21/ImGuiScene/SimpleImGuiScene.cs/#L187">View Source</a>
</span>
<a id="ImGuiScene_SimpleImGuiScene_LoadImage_" data-uid="ImGuiScene.SimpleImGuiScene.LoadImage*"></a>
<h4 id="ImGuiScene_SimpleImGuiScene_LoadImage_System_String_" data-uid="ImGuiScene.SimpleImGuiScene.LoadImage(System.String)">LoadImage(String)</h4>
<div class="markdown level1 summary"><p>Loads an image from a file and creates the corresponding GPU texture.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public TextureWrap LoadImage(string path)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.String</span></td>
<td><span class="parametername">path</span></td>
<td><p>The filepath to the image</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a class="xref" href="ImGuiScene.TextureWrap.html">TextureWrap</a></td>
<td><p>A <a class="xref" href="ImGuiScene.TextureWrap.html">TextureWrap</a> associated with the loaded texture resource, containing a handle suitable for direct use in ImGui, or null on failure.</p>
</td>
</tr>
</tbody>
</table>
<h5 id="ImGuiScene_SimpleImGuiScene_LoadImage_System_String__remarks">Remarks</h5>
<div class="markdown level1 remarks"><p>Currently any textures created by this method are managed automatically and exist until this class object is Disposed.</p>
</div>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goatcorp/ImGuiScene/new/de1a512bc77eed279f9909a3a233068a51a57b21/apiSpec/new?filename=ImGuiScene_SimpleImGuiScene_LoadImageRaw_System_Byte___System_Int32_System_Int32_System_Int32_.md&amp;value=---%0Auid%3A%20ImGuiScene.SimpleImGuiScene.LoadImageRaw(System.Byte%5B%5D%2CSystem.Int32%2CSystem.Int32%2CSystem.Int32)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goatcorp/ImGuiScene/blob/de1a512bc77eed279f9909a3a233068a51a57b21/ImGuiScene/SimpleImGuiScene.cs/#L248">View Source</a>
</span>
<a id="ImGuiScene_SimpleImGuiScene_LoadImageRaw_" data-uid="ImGuiScene.SimpleImGuiScene.LoadImageRaw*"></a>
<h4 id="ImGuiScene_SimpleImGuiScene_LoadImageRaw_System_Byte___System_Int32_System_Int32_System_Int32_" data-uid="ImGuiScene.SimpleImGuiScene.LoadImageRaw(System.Byte[],System.Int32,System.Int32,System.Int32)">LoadImageRaw(Byte[], Int32, Int32, Int32)</h4>
<div class="markdown level1 summary"></div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public TextureWrap LoadImageRaw(byte[] imageData, int width, int height, int numChannels = 4)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Byte</span>[]</td>
<td><span class="parametername">imageData</span></td>
<td></td>
</tr>
<tr>
<td><span class="xref">System.Int32</span></td>
<td><span class="parametername">width</span></td>
<td></td>
</tr>
<tr>
<td><span class="xref">System.Int32</span></td>
<td><span class="parametername">height</span></td>
<td></td>
</tr>
<tr>
<td><span class="xref">System.Int32</span></td>
<td><span class="parametername">numChannels</span></td>
<td></td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a class="xref" href="ImGuiScene.TextureWrap.html">TextureWrap</a></td>
<td></td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goatcorp/ImGuiScene/new/de1a512bc77eed279f9909a3a233068a51a57b21/apiSpec/new?filename=ImGuiScene_SimpleImGuiScene_Run.md&amp;value=---%0Auid%3A%20ImGuiScene.SimpleImGuiScene.Run%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goatcorp/ImGuiScene/blob/de1a512bc77eed279f9909a3a233068a51a57b21/ImGuiScene/SimpleImGuiScene.cs/#L315">View Source</a>
</span>
<a id="ImGuiScene_SimpleImGuiScene_Run_" data-uid="ImGuiScene.SimpleImGuiScene.Run*"></a>
<h4 id="ImGuiScene_SimpleImGuiScene_Run" data-uid="ImGuiScene.SimpleImGuiScene.Run">Run()</h4>
<div class="markdown level1 summary"><p>Simple method to run the scene in a loop until the window is closed or the application
requests an exit (via <a class="xref" href="ImGuiScene.SimpleImGuiScene.html#ImGuiScene_SimpleImGuiScene_ShouldQuit">ShouldQuit</a>)</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public void Run()</code></pre>
</div>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goatcorp/ImGuiScene/new/de1a512bc77eed279f9909a3a233068a51a57b21/apiSpec/new?filename=ImGuiScene_SimpleImGuiScene_Update.md&amp;value=---%0Auid%3A%20ImGuiScene.SimpleImGuiScene.Update%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goatcorp/ImGuiScene/blob/de1a512bc77eed279f9909a3a233068a51a57b21/ImGuiScene/SimpleImGuiScene.cs/#L269">View Source</a>
</span>
<a id="ImGuiScene_SimpleImGuiScene_Update_" data-uid="ImGuiScene.SimpleImGuiScene.Update*"></a>
<h4 id="ImGuiScene_SimpleImGuiScene_Update" data-uid="ImGuiScene.SimpleImGuiScene.Update">Update()</h4>
<div class="markdown level1 summary"><p>Performs a single-frame update of ImGui and renders it to the window.
This method does not check any quit conditions.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public void Update()</code></pre>
</div>
<h3 id="implements">Implements</h3>
<div>
<span class="xref">System.IDisposable</span>
</div>
</article>
</div>
<div class="hidden-sm col-md-2" role="complementary">
<div class="sideaffix">
<div class="contribution">
<ul class="nav">
<li>
<a href="https://github.com/goatcorp/ImGuiScene/new/de1a512bc77eed279f9909a3a233068a51a57b21/apiSpec/new?filename=ImGuiScene_SimpleImGuiScene.md&amp;value=---%0Auid%3A%20ImGuiScene.SimpleImGuiScene%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A" class="contribution-link">Improve this Doc</a>
</li>
<li>
<a href="https://github.com/goatcorp/ImGuiScene/blob/de1a512bc77eed279f9909a3a233068a51a57b21/ImGuiScene/SimpleImGuiScene.cs/#L16" class="contribution-link">View Source</a>
</li>
</ul>
</div>
<nav class="bs-docs-sidebar hidden-print hidden-xs hidden-sm affix" id="affix">
<h5>In This Article</h5>
<div></div>
</nav>
</div>
</div>
</div>
</div>
<footer>
<div class="grad-bottom"></div>
<div class="footer">
<div class="container">
<span class="pull-right">
<a href="#top">Back to top</a>
</span>
<span>Generated by <strong>DocFX</strong></span>
</div>
</div>
</footer>
</div>
<script type="text/javascript" src="../styles/docfx.vendor.js"></script>
<script type="text/javascript" src="../styles/docfx.js"></script>
<script type="text/javascript" src="../styles/main.js"></script>
</body>
</html>