4#include "../arcdps_structs.h"
5#include "../arcdps_structs_slim.h"
8#include <imgui/imgui.h>
9#include <imgui/imgui_internal.h>
39 virtual void Draw(ImGuiWindowFlags imGuiWindowFlags = 0,
MainWindowFlags mainWindowFlags = 0);
69 requires std::is_base_of_v<ComponentBase, T>
71 mComponents.emplace_back(
new T(
this));
130 virtual std::optional<std::string>&
getTitle() = 0;
195 bool mPaddingActive =
false;
196 float mMaxHeightCursorPos = 0.f;
197 std::string mAppearAsInOptionTextBuffer;
198 std::string mTitleBuffer;
200 std::vector<PreDrawHookFunction> mPreDrawHooks;
201 std::vector<ContextMenuHookFunction> mContextMenuHooks;
202 std::vector<DrawContentHookFunction> mDrawContentHooks;
203 std::vector<InitHookFunction> mInitHooks;
204 std::vector<DrawStyleSubMenuHookFunction> mDrawStyleSubMenuHooks;
206 std::vector<std::unique_ptr<ComponentBase>> mComponents;
SizingPolicy
Definition arcdps_structs.h:90
gwlanguage
Definition arcdps_structs_slim.h:162
@ GWL_ENG
Definition arcdps_structs_slim.h:163
Definition MainWindow.h:23
std::function< void()> DrawStyleSubMenuHookFunction
Definition MainWindow.h:86
void CreateComponent()
Definition MainWindow.h:70
virtual bool getMaxHeightActive()
Definition MainWindow.h:170
virtual void Draw(ImGuiWindowFlags imGuiWindowFlags=0, MainWindowFlags mainWindowFlags=0)
Definition MainWindow.cpp:24
void RegisterPreDrawHook(PreDrawHookFunction pFun)
Definition MainWindow.cpp:155
void RegisterContentHook(DrawContentHookFunction pFun)
Definition MainWindow.cpp:163
virtual std::string_view getAppearAsInOptionDefault()=0
MainWindow & operator=(MainWindow &&other) noexcept=delete
virtual bool KeyBindPressed()
Definition MainWindow.cpp:230
virtual void DrawContent()=0
MainWindow & operator=(const MainWindow &other)=delete
ImGuiWindow * GetInnerWindow()
Definition MainWindow.cpp:151
float GetMaxCursorPos()
Definition MainWindow.cpp:175
virtual gwlanguage getCurrentLanguage()
Definition MainWindow.h:177
virtual bool & GetShowScrollbar()=0
void RegisterInitHook(InitHookFunction pFun)
Definition MainWindow.cpp:167
virtual std::optional< ImVec2 > & getPadding()=0
MainWindow(const MainWindow &other)=delete
MainWindow(MainWindow &&other) noexcept=delete
virtual bool & getShowBackground()=0
virtual void SetMaxHeightCursorPos(float pNewCursorPos=ImGui::GetCursorPosY())
Definition MainWindow.cpp:147
virtual SizingPolicy & getSizingPolicy()=0
virtual std::string_view getWindowID()=0
virtual void DrawStyleSettingsSubMenu()
Definition MainWindow.cpp:179
std::function< void()> InitHookFunction
Definition MainWindow.h:83
virtual void DrawSizingPolicySubSettings(SizingPolicy sizingPolicy)
Definition MainWindow.h:117
virtual std::optional< std::string > & getAppearAsInOption()=0
ImGuiWindow * mThisWindow
Definition MainWindow.h:99
virtual void DrawContextMenu()=0
virtual bool & getShowTitleBar()=0
void DrawOptionCheckbox()
Definition MainWindow.cpp:138
std::function< void()> ContextMenuHookFunction
Definition MainWindow.h:77
void RegisterDrawStyleSubMenuHook(DrawStyleSubMenuHookFunction pFun)
Definition MainWindow.cpp:171
virtual std::optional< std::string > & getTitle()=0
virtual bool & GetOpenVar()=0
std::function< void()> DrawContentHookFunction
Definition MainWindow.h:80
void RegisterContextMenuHook(ContextMenuHookFunction pFun)
Definition MainWindow.cpp:159
virtual std::string_view getTitleDefault()=0
virtual void Init()
Definition MainWindow.cpp:132
std::function< void(ImGuiWindowFlags &)> PreDrawHookFunction
Definition MainWindow.h:74
virtual ~MainWindow()
Definition MainWindow.cpp:20
Definition ArcdpsExtension.h:10
MainWindowFlags_
Definition MainWindow.h:17
@ MainWindowFlags_None
Definition MainWindow.h:18
@ MainWindowFlags_NoStyleMenu
Definition MainWindow.h:19
int MainWindowFlags
Definition MainWindow.h:21