Files
panopainter/src/node_panel_floating.h
2019-03-29 09:32:35 +01:00

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();
};