FIX: modify touchpad translate in Canvas3D
1. invert touchpad move direction 2. fix canvas 3d move with rotation 3. press shift for move Change-Id: I9c7f39eba45a168c92d4459cd88896d26ec6e8db
This commit is contained in:
parent
8c39e3f6f5
commit
ddee1dacaf
|
@ -2952,9 +2952,12 @@ void GLCanvas3D::on_gesture(wxGestureEvent &evt)
|
||||||
|
|
||||||
auto & camera = wxGetApp().plater()->get_camera();
|
auto & camera = wxGetApp().plater()->get_camera();
|
||||||
if (evt.GetEventType() == wxEVT_GESTURE_PAN) {
|
if (evt.GetEventType() == wxEVT_GESTURE_PAN) {
|
||||||
|
auto p = evt.GetPosition();
|
||||||
auto d = static_cast<wxPanGestureEvent&>(evt).GetDelta();
|
auto d = static_cast<wxPanGestureEvent&>(evt).GetDelta();
|
||||||
Vec3d delta{(double) d.x, (double) d.y, 0};
|
float z = 0;
|
||||||
camera.set_target(camera.get_target() + delta);
|
const Vec3d &p2 = _mouse_to_3d({p.x, p.y}, &z);
|
||||||
|
const Vec3d &p1 = _mouse_to_3d({p.x - d.x, p.y - d.y}, &z);
|
||||||
|
camera.set_target(camera.get_target() + p2 - p1);
|
||||||
} else if (evt.GetEventType() == wxEVT_GESTURE_ZOOM) {
|
} else if (evt.GetEventType() == wxEVT_GESTURE_ZOOM) {
|
||||||
static float zoom_start = 1;
|
static float zoom_start = 1;
|
||||||
if (evt.IsGestureStart())
|
if (evt.IsGestureStart())
|
||||||
|
|
|
@ -160,9 +160,10 @@ wxEvtHandler * _gestureHandler = nullptr;
|
||||||
|
|
||||||
- (void) scrollWheel2:(NSEvent *)event
|
- (void) scrollWheel2:(NSEvent *)event
|
||||||
{
|
{
|
||||||
if (_gestureHandler && event.hasPreciseScrollingDeltas) {
|
bool shiftDown = [event modifierFlags] & NSShiftKeyMask;
|
||||||
|
if (_gestureHandler && shiftDown && event.hasPreciseScrollingDeltas) {
|
||||||
wxPanGestureEvent evt;
|
wxPanGestureEvent evt;
|
||||||
evt.SetDelta({-(int)[event scrollingDeltaX], (int)[event scrollingDeltaY]});
|
evt.SetDelta({-(int)[event scrollingDeltaX], - (int)[event scrollingDeltaY]});
|
||||||
_gestureHandler->ProcessEvent(evt);
|
_gestureHandler->ProcessEvent(evt);
|
||||||
} else {
|
} else {
|
||||||
[self scrollWheel2: event];
|
[self scrollWheel2: event];
|
||||||
|
|
Loading…
Reference in New Issue