5#include "../arcdps_structs.h"
8#include <imgui/imgui.h>
9#include <imgui/imgui_internal.h>
38 virtual void Draw(ImGuiWindowFlags imGuiWindowFlags = 0,
MainWindowFlags mainWindowFlags = 0);
68 requires std::is_base_of_v<ComponentBase, T>
70 mComponents.emplace_back(
new T(
this));
129 virtual std::optional<std::string>&
getTitle() = 0;
194 bool mPaddingActive =
false;
195 float mPaddingBuffer[2]{};
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:22
std::function< void()> DrawStyleSubMenuHookFunction
Definition MainWindow.h:85
void CreateComponent()
Definition MainWindow.h:69
virtual bool getMaxHeightActive()
Definition MainWindow.h:169
virtual void Draw(ImGuiWindowFlags imGuiWindowFlags=0, MainWindowFlags mainWindowFlags=0)
Definition MainWindow.cpp:14
void RegisterPreDrawHook(PreDrawHookFunction pFun)
Definition MainWindow.cpp:144
void RegisterContentHook(DrawContentHookFunction pFun)
Definition MainWindow.cpp:152
MainWindow & operator=(MainWindow &&other) noexcept=delete
virtual const std::string & getAppearAsInOptionDefault()=0
virtual bool KeyBindPressed()
Definition MainWindow.cpp:243
virtual void DrawContent()=0
MainWindow & operator=(const MainWindow &other)=delete
ImGuiWindow * GetInnerWindow()
Definition MainWindow.cpp:140
float GetMaxCursorPos()
Definition MainWindow.cpp:164
virtual gwlanguage getCurrentLanguage()
Definition MainWindow.h:176
virtual bool & GetShowScrollbar()=0
void RegisterInitHook(InitHookFunction pFun)
Definition MainWindow.cpp:156
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:136
virtual SizingPolicy & getSizingPolicy()=0
virtual void DrawStyleSettingsSubMenu()
Definition MainWindow.cpp:168
std::function< void()> InitHookFunction
Definition MainWindow.h:82
virtual void DrawSizingPolicySubSettings(SizingPolicy sizingPolicy)
Definition MainWindow.h:116
virtual std::optional< std::string > & getAppearAsInOption()=0
ImGuiWindow * mThisWindow
Definition MainWindow.h:98
virtual void DrawContextMenu()=0
virtual bool & getShowTitleBar()=0
void DrawOptionCheckbox()
Definition MainWindow.cpp:130
std::function< void()> ContextMenuHookFunction
Definition MainWindow.h:76
void RegisterDrawStyleSubMenuHook(DrawStyleSubMenuHookFunction pFun)
Definition MainWindow.cpp:160
virtual std::optional< std::string > & getTitle()=0
virtual bool & GetOpenVar()=0
std::function< void()> DrawContentHookFunction
Definition MainWindow.h:79
void RegisterContextMenuHook(ContextMenuHookFunction pFun)
Definition MainWindow.cpp:148
virtual const std::string & getTitleDefault()=0
virtual void Init()
Definition MainWindow.cpp:124
std::function< void(ImGuiWindowFlags &)> PreDrawHookFunction
Definition MainWindow.h:73
virtual const std::string & getWindowID()=0
virtual ~MainWindow()
Definition MainWindow.cpp:10
Definition ArcdpsExtension.h:10
MainWindowFlags_
Definition MainWindow.h:16
@ MainWindowFlags_None
Definition MainWindow.h:17
@ MainWindowFlags_NoStyleMenu
Definition MainWindow.h:18
int MainWindowFlags
Definition MainWindow.h:20