Nebula
Loading...
Searching...
No Matches
imguicontext.h
Go to the documentation of this file.
1#pragma once
2//------------------------------------------------------------------------------
11//------------------------------------------------------------------------------
13#include "coregraphics/buffer.h"
15#include "input/inputevent.h"
19#include "imguiinputhandler.h"
21#include "frame/framecode.h"
22
23#define IMGUI_DEFINE_MATH_OPERATORS
24#include "imgui.h"
25
26struct ImDrawData;
27struct ImFont;
28struct ImVec2;
29namespace Dynui
30{
31
33{
35 uint layer : 8 = 0;
36 uint mip : 4 = 0;
37 uint useAlpha : 1 = 0;
38 uint useRange : 1 = 0;
40 uint red : 1 = 1;
41 uint green : 1 = 1;
42 uint blue : 1 = 1;
43 uint alpha : 1 = 1;
44 uint splat : 1 = 0;
45};
46
47extern ImFont* ImguiNormalFont;
48extern ImFont* ImguiSmallFont;
49extern ImFont* ImguiBoldFont;
50extern ImFont* ImguiItFont;
51
53{
55public:
59 virtual ~ImguiContext();
60
62 static void Create();
64 static void Discard();
65
67 static void SetRectSize(SizeT width, SizeT height);
68
70 static bool HandleInput(const Input::InputEvent& event);
72 static void ResetKeyDownState();
73
75 static void OnViewportResized(const uint framescriptHash, SizeT width, SizeT height);
77 static void NewFrame(const Graphics::FrameContext& ctx);
78
80 static void EndFrame(const Graphics::FrameContext& ctx);
81
82private:
83 static void RecoverImGuiContextErrors();
84};
85
87void ImGuiCloseButton(bool& toggle, int id);
88
89} // namespace Dynui
static void ResetKeyDownState()
reset key events
Definition imguicontext.cc:1112
static void EndFrame(const Graphics::FrameContext &ctx)
called after frame
Definition imguicontext.cc:1160
static void Create()
Create context.
Definition imguicontext.cc:417
virtual ~ImguiContext()
destructor
Definition imguicontext.cc:395
static void OnViewportResized(const uint framescriptHash, SizeT width, SizeT height)
called if the window size has changed
Definition imguicontext.cc:1127
static void SetRectSize(SizeT width, SizeT height)
set the screen dimensions to use when rendering the UI (all vertices will be mapped to these values)
ImguiContext()
constructor
Definition imguicontext.cc:387
static bool HandleInput(const Input::InputEvent &event)
handle event
Definition imguicontext.cc:1063
static void Discard()
Discard context.
Definition imguicontext.cc:882
static void RecoverImGuiContextErrors()
Definition imguicontext.cc:311
Definition graphicscontext.h:175
The input events of the Input subsystems.
Definition inputevent.h:24
void NewFrame()
Progress to next frame.
Definition vkgraphicsdevice.cc:2455
Imgui Profiler UI.
Definition imguiconsole.cc:277
ImFont * ImguiItFont
Definition imguicontext.cc:84
ImFont * ImguiNormalFont
Definition imguicontext.cc:81
void ImGuiCloseButton(bool &toggle, int id)
Helper function to recreate the ImGUI close button used for windows and tabs.
Definition imguicontext.cc:1171
ImFont * ImguiSmallFont
Definition imguicontext.cc:82
ImFont * ImguiBoldFont
Definition imguicontext.cc:83
A resource table declares a list of resources (ResourceTable in DX12, DescriptorSet in Vulkan).
texture type
Definition texture.h:25
Definition imguicontext.h:33
CoreGraphics::TextureId nebulaHandle
Definition imguicontext.h:34
uint useRange
Definition imguicontext.h:38
uint green
Definition imguicontext.h:41
uint mip
Definition imguicontext.h:36
uint alpha
Definition imguicontext.h:43
float rangeMin
Definition imguicontext.h:39
uint blue
Definition imguicontext.h:42
uint useAlpha
Definition imguicontext.h:37
uint layer
Definition imguicontext.h:35
uint splat
Definition imguicontext.h:44
float rangeMax
Definition imguicontext.h:39
uint red
Definition imguicontext.h:40
Definition graphicsserver.h:31
int SizeT
Definition types.h:42
unsigned int uint
Definition types.h:33