ArcdpsExtension
 
Loading...
Searching...
No Matches
PositioningComponent.h
Go to the documentation of this file.
1#pragma once
2
3#include "../arcdps_structs.h"
4#include "ComponentBase.h"
5#include "MainWindow.h"
6
7#include <imgui/imgui.h>
8#include <imgui/imgui_internal.h>
9#include <vector>
10
11namespace ArcdpsExtension {
13 public:
14 explicit PositioningComponent(MainWindow* pMainWindow);
15
16 void PreDrawHookFunction(ImGuiWindowFlags& pFlags);
17
21 void Reposition();
22 ~PositioningComponent() override;
23
24 protected:
25 virtual Position& getPositionMode() = 0;
27 virtual ImVec2& getCornerVector() = 0;
30 virtual ImGuiID& getFromWindowId() = 0;
31
36 virtual void DrawPositionSettingsSubMenu();
37 };
38
40 public:
44 static void InstallHooks(ImGuiContext* imGuiContext);
45
50 static inline std::vector<PositioningComponent*> POSITIONING_COMPONENTS;
51
56 static inline std::vector<ImGuiID> ANCHORING_HIGHLIGHTED_WINDOWS;
57
58 private:
62 static void PostNewFrame(ImGuiContext* pImguiContext, ImGuiContextHook*);
63 static void PreEndFrame(ImGuiContext* pImguiContext, ImGuiContextHook*);
64 };
65} // namespace ArcdpsExtension
CornerPosition
Definition arcdps_structs.h:81
Position
Definition arcdps_structs.h:73
Definition ComponentBase.h:6
Definition MainWindow.h:23
Definition PositioningComponent.h:39
static std::vector< ImGuiID > ANCHORING_HIGHLIGHTED_WINDOWS
Definition PositioningComponent.h:56
static std::vector< PositioningComponent * > POSITIONING_COMPONENTS
Definition PositioningComponent.h:50
static void InstallHooks(ImGuiContext *imGuiContext)
Definition PositioningComponent.cpp:168
Definition PositioningComponent.h:12
~PositioningComponent() override
Definition PositioningComponent.cpp:161
virtual CornerPosition & getCornerPosition()=0
virtual ImGuiID & getFromWindowId()=0
virtual Position & getPositionMode()=0
virtual CornerPosition & getSelfPanelCorner()=0
virtual void DrawPositionSettingsSubMenu()
Definition PositioningComponent.cpp:36
void Reposition()
Definition PositioningComponent.cpp:146
virtual ImVec2 & getCornerVector()=0
virtual CornerPosition & getAnchorPanelCorner()=0
void PreDrawHookFunction(ImGuiWindowFlags &pFlags)
Definition PositioningComponent.cpp:30
Definition ArcdpsExtension.h:10