23 lines
751 B
C++
23 lines
751 B
C++
#pragma once
|
|
#include "node_border.h"
|
|
|
|
class NodeScroll : public NodeBorder
|
|
{
|
|
bool m_dragging = false;
|
|
float m_scroll_dir = 1.f;
|
|
glm::vec2 m_drag_start = glm::vec2(0);
|
|
glm::vec2 m_offset_start = glm::vec2(0);
|
|
glm::vec2 m_offset = glm::vec2(0);
|
|
glm::vec2 m_mask = glm::vec2(1, 0);
|
|
glm::vec4 m_scrollbar_color = { .3, .3, .3, 1 };
|
|
public:
|
|
NodeScroll();
|
|
virtual Node* clone_instantiate() const override;
|
|
virtual void clone_copy(Node* dest) const override;
|
|
virtual kEventResult handle_event(Event* e) override;
|
|
virtual void draw() override;
|
|
virtual void on_tick(float dt) override;
|
|
virtual void parse_attributes(kAttribute ka, const tinyxml2::XMLAttribute* attr) override;
|
|
void fix_scroll();
|
|
};
|