From a5bc9582cb0876a217a3393c76804dd9f83a7823 Mon Sep 17 00:00:00 2001 From: Ton Roosendaal Date: Mon, 22 Aug 2005 17:52:52 +0000 Subject: [PATCH] Three little feats; - Vpaint and Wpaint now use our own custom cursor, this was a very old plan anyway. It uses the 'knife' now, we need a good brush icon for it! - On scaling bones in editmode, the deform distance info gets scaled now too when no "Envelope" draw mode was set. - Disabled front buffer drawing of objects with CTRL+select in Edit Mode. Uses a regular redraw now (like for select in Object Mode btw) --- source/blender/src/editview.c | 8 +++----- source/blender/src/ghostwinlay.c | 10 +++++++++- source/blender/src/transform_generics.c | 7 +++++++ 3 files changed, 19 insertions(+), 6 deletions(-) diff --git a/source/blender/src/editview.c b/source/blender/src/editview.c index 602269d2999..f30324ff7ac 100644 --- a/source/blender/src/editview.c +++ b/source/blender/src/editview.c @@ -1294,7 +1294,6 @@ void mouse_select(void) /* only do select */ deselectall_except(basact); basact->flag |= SELECT; - draw_object_ext(basact); } else { oldbasact= BASACT; @@ -1344,9 +1343,6 @@ void mouse_select(void) } } - /* also because multiple 3d windows can be open */ - allqueue(REDRAWVIEW3D, 0); - allqueue(REDRAWBUTSLOGIC, 0); allqueue(REDRAWDATASELECT, 0); allqueue(REDRAWBUTSOBJECT, 0); @@ -1354,8 +1350,10 @@ void mouse_select(void) allqueue(REDRAWNLA, 0); allqueue(REDRAWTIME, 0); allqueue(REDRAWHEADERS, 0); /* To force display update for the posebutton */ - } + /* also because multiple 3d windows can be open */ + allqueue(REDRAWVIEW3D, 0); + } countall(); diff --git a/source/blender/src/ghostwinlay.c b/source/blender/src/ghostwinlay.c index 3d38df1595d..7a83dbcb2f5 100644 --- a/source/blender/src/ghostwinlay.c +++ b/source/blender/src/ghostwinlay.c @@ -409,7 +409,15 @@ void window_set_cursor(Window *win, int curs) { GHOST_SetCursorVisibility(win->ghostwin, 0); } else { GHOST_SetCursorVisibility(win->ghostwin, 1); - GHOST_SetCursorShape(win->ghostwin, convert_cursor(curs)); + + /* detect if we use system cursor or Blender cursor */ + switch(curs) { + case CURSOR_VPAINT: + SetBlenderCursor(BC_KNIFECURSOR); + break; + default: + GHOST_SetCursorShape(win->ghostwin, convert_cursor(curs)); + } } } diff --git a/source/blender/src/transform_generics.c b/source/blender/src/transform_generics.c index b7944a5fa1c..1ba6dd45345 100755 --- a/source/blender/src/transform_generics.c +++ b/source/blender/src/transform_generics.c @@ -193,6 +193,13 @@ void recalcData(TransInfo *t) ebo->rad_head= ebo->parent->rad_tail; } } + else if(t->mode!=TFM_BONE_ENVELOPE) { + /* if bones change length, lets do that for the deform distance as well */ + ebo->dist*= ebo->length/ebo->oldlength; + ebo->rad_head*= ebo->length/ebo->oldlength; + ebo->rad_tail*= ebo->length/ebo->oldlength; + ebo->oldlength= ebo->length; + } } if(arm->flag & ARM_MIRROR_EDIT) transform_armature_mirror_update();