diff options
author | Lorry Tar Creator <lorry-tar-importer@lorry> | 2017-06-27 06:07:23 +0000 |
---|---|---|
committer | Lorry Tar Creator <lorry-tar-importer@lorry> | 2017-06-27 06:07:23 +0000 |
commit | 1bf1084f2b10c3b47fd1a588d85d21ed0eb41d0c (patch) | |
tree | 46dcd36c86e7fbc6e5df36deb463b33e9967a6f7 /Source/WebCore/page/PointerLockController.h | |
parent | 32761a6cee1d0dee366b885b7b9c777e67885688 (diff) | |
download | WebKitGtk-tarball-master.tar.gz |
webkitgtk-2.16.5HEADwebkitgtk-2.16.5master
Diffstat (limited to 'Source/WebCore/page/PointerLockController.h')
-rw-r--r-- | Source/WebCore/page/PointerLockController.h | 35 |
1 files changed, 19 insertions, 16 deletions
diff --git a/Source/WebCore/page/PointerLockController.h b/Source/WebCore/page/PointerLockController.h index c820754ae..5021ae974 100644 --- a/Source/WebCore/page/PointerLockController.h +++ b/Source/WebCore/page/PointerLockController.h @@ -22,8 +22,7 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#ifndef PointerLockController_h -#define PointerLockController_h +#pragma once #if ENABLE(POINTER_LOCK) @@ -36,39 +35,43 @@ class Element; class Document; class Page; class PlatformMouseEvent; +class PlatformWheelEvent; class VoidCallback; class PointerLockController { WTF_MAKE_NONCOPYABLE(PointerLockController); WTF_MAKE_FAST_ALLOCATED; public: - static PassOwnPtr<PointerLockController> create(Page*); - + explicit PointerLockController(Page&); void requestPointerLock(Element* target); + void requestPointerUnlock(); - void elementRemoved(Element*); - void documentDetached(Document*); - bool lockPending() const; - Element* element() const; + void requestPointerUnlockAndForceCursorVisible(); + void elementRemoved(Element&); + void documentDetached(Document&); + bool isLocked() const; + WEBCORE_EXPORT bool lockPending() const; + WEBCORE_EXPORT Element* element() const; - void didAcquirePointerLock(); - void didNotAcquirePointerLock(); - void didLosePointerLock(); + WEBCORE_EXPORT void didAcquirePointerLock(); + WEBCORE_EXPORT void didNotAcquirePointerLock(); + WEBCORE_EXPORT void didLosePointerLock(); void dispatchLockedMouseEvent(const PlatformMouseEvent&, const AtomicString& eventType); + void dispatchLockedWheelEvent(const PlatformWheelEvent&); private: - explicit PointerLockController(Page*); void clearElement(); void enqueueEvent(const AtomicString& type, Element*); void enqueueEvent(const AtomicString& type, Document*); - Page* m_page; - bool m_lockPending; + Page& m_page; + bool m_lockPending { false }; + bool m_unlockPending { false }; + bool m_forceCursorVisibleUponUnlock { false }; RefPtr<Element> m_element; RefPtr<Document> m_documentOfRemovedElementWhileWaitingForUnlock; + RefPtr<Document> m_documentAllowedToRelockWithoutUserGesture; }; } // namespace WebCore #endif // ENABLE(POINTER_LOCK) - -#endif // PointerLockController_h |