diff options
Diffstat (limited to 'source/blender/editors/space_view3d/view3d_draw.c')
-rw-r--r-- | source/blender/editors/space_view3d/view3d_draw.c | 26 |
1 files changed, 23 insertions, 3 deletions
diff --git a/source/blender/editors/space_view3d/view3d_draw.c b/source/blender/editors/space_view3d/view3d_draw.c index 9dd6ab8f841..5d50d9d479f 100644 --- a/source/blender/editors/space_view3d/view3d_draw.c +++ b/source/blender/editors/space_view3d/view3d_draw.c @@ -33,6 +33,7 @@ #include <math.h> #include "DNA_armature_types.h" +#include "DNA_brush_types.h" #include "DNA_camera_types.h" #include "DNA_customdata_types.h" #include "DNA_object_types.h" @@ -50,6 +51,7 @@ #include "BLI_endian_switch.h" #include "BKE_anim.h" +#include "BKE_brush.h" #include "BKE_camera.h" #include "BKE_context.h" #include "BKE_customdata.h" @@ -3383,16 +3385,34 @@ static void view3d_main_area_draw_info(const bContext *C, ARegion *ar, const cha } if ((v3d->flag2 & V3D_RENDER_OVERRIDE) == 0) { - Object *ob; + Object *ob = OBACT; - drawcursor(scene, ar, v3d); + if (ob) { + switch (ob->mode) { + case OB_MODE_SCULPT: + break; + + case OB_MODE_TEXTURE_PAINT: + { + Brush *br = BKE_paint_brush(&scene->toolsettings->imapaint.paint); + + if (br && br->imagepaint_tool == PAINT_TOOL_CLONE) + drawcursor(scene, ar, v3d); + + break; + } + + default: + drawcursor(scene, ar, v3d); + break; + } + } if (U.uiflag & USER_SHOW_ROTVIEWICON) draw_view_axis(rv3d, &rect); else draw_view_icon(rv3d, &rect); - ob = OBACT; if (U.uiflag & USER_DRAWVIEWINFO) draw_selected_name(scene, ob, &rect); } |