Blamite Game Engine - blam!  00272.10.26.20.0001.blamite
The core library for the Blamite Game Engine.
dx11_window.hpp
Go to the documentation of this file.
1 #pragma once
2 
3 #include "../../debug_ui.h"
4 
6 {
14  {
15  private:
16  bool show_another_window = false;
17  bool show_test_window = false;
18 
19  public:
24 
29 
36  {
37  return &show_test_window;
38  }
39 
43  void Draw()
44  {
46  // Begin Built-in ImGui testing windows //
48 
49  //Show a simple window
50  // Tip: if we don't call ImGui::Begin()/ImGui::End() the widgets appears in a window automatically called "Debug"
51  if (show)
52  {
53  static float f = 0.0f;
54  ImGui::Text("Hello, world!");
55  ImGui::SliderFloat("float", &f, 0.0f, 1.0f);
56 
58  {
59  ImGui::ColorEdit3("clear color", (float*)BlamRendering::DirectX::GetClearColor());
60  }
61  else
62  {
65 
66  ImGui::ColorEdit3("clear color", (float*)&clear_col_imgui);
67 
68  BlamColor new_clear_color = BlamColor(clear_col_imgui.x * 255.0f, clear_col_imgui.y * 255.0f, clear_col_imgui.z * 255.0f, clear_col_imgui.w * 255.0f);
69 
70  Blam::Globals::UpdateGlobal("clear_col", new_clear_color);
71  }
72 
73  if (ImGui::Button("Test Window")) show_test_window ^= 1;
74  if (ImGui::Button("Render Clearing")) *BlamRendering::DirectX::RenderTargetClearing() ^= 1;
75  if (ImGui::Checkbox("Read-only", BlamRendering::DirectX::RenderTargetClearing()));
76  if (ImGui::Button("Another Window")) show_another_window ^= 1;
77  if (ImGui::Button("Menu Bar")) *duigvs(devtools_bar) ^= 1;
78  /*if (ImGui::Button("Render Clearing")) enable_render_target_clear ^= 1;*/
79  ImGui::Text("Application average %.3f ms/frame (%.1f FPS)", 1000.0f / ImGui::GetIO().Framerate, ImGui::GetIO().Framerate);
80  }
81 
82  //Show another simple window, this time using an explicit Begin/End pair
83  if (show_another_window)
84  {
85  ImGui::SetNextWindowSize(ImVec2(200, 100)/*, ImGuiSetCond_FirstUseEver*/);
86  ImGui::Begin("Another Window", &show_another_window);
87  ImGui::Text("Hello");
88  ImGui::End();
89  }
90 
91  //Show the ImGui test window. Most of the sample code is in ImGui::ShowTestWindow()
92  if (show_test_window)
93  {
94  //ImGui::SetNextWindowPos(ImVec2(650, 20)/*, ImGuiSetCond_FirstUseEver*/); // Normally user code doesn't need/want to call it because positions are saved in .ini file anyway. Here we just want to make the demo initial state a bit more friendly!
95  //ImGui::ShowTestWindow(&show_test_window);
96  ImGui::ShowDemoWindow(&show_test_window);
97  }
98 
100  // END Built-in ImGui testing windows //
102  }
103  };
104 }
BlamRendering::DirectX::GetClearColor
BLAM ImVec4 * GetClearColor()
Retrieves the current color used to clear the render target.
Definition: render_manage.cpp:613
Blam::DebugUI::Windows::DirectX11Window::ShowTestWindow
bool * ShowTestWindow()
Retrieves whether or not the window should be drawn.
Definition: dx11_window.hpp:35
BlamRendering::GetCurrentRenderingEngine
BLAM BlamRenderingEngine GetCurrentRenderingEngine()
Retrieves the current rendering engine being used.
Definition: rendering_abstraction.cpp:81
Blam::DebugUI::Windows::DirectX11Window
Class for the default ImGUI DX11 sample window.
Definition: dx11_window.hpp:13
clear_color
BlamColor * clear_color
Definition: opengl.cpp:17
Blam::DebugUI::devtools_bar
@ devtools_bar
Definition: debug_ui.h:363
Blam::Globals::GetGlobalAsColor
BLAM BlamColor * GetGlobalAsColor(std::string name)
Retrieves a global's value as a BlamColor.
Definition: globals.cpp:411
Blam::DebugUI::ImGUIDrawingGroup::show
bool show
Controls whether or not the group should be shown. May not be used in all groups.
Definition: debug_ui.h:442
Blam::DebugUI::Windows::DirectX11Window::Draw
void Draw()
Draws the window, as well as the demo window and the "Another Window" if they are enabled.
Definition: dx11_window.hpp:43
Blam::DebugUI::ImGUIDrawingGroup
Class representing an ImGUI drawing group/draw list item.
Definition: debug_ui.h:409
BlamColor::GetBlueAsFloat
float GetBlueAsFloat()
Gets the color's red value as a float, between 0 and 1.
Definition: globals.h:87
Blam::DebugUI::Windows::DirectX11Window::DirectX11Window
DirectX11Window()
Unused constructor.
Definition: dx11_window.hpp:23
DirectX11
@ DirectX11
Definition: rendering.h:26
BlamColor::GetRedAsFloat
float GetRedAsFloat()
Gets the color's red value as a float, between 0 and 1.
Definition: globals.h:67
BlamColor::GetGreenAsFloat
float GetGreenAsFloat()
Gets the color's red value as a float, between 0 and 1.
Definition: globals.h:77
Blam::DebugUI::Windows
Legacy namespace to contain data for the legacy ImGUI console.
Definition: debug_ui.h:494
BlamColor::GetAlphaAsFloat
float GetAlphaAsFloat()
Gets the color's red value as a float, between 0 and 1.
Definition: globals.h:97
Text
@ Text
Master text object that wraps around both BitmapText and DWText.
Definition: render_stack.h:73
BlamColor
Structure representing a color.
Definition: globals.h:20
Blam::DebugUI::Windows::DirectX11Window::~DirectX11Window
~DirectX11Window()
Unused destructor.
Definition: dx11_window.hpp:28
BlamRendering::DirectX::RenderTargetClearing
BLAM bool * RenderTargetClearing()
Retrieves whether or not to enable render target clearing.
Definition: render_manage.cpp:608
duigvs
#define duigvs(x)
Macro for Blam::DebugUI::GetVisibility().
Definition: debug_ui.h:20
Blam::Globals::UpdateGlobal
BLAM GvarUpdateResult UpdateGlobal(std::string name, std::string new_value)
Updates the value of a String global.
Definition: globals.cpp:570