forked from bartvdbraak/blender
Forgot to add middlemouse events for sculptmode.
This commit is contained in:
parent
9f4df07b68
commit
706635d931
@ -43,6 +43,7 @@
|
||||
#include "DNA_object_types.h"
|
||||
#include "DNA_scene_types.h"
|
||||
#include "DNA_vec_types.h"
|
||||
#include "DNA_view3d_types.h"
|
||||
|
||||
#include "BKE_customdata.h"
|
||||
#include "BKE_depsgraph.h"
|
||||
@ -61,6 +62,7 @@
|
||||
#include "BLI_editVert.h"
|
||||
|
||||
#include "BSE_edit.h"
|
||||
#include "BSE_view.h"
|
||||
|
||||
#include "IMB_imbuf.h"
|
||||
#include "IMB_imbuf_types.h"
|
||||
@ -1181,6 +1183,7 @@ void multires_level_to_mesh(Object *ob, Mesh *me)
|
||||
|
||||
countall();
|
||||
|
||||
if(G.vd->depths) G.vd->depths->damaged= 1;
|
||||
allqueue(REDRAWVIEW3D, 0);
|
||||
}
|
||||
|
||||
|
@ -944,6 +944,86 @@ void BIF_undo_menu(void)
|
||||
|
||||
/* *************** */
|
||||
|
||||
void handle_view_middlemouse() {
|
||||
/* use '&' here, because of alt+leftmouse which emulates middlemouse */
|
||||
if(U.flag & USER_VIEWMOVE) {
|
||||
if((G.qual==LR_SHIFTKEY) || ((U.flag & USER_TWOBUTTONMOUSE) && (G.qual==(LR_ALTKEY|LR_SHIFTKEY))))
|
||||
viewmove(0);
|
||||
else if((G.qual==LR_CTRLKEY) || ((U.flag & USER_TWOBUTTONMOUSE) && (G.qual==(LR_ALTKEY|LR_CTRLKEY))))
|
||||
viewmove(2);
|
||||
else if((G.qual==0) || ((U.flag & USER_TWOBUTTONMOUSE) && (G.qual==LR_ALTKEY)))
|
||||
viewmove(1);
|
||||
}
|
||||
else {
|
||||
if((G.qual==LR_SHIFTKEY) || ((U.flag & USER_TWOBUTTONMOUSE) && (G.qual==(LR_ALTKEY|LR_SHIFTKEY))))
|
||||
viewmove(1);
|
||||
else if((G.qual==LR_CTRLKEY) || ((U.flag & USER_TWOBUTTONMOUSE) && (G.qual==(LR_ALTKEY|LR_CTRLKEY))))
|
||||
viewmove(2);
|
||||
else if((G.qual==0) || ((U.flag & USER_TWOBUTTONMOUSE) && (G.qual==LR_ALTKEY)))
|
||||
viewmove(0);
|
||||
}
|
||||
}
|
||||
|
||||
void handle_view_wheelup()
|
||||
{
|
||||
/* Regular: Zoom in */
|
||||
/* Shift: Scroll up */
|
||||
/* Ctrl: Scroll right */
|
||||
/* Alt-Shift: Rotate up */
|
||||
/* Alt-Ctrl: Rotate right */
|
||||
|
||||
if( G.qual & LR_SHIFTKEY ) {
|
||||
if( G.qual & LR_ALTKEY ) {
|
||||
G.qual &= ~LR_SHIFTKEY;
|
||||
persptoetsen(PAD2);
|
||||
G.qual |= LR_SHIFTKEY;
|
||||
} else {
|
||||
persptoetsen(PAD2);
|
||||
}
|
||||
} else if( G.qual & LR_CTRLKEY ) {
|
||||
if( G.qual & LR_ALTKEY ) {
|
||||
G.qual &= ~LR_CTRLKEY;
|
||||
persptoetsen(PAD4);
|
||||
G.qual |= LR_CTRLKEY;
|
||||
} else {
|
||||
persptoetsen(PAD4);
|
||||
}
|
||||
} else if(U.uiflag & USER_WHEELZOOMDIR)
|
||||
persptoetsen(PADMINUS);
|
||||
else
|
||||
persptoetsen(PADPLUSKEY);
|
||||
}
|
||||
|
||||
void handle_view_wheeldown()
|
||||
{
|
||||
/* Regular: Zoom out */
|
||||
/* Shift: Scroll down */
|
||||
/* Ctrl: Scroll left */
|
||||
/* Alt-Shift: Rotate down */
|
||||
/* Alt-Ctrl: Rotate left */
|
||||
|
||||
if( G.qual & LR_SHIFTKEY ) {
|
||||
if( G.qual & LR_ALTKEY ) {
|
||||
G.qual &= ~LR_SHIFTKEY;
|
||||
persptoetsen(PAD8);
|
||||
G.qual |= LR_SHIFTKEY;
|
||||
} else {
|
||||
persptoetsen(PAD8);
|
||||
}
|
||||
} else if( G.qual & LR_CTRLKEY ) {
|
||||
if( G.qual & LR_ALTKEY ) {
|
||||
G.qual &= ~LR_CTRLKEY;
|
||||
persptoetsen(PAD6);
|
||||
G.qual |= LR_CTRLKEY;
|
||||
} else {
|
||||
persptoetsen(PAD6);
|
||||
}
|
||||
} else if(U.uiflag & USER_WHEELZOOMDIR)
|
||||
persptoetsen(PADPLUSKEY);
|
||||
else
|
||||
persptoetsen(PADMINUS);
|
||||
}
|
||||
|
||||
static void winqreadview3dspace(ScrArea *sa, void *spacedata, BWinEvent *evt)
|
||||
{
|
||||
View3D *v3d= sa->spacedata.first;
|
||||
@ -1124,6 +1204,17 @@ static void winqreadview3dspace(ScrArea *sa, void *spacedata, BWinEvent *evt)
|
||||
else if(!G.scene->sculptdata.propset)
|
||||
sculpt();
|
||||
break;
|
||||
case MIDDLEMOUSE:
|
||||
handle_view_middlemouse();
|
||||
break;
|
||||
case WHEELUPMOUSE:
|
||||
handle_view_wheelup();
|
||||
doredraw= 1;
|
||||
break;
|
||||
case WHEELDOWNMOUSE:
|
||||
handle_view_wheeldown();
|
||||
doredraw= 1;
|
||||
break;
|
||||
case RIGHTMOUSE:
|
||||
if(G.qual==LR_SHIFTKEY+LR_CTRLKEY)
|
||||
sculptmode_pmv(1);
|
||||
@ -1202,23 +1293,7 @@ static void winqreadview3dspace(ScrArea *sa, void *spacedata, BWinEvent *evt)
|
||||
}
|
||||
break;
|
||||
case MIDDLEMOUSE:
|
||||
/* use '&' here, because of alt+leftmouse which emulates middlemouse */
|
||||
if(U.flag & USER_VIEWMOVE) {
|
||||
if((G.qual==LR_SHIFTKEY) || ((U.flag & USER_TWOBUTTONMOUSE) && (G.qual==(LR_ALTKEY|LR_SHIFTKEY))))
|
||||
viewmove(0);
|
||||
else if((G.qual==LR_CTRLKEY) || ((U.flag & USER_TWOBUTTONMOUSE) && (G.qual==(LR_ALTKEY|LR_CTRLKEY))))
|
||||
viewmove(2);
|
||||
else if((G.qual==0) || ((U.flag & USER_TWOBUTTONMOUSE) && (G.qual==LR_ALTKEY)))
|
||||
viewmove(1);
|
||||
}
|
||||
else {
|
||||
if((G.qual==LR_SHIFTKEY) || ((U.flag & USER_TWOBUTTONMOUSE) && (G.qual==(LR_ALTKEY|LR_SHIFTKEY))))
|
||||
viewmove(1);
|
||||
else if((G.qual==LR_CTRLKEY) || ((U.flag & USER_TWOBUTTONMOUSE) && (G.qual==(LR_ALTKEY|LR_CTRLKEY))))
|
||||
viewmove(2);
|
||||
else if((G.qual==0) || ((U.flag & USER_TWOBUTTONMOUSE) && (G.qual==LR_ALTKEY)))
|
||||
viewmove(0);
|
||||
}
|
||||
handle_view_middlemouse();
|
||||
break;
|
||||
case RIGHTMOUSE:
|
||||
if((G.obedit) && (G.qual & LR_CTRLKEY)==0) {
|
||||
@ -1247,63 +1322,11 @@ static void winqreadview3dspace(ScrArea *sa, void *spacedata, BWinEvent *evt)
|
||||
mouse_select(); /* does poses too */
|
||||
break;
|
||||
case WHEELUPMOUSE:
|
||||
/* Regular: Zoom in */
|
||||
/* Shift: Scroll up */
|
||||
/* Ctrl: Scroll right */
|
||||
/* Alt-Shift: Rotate up */
|
||||
/* Alt-Ctrl: Rotate right */
|
||||
|
||||
if( G.qual & LR_SHIFTKEY ) {
|
||||
if( G.qual & LR_ALTKEY ) {
|
||||
G.qual &= ~LR_SHIFTKEY;
|
||||
persptoetsen(PAD2);
|
||||
G.qual |= LR_SHIFTKEY;
|
||||
} else {
|
||||
persptoetsen(PAD2);
|
||||
}
|
||||
} else if( G.qual & LR_CTRLKEY ) {
|
||||
if( G.qual & LR_ALTKEY ) {
|
||||
G.qual &= ~LR_CTRLKEY;
|
||||
persptoetsen(PAD4);
|
||||
G.qual |= LR_CTRLKEY;
|
||||
} else {
|
||||
persptoetsen(PAD4);
|
||||
}
|
||||
} else if(U.uiflag & USER_WHEELZOOMDIR)
|
||||
persptoetsen(PADMINUS);
|
||||
else
|
||||
persptoetsen(PADPLUSKEY);
|
||||
|
||||
handle_view_wheelup();
|
||||
doredraw= 1;
|
||||
break;
|
||||
case WHEELDOWNMOUSE:
|
||||
/* Regular: Zoom out */
|
||||
/* Shift: Scroll down */
|
||||
/* Ctrl: Scroll left */
|
||||
/* Alt-Shift: Rotate down */
|
||||
/* Alt-Ctrl: Rotate left */
|
||||
|
||||
if( G.qual & LR_SHIFTKEY ) {
|
||||
if( G.qual & LR_ALTKEY ) {
|
||||
G.qual &= ~LR_SHIFTKEY;
|
||||
persptoetsen(PAD8);
|
||||
G.qual |= LR_SHIFTKEY;
|
||||
} else {
|
||||
persptoetsen(PAD8);
|
||||
}
|
||||
} else if( G.qual & LR_CTRLKEY ) {
|
||||
if( G.qual & LR_ALTKEY ) {
|
||||
G.qual &= ~LR_CTRLKEY;
|
||||
persptoetsen(PAD6);
|
||||
G.qual |= LR_CTRLKEY;
|
||||
} else {
|
||||
persptoetsen(PAD6);
|
||||
}
|
||||
} else if(U.uiflag & USER_WHEELZOOMDIR)
|
||||
persptoetsen(PADPLUSKEY);
|
||||
else
|
||||
persptoetsen(PADMINUS);
|
||||
|
||||
handle_view_wheeldown();
|
||||
doredraw= 1;
|
||||
break;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user