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_object_types.h"
|
||||||
#include "DNA_scene_types.h"
|
#include "DNA_scene_types.h"
|
||||||
#include "DNA_vec_types.h"
|
#include "DNA_vec_types.h"
|
||||||
|
#include "DNA_view3d_types.h"
|
||||||
|
|
||||||
#include "BKE_customdata.h"
|
#include "BKE_customdata.h"
|
||||||
#include "BKE_depsgraph.h"
|
#include "BKE_depsgraph.h"
|
||||||
@ -61,6 +62,7 @@
|
|||||||
#include "BLI_editVert.h"
|
#include "BLI_editVert.h"
|
||||||
|
|
||||||
#include "BSE_edit.h"
|
#include "BSE_edit.h"
|
||||||
|
#include "BSE_view.h"
|
||||||
|
|
||||||
#include "IMB_imbuf.h"
|
#include "IMB_imbuf.h"
|
||||||
#include "IMB_imbuf_types.h"
|
#include "IMB_imbuf_types.h"
|
||||||
@ -1181,6 +1183,7 @@ void multires_level_to_mesh(Object *ob, Mesh *me)
|
|||||||
|
|
||||||
countall();
|
countall();
|
||||||
|
|
||||||
|
if(G.vd->depths) G.vd->depths->damaged= 1;
|
||||||
allqueue(REDRAWVIEW3D, 0);
|
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)
|
static void winqreadview3dspace(ScrArea *sa, void *spacedata, BWinEvent *evt)
|
||||||
{
|
{
|
||||||
View3D *v3d= sa->spacedata.first;
|
View3D *v3d= sa->spacedata.first;
|
||||||
@ -1124,6 +1204,17 @@ static void winqreadview3dspace(ScrArea *sa, void *spacedata, BWinEvent *evt)
|
|||||||
else if(!G.scene->sculptdata.propset)
|
else if(!G.scene->sculptdata.propset)
|
||||||
sculpt();
|
sculpt();
|
||||||
break;
|
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:
|
case RIGHTMOUSE:
|
||||||
if(G.qual==LR_SHIFTKEY+LR_CTRLKEY)
|
if(G.qual==LR_SHIFTKEY+LR_CTRLKEY)
|
||||||
sculptmode_pmv(1);
|
sculptmode_pmv(1);
|
||||||
@ -1202,23 +1293,7 @@ static void winqreadview3dspace(ScrArea *sa, void *spacedata, BWinEvent *evt)
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case MIDDLEMOUSE:
|
case MIDDLEMOUSE:
|
||||||
/* use '&' here, because of alt+leftmouse which emulates middlemouse */
|
handle_view_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);
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
case RIGHTMOUSE:
|
case RIGHTMOUSE:
|
||||||
if((G.obedit) && (G.qual & LR_CTRLKEY)==0) {
|
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 */
|
mouse_select(); /* does poses too */
|
||||||
break;
|
break;
|
||||||
case WHEELUPMOUSE:
|
case WHEELUPMOUSE:
|
||||||
/* Regular: Zoom in */
|
handle_view_wheelup();
|
||||||
/* 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);
|
|
||||||
|
|
||||||
doredraw= 1;
|
doredraw= 1;
|
||||||
break;
|
break;
|
||||||
case WHEELDOWNMOUSE:
|
case WHEELDOWNMOUSE:
|
||||||
/* Regular: Zoom out */
|
handle_view_wheeldown();
|
||||||
/* 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);
|
|
||||||
|
|
||||||
doredraw= 1;
|
doredraw= 1;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user