OSX: Capture 3-finger swipe events in NativeWindow
This commit is contained in:
parent
67db92d500
commit
03319a5426
7 changed files with 76 additions and 0 deletions
|
@ -243,6 +243,22 @@ void Window::OnWindowScrollTouchEnd() {
|
||||||
Emit("scroll-touch-end");
|
Emit("scroll-touch-end");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Window::OnWindowSwipeUp() {
|
||||||
|
Emit("swipe-up");
|
||||||
|
}
|
||||||
|
|
||||||
|
void Window::OnWindowSwipeRight() {
|
||||||
|
Emit("swipe-right");
|
||||||
|
}
|
||||||
|
|
||||||
|
void Window::OnWindowSwipeDown() {
|
||||||
|
Emit("swipe-down");
|
||||||
|
}
|
||||||
|
|
||||||
|
void Window::OnWindowSwipeLeft() {
|
||||||
|
Emit("swipe-left");
|
||||||
|
}
|
||||||
|
|
||||||
void Window::OnWindowEnterHtmlFullScreen() {
|
void Window::OnWindowEnterHtmlFullScreen() {
|
||||||
Emit("enter-html-full-screen");
|
Emit("enter-html-full-screen");
|
||||||
}
|
}
|
||||||
|
|
|
@ -69,6 +69,10 @@ class Window : public mate::TrackableObject<Window>,
|
||||||
void OnWindowMoved() override;
|
void OnWindowMoved() override;
|
||||||
void OnWindowScrollTouchBegin() override;
|
void OnWindowScrollTouchBegin() override;
|
||||||
void OnWindowScrollTouchEnd() override;
|
void OnWindowScrollTouchEnd() override;
|
||||||
|
void OnWindowSwipeUp() override;
|
||||||
|
void OnWindowSwipeRight() override;
|
||||||
|
void OnWindowSwipeDown() override;
|
||||||
|
void OnWindowSwipeLeft() override;
|
||||||
void OnWindowEnterFullScreen() override;
|
void OnWindowEnterFullScreen() override;
|
||||||
void OnWindowLeaveFullScreen() override;
|
void OnWindowLeaveFullScreen() override;
|
||||||
void OnWindowEnterHtmlFullScreen() override;
|
void OnWindowEnterHtmlFullScreen() override;
|
||||||
|
|
|
@ -480,6 +480,26 @@ void NativeWindow::NotifyWindowScrollTouchEnd() {
|
||||||
OnWindowScrollTouchEnd());
|
OnWindowScrollTouchEnd());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void NativeWindow::NotifyWindowSwipeUp() {
|
||||||
|
FOR_EACH_OBSERVER(NativeWindowObserver, observers_,
|
||||||
|
OnWindowSwipeUp());
|
||||||
|
}
|
||||||
|
|
||||||
|
void NativeWindow::NotifyWindowSwipeRight() {
|
||||||
|
FOR_EACH_OBSERVER(NativeWindowObserver, observers_,
|
||||||
|
OnWindowSwipeRight());
|
||||||
|
}
|
||||||
|
|
||||||
|
void NativeWindow::NotifyWindowSwipeDown() {
|
||||||
|
FOR_EACH_OBSERVER(NativeWindowObserver, observers_,
|
||||||
|
OnWindowSwipeDown());
|
||||||
|
}
|
||||||
|
|
||||||
|
void NativeWindow::NotifyWindowSwipeLeft() {
|
||||||
|
FOR_EACH_OBSERVER(NativeWindowObserver, observers_,
|
||||||
|
OnWindowSwipeLeft());
|
||||||
|
}
|
||||||
|
|
||||||
void NativeWindow::NotifyWindowLeaveFullScreen() {
|
void NativeWindow::NotifyWindowLeaveFullScreen() {
|
||||||
FOR_EACH_OBSERVER(NativeWindowObserver, observers_,
|
FOR_EACH_OBSERVER(NativeWindowObserver, observers_,
|
||||||
OnWindowLeaveFullScreen());
|
OnWindowLeaveFullScreen());
|
||||||
|
|
|
@ -221,6 +221,10 @@ class NativeWindow : public base::SupportsUserData,
|
||||||
void NotifyWindowMoved();
|
void NotifyWindowMoved();
|
||||||
void NotifyWindowScrollTouchBegin();
|
void NotifyWindowScrollTouchBegin();
|
||||||
void NotifyWindowScrollTouchEnd();
|
void NotifyWindowScrollTouchEnd();
|
||||||
|
void NotifyWindowSwipeUp();
|
||||||
|
void NotifyWindowSwipeRight();
|
||||||
|
void NotifyWindowSwipeDown();
|
||||||
|
void NotifyWindowSwipeLeft();
|
||||||
void NotifyWindowEnterFullScreen();
|
void NotifyWindowEnterFullScreen();
|
||||||
void NotifyWindowLeaveFullScreen();
|
void NotifyWindowLeaveFullScreen();
|
||||||
void NotifyWindowEnterHtmlFullScreen();
|
void NotifyWindowEnterHtmlFullScreen();
|
||||||
|
|
|
@ -267,6 +267,18 @@ bool ScopedDisableResize::disable_resize_ = false;
|
||||||
|
|
||||||
// NSWindow overrides.
|
// NSWindow overrides.
|
||||||
|
|
||||||
|
- (void)swipeWithEvent:(NSEvent *)event {
|
||||||
|
if (event.deltaY == 1.0) {
|
||||||
|
shell_->NotifyWindowSwipeUp();
|
||||||
|
} else if (event.deltaX == -1.0) {
|
||||||
|
shell_->NotifyWindowSwipeRight();
|
||||||
|
} else if (event.deltaY == -1.0) {
|
||||||
|
shell_->NotifyWindowSwipeDown();
|
||||||
|
} else if (event.deltaX == 1.0) {
|
||||||
|
shell_->NotifyWindowSwipeLeft();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
- (NSRect)constrainFrameRect:(NSRect)frameRect toScreen:(NSScreen*)screen {
|
- (NSRect)constrainFrameRect:(NSRect)frameRect toScreen:(NSScreen*)screen {
|
||||||
// Resizing is disabled.
|
// Resizing is disabled.
|
||||||
if (ScopedDisableResize::IsResizeDisabled())
|
if (ScopedDisableResize::IsResizeDisabled())
|
||||||
|
|
|
@ -58,6 +58,10 @@ class NativeWindowObserver {
|
||||||
virtual void OnWindowMoved() {}
|
virtual void OnWindowMoved() {}
|
||||||
virtual void OnWindowScrollTouchBegin() {}
|
virtual void OnWindowScrollTouchBegin() {}
|
||||||
virtual void OnWindowScrollTouchEnd() {}
|
virtual void OnWindowScrollTouchEnd() {}
|
||||||
|
virtual void OnWindowSwipeUp() {}
|
||||||
|
virtual void OnWindowSwipeRight() {}
|
||||||
|
virtual void OnWindowSwipeDown() {}
|
||||||
|
virtual void OnWindowSwipeLeft() {}
|
||||||
virtual void OnWindowEnterFullScreen() {}
|
virtual void OnWindowEnterFullScreen() {}
|
||||||
virtual void OnWindowLeaveFullScreen() {}
|
virtual void OnWindowLeaveFullScreen() {}
|
||||||
virtual void OnWindowEnterHtmlFullScreen() {}
|
virtual void OnWindowEnterHtmlFullScreen() {}
|
||||||
|
|
|
@ -322,6 +322,22 @@ Emitted when scroll wheel event phase has begun.
|
||||||
|
|
||||||
Emitted when scroll wheel event phase has ended.
|
Emitted when scroll wheel event phase has ended.
|
||||||
|
|
||||||
|
### Event: 'swipe-up' _OS X_
|
||||||
|
|
||||||
|
Emitted on 3-finger swipe up.
|
||||||
|
|
||||||
|
### Event: 'swipe-right' _OS X_
|
||||||
|
|
||||||
|
Emitted on 3-finger swipe right.
|
||||||
|
|
||||||
|
### Event: 'swipe-down' _OS X_
|
||||||
|
|
||||||
|
Emitted on 3-finger swipe down.
|
||||||
|
|
||||||
|
### Event: 'swipe-left' _OS X_
|
||||||
|
|
||||||
|
Emitted on 3-finger swipe left.
|
||||||
|
|
||||||
## Methods
|
## Methods
|
||||||
|
|
||||||
The `BrowserWindow` object has the following methods:
|
The `BrowserWindow` object has the following methods:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue