 |
Blamite Game Engine - blam!
00398.09.22.23.2015.blamite
The core library for the Blamite Game Engine.
|
Go to the documentation of this file.
3 #include "../../debug_ui.h"
9 #include <Strings/components/classes/events/game_engine_events/LogMessage/LogMessage.h>
10 #include <Strings/components/classes/events/game_engine_events/KeyPress/KeyPressEvent.h>
11 #include <Strings/components/classes/events/events.h>
24 std::string input_buffer =
"";
25 std::vector<BlamLogMessage> history;
28 bool needs_scroll =
false;
29 bool needs_reclaim_focus =
false;
41 Subscribe(BlamEventType::LogMessage);
42 Subscribe(BlamEventType::KeyPress);
43 BlamStrings::Events::RegisterListener(
this,
"imgui_console");
48 BlamStrings::Events::UnregisterListener(
this);
53 history.push_back(event->GetLogMessage());
64 needs_reclaim_focus =
true;
81 for (
int i = 0; i < history.size(); i++)
83 BlamColor
color = history.at(i).color;
86 ImGui::PushID(std::string(
"console_item_" + std::to_string(i)).c_str());
108 if (needs_reclaim_focus)
111 needs_reclaim_focus =
false;
void Draw()
Draws the contents of the group.
Definition: console.hpp:69
void OnKeyPressEvent(KeyPressEvent *event)
Definition: console.hpp:57
IMGUI_API void SetScrollHereY(float center_y_ratio=0.5f)
Definition: imgui.cpp:7349
IMGUI_API bool InputText(const char *label, char *buf, size_t buf_size, ImGuiInputTextFlags flags=0, ImGuiInputTextCallback callback=NULL, void *user_data=NULL)
Definition: imgui_widgets.cpp:3068
IMGUI_API void SetItemDefaultFocus()
Definition: imgui.cpp:6966
BLAM float * GetGlobalAsFloat(std::string name)
Retrieves a global's value as a float.
Definition: globals.cpp:407
IMGUI_API void End()
Definition: imgui.cpp:6016
IMGUI_API float GetWindowContentRegionWidth()
Definition: imgui.cpp:6831
IMGUI_API void SameLine(float offset_from_start_x=0.0f, float spacing=-1.0f)
Definition: imgui.cpp:7147
~ImGuiConsole()
Definition: console.hpp:46
@ SDLK_RETURN
Definition: SdlEmulationLayer.h:385
IMGUI_API void SetKeyboardFocusHere(int offset=0)
Definition: imgui.cpp:6956
IMGUI_API bool Begin(const char *name, bool *p_open=NULL, ImGuiWindowFlags flags=0)
Definition: imgui.cpp:5397
@ ImGuiWindowFlags_AlwaysVerticalScrollbar
Definition: imgui.h:728
BLAM HRESULT RunCommandLine(std::string command_line)
Executed the provided string as a console command.
Definition: console.cpp:271
IMGUI_API void Text(const char *fmt,...) IM_FMTARGS(1)
Definition: imgui_widgets.cpp:238
IMGUI_API bool IsItemActive()
Definition: imgui.cpp:4578
bool show
Controls whether or not the group should be shown. May not be used in all groups.
Definition: debug_ui.h:362
Class for the ImGUI console implementation.
Definition: console.hpp:21
IMGUI_API bool BeginChildFrame(ImGuiID id, const ImVec2 &size, ImGuiWindowFlags flags=0)
Definition: imgui.cpp:4804
Class representing an ImGUI drawing group/draw list item.
Definition: debug_ui.h:359
@ ImGuiWindowFlags_HorizontalScrollbar
Definition: imgui.h:725
IMGUI_API void PopID()
Definition: imgui.cpp:7026
unsigned int ImGuiID
Definition: imgui.h:130
ImGuiConsole()
Definition: console.hpp:39
#define ENGINE_TEXT(string_id)
Definition: engine_text.h:7
IMGUI_API float GetWindowHeight()
Definition: imgui.cpp:6586
IMGUI_API void Separator()
Definition: imgui_widgets.cpp:1284
Legacy namespace to contain data for the legacy ImGUI console.
Definition: ui.h:26
IMGUI_API void EndChildFrame()
Definition: imgui.cpp:4818
IMGUI_API void TextColored(const ImVec4 &col, const char *fmt,...) IM_FMTARGS(2)
Definition: imgui_widgets.cpp:257
IMGUI_API void PushID(const char *str_id)
Definition: imgui.cpp:6995
void OnLogMessageEvent(LogMessageEvent *event)
Definition: console.hpp:51
IMGUI_API bool Button(const char *label, const ImVec2 &size=ImVec2(0, 0))
Definition: imgui_widgets.cpp:644