mirror of
https://github.com/MihailRis/voxelcore.git
synced 2026-10-07 12:01:50 +00:00
add gui.get_active_frame, set_active_frame & update cursor lock behavior
This commit is contained in:
parent
463098aa1e
commit
8468ab184d
11 changed files with 123 additions and 50 deletions
|
|
@ -68,7 +68,7 @@ namespace gui {
|
|||
Engine& engine;
|
||||
Input& input;
|
||||
std::unique_ptr<Batch2D> batch2D;
|
||||
std::shared_ptr<Container> container;
|
||||
std::shared_ptr<Frame> container;
|
||||
std::shared_ptr<UINode> hover;
|
||||
std::shared_ptr<UINode> pressed;
|
||||
std::shared_ptr<UINode> focus;
|
||||
|
|
@ -76,6 +76,7 @@ namespace gui {
|
|||
std::shared_ptr<UiDocument> rootDocument;
|
||||
std::unique_ptr<FontStylesScheme> syntaxColorScheme;
|
||||
std::unordered_map<std::string, std::shared_ptr<UINode>> storage;
|
||||
std::shared_ptr<Frame> activeFrame;
|
||||
|
||||
std::unique_ptr<Camera> uicamera;
|
||||
std::shared_ptr<Menu> menu;
|
||||
|
|
@ -89,11 +90,12 @@ namespace gui {
|
|||
bool doubleClicked = false;
|
||||
bool debug = false;
|
||||
|
||||
void actMouse(float delta, const CursorState& cursor);
|
||||
void actMouse(Frame& frame, float delta, const CursorState& cursor);
|
||||
void actFocused();
|
||||
void updateTooltip(float delta);
|
||||
void resetTooltip();
|
||||
public:
|
||||
static inline std::string CORE_MAIN = "core:main";
|
||||
static constexpr int CONTEXT_MENU_ZINDEX = 999;
|
||||
|
||||
GUI(Engine& engine);
|
||||
|
|
@ -114,12 +116,10 @@ namespace gui {
|
|||
/// @param viewport window size
|
||||
void act(float delta, const glm::uvec2& viewport);
|
||||
|
||||
void renderFrames(const DrawContext& pctx, Assets& assets);
|
||||
|
||||
/// @brief Draw all visible elements on main container
|
||||
/// @param pctx parent graphics context
|
||||
/// @param assets active assets storage
|
||||
void draw(const DrawContext& pctx, const Assets& assets);
|
||||
void draw(const DrawContext& pctx, Assets& assets);
|
||||
|
||||
void postAct();
|
||||
|
||||
|
|
@ -129,6 +129,10 @@ namespace gui {
|
|||
|
||||
void addFrame(std::shared_ptr<Frame> frame);
|
||||
|
||||
void setActiveFrame(const std::string& id);
|
||||
|
||||
std::shared_ptr<Frame> getActiveFrame() const;
|
||||
|
||||
/// @brief Remove node from the main container
|
||||
void remove(UINode* node) noexcept;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue