fixed mousewheel behaviour in editmode
This commit is contained in:
@@ -3686,6 +3686,64 @@ int my_clock(void)
|
|||||||
#define YROTLOCAL (YROT|ROTLOCAL)
|
#define YROTLOCAL (YROT|ROTLOCAL)
|
||||||
#define ZROTLOCAL (ZROT|ROTLOCAL)
|
#define ZROTLOCAL (ZROT|ROTLOCAL)
|
||||||
|
|
||||||
|
void view_editmove(unsigned char event)
|
||||||
|
{
|
||||||
|
/* Regular: Zoom in */
|
||||||
|
/* Shift: Scroll up */
|
||||||
|
/* Ctrl: Scroll right */
|
||||||
|
/* Alt-Shift: Rotate up */
|
||||||
|
/* Alt-Ctrl: Rotate right */
|
||||||
|
|
||||||
|
switch(event) {
|
||||||
|
case WHEELUPMOUSE:
|
||||||
|
|
||||||
|
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 & WHEELZOOMDIR)
|
||||||
|
persptoetsen(PADMINUS);
|
||||||
|
else
|
||||||
|
persptoetsen(PADPLUSKEY);
|
||||||
|
|
||||||
|
break;
|
||||||
|
case WHEELDOWNMOUSE:
|
||||||
|
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 & WHEELZOOMDIR)
|
||||||
|
persptoetsen(PADPLUSKEY);
|
||||||
|
else
|
||||||
|
persptoetsen(PADMINUS);
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
void transform(int mode) /* 'g' 'G' 'r' 'R' 's' 'S' 't' or 'w' 'N' */
|
void transform(int mode) /* 'g' 'G' 'r' 'R' 's' 'S' 't' or 'w' 'N' */
|
||||||
{
|
{
|
||||||
short canceled = 0;
|
short canceled = 0;
|
||||||
@@ -4635,7 +4693,10 @@ void transform(int mode) /* 'g' 'G' 'r' 'R' 's' 'S' 't' or 'w' 'N' */
|
|||||||
firsttime= 1;
|
firsttime= 1;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
persptoetsen(PADPLUSKEY);
|
if(event == WHEELDOWNMOUSE)
|
||||||
|
view_editmove(event);
|
||||||
|
else
|
||||||
|
persptoetsen(PADPLUSKEY);
|
||||||
firsttime= 1;
|
firsttime= 1;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@@ -4647,7 +4708,10 @@ void transform(int mode) /* 'g' 'G' 'r' 'R' 's' 'S' 't' or 'w' 'N' */
|
|||||||
firsttime= 1;
|
firsttime= 1;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
persptoetsen(PADMINUS);
|
if(event == WHEELUPMOUSE)
|
||||||
|
view_editmove(event);
|
||||||
|
else
|
||||||
|
persptoetsen(PADMINUS);
|
||||||
firsttime= 1;
|
firsttime= 1;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
Reference in New Issue
Block a user