25 lines
798 B
C++
25 lines
798 B
C++
#pragma once
|
|
#include "node_border.h"
|
|
#include "node_button.h"
|
|
|
|
class NodePanelFloating : public NodeBorder
|
|
{
|
|
enum class kDragAction : uint8_t { Move, Resize, Reheight } m_action;
|
|
bool m_dragging = false;
|
|
glm::vec2 m_drag_start_pos;
|
|
glm::vec2 m_drag_start_cur;
|
|
NodeButton* m_button_minimize;
|
|
NodeButton* m_button_close;
|
|
NodeBorder* m_outline;
|
|
public:
|
|
Node* m_container;
|
|
using this_class = NodePanelFloating;
|
|
using parent = NodeBorder;
|
|
virtual Node* clone_instantiate() const override;
|
|
virtual void clone_finalize(Node* dest) const override;
|
|
virtual kEventResult handle_event(Event* e) override;
|
|
virtual void handle_parent_resize(glm::vec2 old_size, glm::vec2 new_size) override;
|
|
virtual void init() override;
|
|
void init_controls();
|
|
};
|