diff options
Diffstat (limited to 'source/blender/blenkernel/BKE_brush.h')
-rw-r--r-- | source/blender/blenkernel/BKE_brush.h | 28 |
1 files changed, 13 insertions, 15 deletions
diff --git a/source/blender/blenkernel/BKE_brush.h b/source/blender/blenkernel/BKE_brush.h index cbffb6c0cea..e0afb1929a5 100644 --- a/source/blender/blenkernel/BKE_brush.h +++ b/source/blender/blenkernel/BKE_brush.h @@ -36,12 +36,19 @@ struct ID; struct Brush; struct ImBuf; +struct ImagePool; +struct Main; struct Scene; struct wmOperator; // enum CurveMappingPreset; + +/* globals for brush execution */ +void BKE_brush_system_init(void); +void BKE_brush_system_exit(void); + /* datablock functions */ -struct Brush *BKE_brush_add(const char *name); +struct Brush *BKE_brush_add(struct Main *bmain, const char *name); struct Brush *BKE_brush_copy(struct Brush *brush); void BKE_brush_make_local(struct Brush *brush); void BKE_brush_free(struct Brush *brush); @@ -67,23 +74,13 @@ float BKE_brush_curve_strength_clamp(struct Brush *br, float p, const float len) float BKE_brush_curve_strength(struct Brush *br, float p, const float len); /* used for sculpt */ /* sampling */ -void BKE_brush_sample_tex(const struct Scene *scene, struct Brush *brush, const float xy[2], float rgba[4], const int thread); +float BKE_brush_sample_tex_3D(const Scene *scene, struct Brush *br, const float point[3], + float rgba[4], const int thread, struct ImagePool *pool); +float BKE_brush_sample_tex_2D(const struct Scene *scene, struct Brush *brush, const float xy[2], + float rgba[4]); void BKE_brush_imbuf_new(const struct Scene *scene, struct Brush *brush, short flt, short texfalloff, int size, struct ImBuf **imbuf, int use_color_correction); -/* painting */ -struct BrushPainter; -typedef struct BrushPainter BrushPainter; -typedef int (*BrushFunc)(void *user, struct ImBuf *ibuf, const float lastpos[2], const float pos[2]); - -BrushPainter *BKE_brush_painter_new(struct Scene *scene, struct Brush *brush); -void BKE_brush_painter_require_imbuf(BrushPainter *painter, short flt, - short texonly, int size); -int BKE_brush_painter_paint(BrushPainter *painter, BrushFunc func, const float pos[2], - double time, float pressure, void *user, int use_color_correction); -void BKE_brush_painter_break_stroke(BrushPainter *painter); -void BKE_brush_painter_free(BrushPainter *painter); - /* texture */ unsigned int *BKE_brush_gen_texture_cache(struct Brush *br, int half_side); @@ -99,6 +96,7 @@ float BKE_brush_unprojected_radius_get(const struct Scene *scene, struct Brush * void BKE_brush_unprojected_radius_set(struct Scene *scene, struct Brush *brush, float value); float BKE_brush_alpha_get(const struct Scene *scene, struct Brush *brush); +void BKE_brush_alpha_set(Scene *scene, struct Brush *brush, float alpha); float BKE_brush_weight_get(const Scene *scene, struct Brush *brush); void BKE_brush_weight_set(const Scene *scene, struct Brush *brush, float value); |