7#pragma warning( disable: 4265 )
8#pragma warning( disable: 4986 )
9#pragma warning( disable: 5204 )
10#pragma warning( disable: 5220 )
11#include <directmanipulation.h>
22class TouchpadWin32Handler :
public TouchpadController::Handler
25 TouchpadWin32Handler( GLFWwindow* window );
26 ~TouchpadWin32Handler()
override;
28 static LRESULT WINAPI WindowSubclassProc( HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam );
29 static void CALLBACK TouchpadEventPoll( PVOID lpParam, BOOLEAN timerOrWaitFired );
34 LONG_PTR glfwProc_{ NULL };
35 void processPointerHitTestEvent_( WPARAM wParam );
37 Microsoft::WRL::ComPtr<IDirectManipulationManager> manager_;
38 Microsoft::WRL::ComPtr<IDirectManipulationUpdateManager> updateManager_;
39 Microsoft::WRL::ComPtr<IDirectManipulationViewport> viewport_;
41 class DirectManipulationViewportEventHandler;
42 Microsoft::WRL::ComPtr<DirectManipulationViewportEventHandler> eventHandler_;
43 DWORD eventHandlerCookie_;
45 friend class DirectManipulationViewportEventHandler;
46 HANDLE timerQueue_{ NULL };
47 HANDLE timer_{ NULL };
48 void startTouchpadEventPolling_();
49 void stopTouchpadEventPolling_();
51 static std::map<HWND, MR::TouchpadWin32Handler*>& registry_();
52 static MR::TouchpadWin32Handler* findHandler_( HWND view );
Definition MRCameraOrientationPlugin.h:8