31 :
public Microsoft::WRL::RuntimeClass<
32 Microsoft::WRL::RuntimeClassFlags<Microsoft::WRL::RuntimeClassType::ClassicCom>,
33 Microsoft::WRL::Implements<
34 Microsoft::WRL::RuntimeClassFlags<Microsoft::WRL::RuntimeClassType::ClassicCom>,
35 Microsoft::WRL::FtmBase,
36 IDirectManipulationViewportEventHandler>> {
47 DIRECTMANIPULATION_STATUS current,
48 DIRECTMANIPULATION_STATUS previous)
override;
50 HRESULT STDMETHODCALLTYPE
OnViewportUpdated(IDirectManipulationViewport *viewport)
override;
52 HRESULT STDMETHODCALLTYPE
OnContentUpdated(IDirectManipulationViewport *viewport,
53 IDirectManipulationContent *content)
override;
56 enum { GESTURE_NONE, GESTURE_PAN, GESTURE_PINCH } gesture_state;
58 int32_t last_x, last_y, last_scale;
61 DIRECTMANIPULATION_STATUS dm_status;
108 Microsoft::WRL::ComPtr<IDirectManipulationManager> directManipulationManager,
109 Microsoft::WRL::ComPtr<IDirectManipulationUpdateManager> directManipulationUpdateManager,
110 Microsoft::WRL::ComPtr<IDirectManipulationViewport> directManipulationViewport,
111 Microsoft::WRL::ComPtr<GHOST_DirectManipulationViewportEventHandler>
112 directManipulationEventHandler,
113 DWORD directManipulationViewportHandlerCookie,
114 bool isScrollDirectionInverted);
120 static bool getScrollDirectionFromReg();
125 void registerScrollDirectionChangeListener();
129 HKEY m_scrollDirectionRegKey;
130 HANDLE m_scrollDirectionChangeEvent;
132 Microsoft::WRL::ComPtr<IDirectManipulationManager> m_directManipulationManager;
133 Microsoft::WRL::ComPtr<IDirectManipulationUpdateManager> m_directManipulationUpdateManager;
134 Microsoft::WRL::ComPtr<IDirectManipulationViewport> m_directManipulationViewport;
135 Microsoft::WRL::ComPtr<GHOST_DirectManipulationViewportEventHandler>
136 m_directManipulationEventHandler;
137 DWORD m_directManipulationViewportHandlerCookie;
139 bool m_isScrollDirectionInverted;