#pragma once #include "node.h" #include "node_stroke_preview.h" #include "node_slider.h" #include "brush.h" class NodePanelStroke : public Node { public: NodeStrokePreview* m_canvas; NodeSliderH* m_tip_size; NodeSliderH* m_tip_spacing; NodeSliderH* m_tip_flow; NodeSliderH* m_tip_opacity; NodeSliderH* m_tip_angle; NodeSliderH* m_jitter_scale; NodeSliderH* m_jitter_angle; NodeSliderH* m_jitter_spread; NodeSliderH* m_jitter_flow; std::function on_stroke_change; virtual Node* clone_instantiate() const override; virtual void clone_finalize(Node* dest) const override; virtual void init() override; void init_controls(); void init_slider(NodeSliderH*& slider, const char* id, float ui::Brush::* prop); void handle_slide(float ui::Brush::* prop, Node* target, float value); };