diff options
Diffstat (limited to 'source/blender/src/header_view3d.c')
-rw-r--r-- | source/blender/src/header_view3d.c | 38 |
1 files changed, 37 insertions, 1 deletions
diff --git a/source/blender/src/header_view3d.c b/source/blender/src/header_view3d.c index 5b52b0c84ac..5ec730bd097 100644 --- a/source/blender/src/header_view3d.c +++ b/source/blender/src/header_view3d.c @@ -5057,6 +5057,19 @@ static char *around_pup(void) return string; } +static char *ndof_pup(void) +{ + static char string[512]; + char *str = string; + + str += sprintf(str, "%s", "ndof mode: %t"); + str += sprintf(str, "%s", "|turntable %x0"); + str += sprintf(str, "%s", "|fly %x1"); + str += sprintf(str, "%s", "|transform %x2"); + return string; +} + + static char *propfalloff_pup(void) { static char string[512]; @@ -5287,9 +5300,13 @@ void do_view3d_buttons(short event) G.vd->twtype= V3D_MANIP_SCALE; allqueue(REDRAWVIEW3D, 1); break; + case B_NDOF: + allqueue(REDRAWVIEW3D, 1); + break; case B_MAN_MODE: allqueue(REDRAWVIEW3D, 1); break; + default: if(event>=B_LAY && event<B_LAY+31) { @@ -5588,10 +5605,28 @@ void view3d_buttons(void) xco+= XIC+8; + uiBlockBeginAlign(block); + + /* NDOF */ + if (G.ndofdevice ==0 ) { + uiDefIconTextButC(block, ICONTEXTROW,B_NDOF, ICON_NDOF_TURN, ndof_pup(), xco,0,XIC+10,YIC, &(G.vd->ndofmode), 0, 3.0, 0, 0, "Ndof mode"); + + xco+= XIC+10; + + uiDefIconButC(block, TOG, B_NDOF, ICON_NDOF_DOM, + xco,0,XIC,YIC, + &G.vd->ndoffilter, 0, 1, 0, 0, "dominant axis"); + uiBlockEndAlign(block); + + xco+= XIC+8; + } + uiBlockEndAlign(block); + /* Transform widget / manipulators */ uiBlockBeginAlign(block); uiDefIconButBitS(block, TOG, V3D_USE_MANIPULATOR, B_REDR, ICON_MANIPUL,xco,0,XIC,YIC, &G.vd->twflag, 0, 0, 0, 0, "Use 3d transform manipulator (Ctrl Space)"); xco+= XIC; + if(G.vd->twflag & V3D_USE_MANIPULATOR) { uiDefIconButBitS(block, TOG, V3D_MANIP_TRANSLATE, B_MAN_TRANS, ICON_MAN_TRANS, xco,0,XIC,YIC, &G.vd->twtype, 1.0, 0.0, 0, 0, "Translate manipulator mode (Ctrl Alt G)"); @@ -5701,7 +5736,8 @@ void view3d_buttons(void) } uiDefIconBut(block, BUT, B_VIEWRENDER, ICON_SCENE_DEHLT, xco,0,XIC,YIC, NULL, 0, 1.0, 0, 0, "Render this window (hold CTRL for anim)"); - + + if (ob && (ob->flag & OB_POSEMODE)) { xco+= XIC/2; uiBlockBeginAlign(block); |