lazy stroke preview rendering

This commit is contained in:
2019-04-23 12:17:46 +02:00
parent 042ad503d2
commit b4a9061cc4
7 changed files with 71 additions and 34 deletions

View File

@@ -26,6 +26,7 @@ class NodeStrokePreview : public NodeBorder
static DynamicShape m_brush_shape;
Texture2D m_tex_preview;
public:
using parent = NodeBorder;
static std::atomic_int s_instances;
static std::atomic_bool s_running;
static std::thread s_renderer;
@@ -33,11 +34,8 @@ public:
static void terminate_renderer();
static void empty_queue();
std::shared_ptr<Brush> m_brush;
std::shared_ptr<Brush> m_dual_brush;
bool m_draw_first = false;
Stroke m_stroke;
Stroke m_dual_stroke;
std::vector<glm::vec2> m_bez_points;
glm::vec2 m_preview_size = { 0, 0 };
float m_min_flow = 0.f;
float m_max_size = 0.f;
float m_pad_override = NAN;
@@ -57,4 +55,5 @@ public:
virtual void draw() override;
virtual void handle_resize(glm::vec2 old_size, glm::vec2 new_size) override;
virtual void destroy_immediate() override;
virtual void handle_on_screen(bool old_visibility, bool new_visibility) override;
};