#pragma once #include "node.h" #include "canvas.h" class NodeCanvas : public Node { public: std::unique_ptr m_canvas; Sampler m_sampler; Sampler m_sampler_linear; Sampler m_sampler_stencil; ui::Plane m_face_plane; ui::LineSegment m_line; ui::Plane m_grid; int m_grid_divs = 30; virtual Node* clone_instantiate() const override; virtual void init() override; virtual void restore_context() override; virtual void clear_context() override; virtual void draw() override; virtual void handle_resize(glm::vec2 old_size, glm::vec2 new_size) override; virtual kEventResult handle_event(Event* e) override; void reset_camera(); };