Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicholas Bishop <nicholasbishop@gmail.com>2012-01-15 03:54:51 +0400
committerNicholas Bishop <nicholasbishop@gmail.com>2012-01-15 03:54:51 +0400
commit30e759c75ba9625fe46bc6b7710358282a61d4c1 (patch)
tree872469d64544c09a9155d871d4429f701df6172b /source/blender/blenkernel/BKE_brush.h
parent046bf80881b4c7ea2fb108b5588070a6ffa14c20 (diff)
Fix all remaining unified paint settings uses of current Scene.
Things like brush size and strength accessors now take a scene parameter rather than guessing about which Scene's unified paint settings to use. Setting the size/strength through RNA can now be done separately for the brush or the UnifiedPaintSettings. The UI python code required updating to check whether the size/strength controls should use brush or UnifiedPaintSettings RNA. Radial control also required some updates to switch between the two RNA sources.
Diffstat (limited to 'source/blender/blenkernel/BKE_brush.h')
-rw-r--r--source/blender/blenkernel/BKE_brush.h28
1 files changed, 19 insertions, 9 deletions
diff --git a/source/blender/blenkernel/BKE_brush.h b/source/blender/blenkernel/BKE_brush.h
index 687da70974c..13f72634bda 100644
--- a/source/blender/blenkernel/BKE_brush.h
+++ b/source/blender/blenkernel/BKE_brush.h
@@ -59,7 +59,8 @@ int brush_clone_image_set_nr(struct Brush *brush, int nr);
int brush_clone_image_delete(struct Brush *brush);
/* jitter */
-void brush_jitter_pos(struct Brush *brush, float *pos, float *jitterpos);
+void brush_jitter_pos(const struct Scene *scene, struct Brush *brush,
+ float *pos, float *jitterpos);
/* brush curve */
void brush_curve_preset(struct Brush *b, /*enum CurveMappingPreset*/int preset);
@@ -67,8 +68,8 @@ float brush_curve_strength_clamp(struct Brush *br, float p, const float len);
float brush_curve_strength(struct Brush *br, float p, const float len); /* used for sculpt */
/* sampling */
-void brush_sample_tex(struct Brush *brush, const float xy[2], float rgba[4], const int thread);
-void brush_imbuf_new(struct Brush *brush, short flt, short texfalloff, int size,
+void brush_sample_tex(const struct Scene *scene, struct Brush *brush, const float xy[2], float rgba[4], const int thread);
+void brush_imbuf_new(const struct Scene *scene, struct Brush *brush, short flt, short texfalloff, int size,
struct ImBuf **imbuf, int use_color_correction);
/* painting */
@@ -92,18 +93,27 @@ struct ImBuf *brush_gen_radial_control_imbuf(struct Brush *br);
/* unified strength and size */
-int brush_size(struct Brush *brush);
-void brush_set_size(struct Brush *brush, int value);
+int brush_size(const struct Scene *scene, struct Brush *brush);
+void brush_set_size(struct Scene *scene, struct Brush *brush, int value);
+
+float brush_unprojected_radius(const struct Scene *scene, struct Brush *brush);
+void brush_set_unprojected_radius(struct Scene *scene, struct Brush *brush, float value);
+
+float brush_alpha(const struct Scene *scene, struct Brush *brush);
int brush_use_locked_size(const struct Scene *scene, struct Brush *brush);
int brush_use_alpha_pressure(const struct Scene *scene, struct Brush *brush);
int brush_use_size_pressure(const struct Scene *scene, struct Brush *brush);
-float brush_unprojected_radius(struct Brush *brush);
-void brush_set_unprojected_radius(struct Brush *brush, float value);
+/* scale unprojected radius to reflect a change in the brush's 2D size */
+void brush_scale_unprojected_radius(float *unprojected_radius,
+ int new_brush_size,
+ int old_brush_size);
-float brush_alpha(struct Brush *brush);
-void brush_set_alpha(struct Brush *brush, float value);
+/* scale brush size to reflect a change in the brush's unprojected radius */
+void brush_scale_size(int *brush_size,
+ float new_unprojected_radius,
+ float old_unprojected_radius);
/* debugging only */
void brush_debug_print_state(struct Brush *br);