Add brush stroke control boundary
This commit is contained in:
@@ -9,6 +9,13 @@
|
||||
#include "node_image.h"
|
||||
#include "node_panel_brush.h"
|
||||
|
||||
namespace pp::app {
|
||||
struct BrushStrokeControlPlan;
|
||||
enum class BrushStrokeBoolSetting;
|
||||
enum class BrushStrokeFloatSetting;
|
||||
enum class BrushStrokeBlendSetting;
|
||||
} // namespace pp::app
|
||||
|
||||
class NodePanelStroke : public Node
|
||||
{
|
||||
public:
|
||||
@@ -103,6 +110,7 @@ public:
|
||||
inline float to_slider(float v) { return m_inv(v); }
|
||||
};
|
||||
std::map<NodeSliderH*, SliderCurve> m_curves;
|
||||
int m_default_brush_index = 0;
|
||||
|
||||
virtual Node* clone_instantiate() const override;
|
||||
virtual void clone_finalize(Node* dest) const override;
|
||||
@@ -116,9 +124,10 @@ public:
|
||||
void set_size(float value, bool normalized, bool propagate);
|
||||
|
||||
void init_fold(const std::string& name);
|
||||
void init_slider(NodeSliderH*& slider, const char* id, float Brush::* prop);
|
||||
void handle_slide(float Brush::* prop, Node* target, float value);
|
||||
void init_slider(NodeSliderH*& slider, const char* id, pp::app::BrushStrokeFloatSetting setting, float Brush::* prop);
|
||||
void handle_slide(pp::app::BrushStrokeFloatSetting setting, float Brush::* prop, Node* target, float value);
|
||||
|
||||
void init_checkbox(NodeCheckBox*& slider, const char* id, bool Brush::* prop);
|
||||
void handle_checkbox(bool Brush::* prop, Node* target, bool value);
|
||||
void init_checkbox(NodeCheckBox*& slider, const char* id, pp::app::BrushStrokeBoolSetting setting, bool Brush::* prop);
|
||||
void handle_checkbox(pp::app::BrushStrokeBoolSetting setting, bool value);
|
||||
void execute_stroke_control_plan(const pp::app::BrushStrokeControlPlan& plan);
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user