From 85eaa989807268dda60408f41475216ad45888d1 Mon Sep 17 00:00:00 2001 From: Antony Riakiotakis Date: Thu, 12 Dec 2013 23:24:27 +0200 Subject: Hide the 3D cursor in a few cases where it is unneeded (active object is in sculpt mode or image paint mode and no clone tool is active) --- source/blender/editors/space_view3d/view3d_draw.c | 26 ++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) (limited to 'source/blender') 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 #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); } -- cgit v1.2.3