modules/graphics/src/main/native-glass/win/ViewContainer.h

Print this page




  30 
  31 class ViewContainer {
  32     private:
  33         GlassView * m_view;
  34         BOOL m_bTrackingMouse;
  35         HKL m_kbLayout;
  36         UINT m_codePage;
  37         LANGID m_idLang;
  38         WPARAM m_deadKeyWParam;
  39 
  40         std::auto_ptr<IDropTarget> m_spDropTarget;
  41 
  42         IManipulationProcessor*             m_manipProc;
  43         IInertiaProcessor*                  m_inertiaProc;
  44         _IManipulationEvents*               m_manipEventSink;
  45         jclass                              m_gestureSupportCls;
  46 
  47         LPARAM m_lastMouseMovePosition; // or -1
  48         unsigned int m_mouseButtonDownCounter;
  49 




  50         void WmImeComposition(HWND hwnd, WPARAM wParam, LPARAM lParam);
  51         void WmImeNotify(HWND hwnd, WPARAM wParam, LPARAM lParam);
  52         void SendInputMethodEvent(jstring text,
  53             int cClause, int* rgClauseBoundary,
  54             int cAttrBlock, int* rgAttrBoundary, BYTE *rgAttrValue,
  55             int commitedTextLength, int caretPos, int visiblePos);
  56         void GetCandidatePos(LPPOINT curPos);
  57 
  58         void SendViewTypedEvent(int repCount, jchar wChar);
  59 
  60     protected:
  61         void HandleViewMenuEvent(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
  62         void HandleViewInputLangChange(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
  63         void HandleViewPaintEvent(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
  64         void HandleViewSizeEvent(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
  65         void HandleViewKeyEvent(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
  66         void HandleViewDeadKeyEvent(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
  67         void HandleViewTypedEvent(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
  68         BOOL HandleViewMouseEvent(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
  69         BOOL HandleViewInputMethodEvent(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
  70         void HandleViewTouchEvent(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
  71         LRESULT HandleViewGetAccessible(HWND hwnd, WPARAM wParam, LPARAM lParam);
  72     
  73         virtual void HandleViewTimerEvent(HWND hwnd, UINT_PTR timerID);
  74 
  75         void InitDropTarget(HWND hwnd);
  76         void ReleaseDropTarget();
  77 
  78         void InitManipProcessor(HWND hwnd);
  79         void ReleaseManipProcessor();
  80 
  81         void NotifyCaptureChanged(HWND hwnd, HWND to);
  82 
  83     private:
  84         ViewContainer(const ViewContainer&);
  85         ViewContainer& operator = (const ViewContainer&);
  86     
  87     public:
  88         enum {
  89             IDT_GLASS_ANIMATION_ENTER = 0x101,
  90             IDT_GLASS_ANIMATION_EXIT,
  91             IDT_GLASS_INERTIAPROCESSOR,
  92         };
  93         
  94         ViewContainer();
  95 
  96         inline GlassView * GetGlassView() const { return m_view; }
  97         inline void SetGlassView(GlassView * view) { m_view = view; }
  98         inline LANGID GetInputLanguage() { return m_idLang; }
  99 
 100         jobject GetView();
 101 
 102         void ResetMouseTracking(HWND hwnd);


 103 
 104         void NotifyViewSize(HWND hwnd);
 105         
 106         void NotifyGesturePerformed(HWND hWnd, 
 107             bool isDirect, bool isInertia,
 108             FLOAT x, FLOAT y, 
 109             FLOAT deltaX, FLOAT deltaY,
 110             FLOAT scaleDelta, FLOAT expansionDelta, FLOAT rotationDelta,
 111             FLOAT cumulativeDeltaX, FLOAT cumulativeDeltaY,
 112             FLOAT cumulativeScale, FLOAT cumulativeExpansion, FLOAT cumulativeRotation);
 113         
 114         void StartTouchInputInertia(HWND hwnd);
 115         void StopTouchInputInertia(HWND hwnd);
 116 };
 117 
 118 #endif // VIEWCONTAINER_H
 119 


  30 
  31 class ViewContainer {
  32     private:
  33         GlassView * m_view;
  34         BOOL m_bTrackingMouse;
  35         HKL m_kbLayout;
  36         UINT m_codePage;
  37         LANGID m_idLang;
  38         WPARAM m_deadKeyWParam;
  39 
  40         std::auto_ptr<IDropTarget> m_spDropTarget;
  41 
  42         IManipulationProcessor*             m_manipProc;
  43         IInertiaProcessor*                  m_inertiaProc;
  44         _IManipulationEvents*               m_manipEventSink;
  45         jclass                              m_gestureSupportCls;
  46 
  47         LPARAM m_lastMouseMovePosition; // or -1
  48         unsigned int m_mouseButtonDownCounter;
  49 
  50         UINT m_lastTouchInputCount;
  51         std::vector<TOUCHINPUT> m_lastTouchInputBuf;
  52         std::vector<TOUCHINPUT> m_thisTouchInputBuf;
  53 
  54         void WmImeComposition(HWND hwnd, WPARAM wParam, LPARAM lParam);
  55         void WmImeNotify(HWND hwnd, WPARAM wParam, LPARAM lParam);
  56         void SendInputMethodEvent(jstring text,
  57             int cClause, int* rgClauseBoundary,
  58             int cAttrBlock, int* rgAttrBoundary, BYTE *rgAttrValue,
  59             int commitedTextLength, int caretPos, int visiblePos);
  60         void GetCandidatePos(LPPOINT curPos);
  61 
  62         void SendViewTypedEvent(int repCount, jchar wChar);
  63 
  64     protected:
  65         void HandleViewMenuEvent(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
  66         void HandleViewInputLangChange(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
  67         void HandleViewPaintEvent(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
  68         void HandleViewSizeEvent(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
  69         void HandleViewKeyEvent(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
  70         void HandleViewDeadKeyEvent(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
  71         void HandleViewTypedEvent(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
  72         BOOL HandleViewMouseEvent(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
  73         BOOL HandleViewInputMethodEvent(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);

  74         LRESULT HandleViewGetAccessible(HWND hwnd, WPARAM wParam, LPARAM lParam);
  75     
  76         virtual void HandleViewTimerEvent(HWND hwnd, UINT_PTR timerID);
  77 
  78         void InitDropTarget(HWND hwnd);
  79         void ReleaseDropTarget();
  80 
  81         void InitManipProcessor(HWND hwnd);
  82         void ReleaseManipProcessor();
  83 
  84         void NotifyCaptureChanged(HWND hwnd, HWND to);
  85 
  86     private:
  87         ViewContainer(const ViewContainer&);
  88         ViewContainer& operator = (const ViewContainer&);
  89     
  90     public:
  91         enum {
  92             IDT_GLASS_ANIMATION_ENTER = 0x101,
  93             IDT_GLASS_ANIMATION_EXIT,
  94             IDT_GLASS_INERTIAPROCESSOR,
  95         };
  96         
  97         ViewContainer();
  98 
  99         inline GlassView * GetGlassView() const { return m_view; }
 100         inline void SetGlassView(GlassView * view) { m_view = view; }
 101         inline LANGID GetInputLanguage() { return m_idLang; }
 102 
 103         jobject GetView();
 104 
 105         void ResetMouseTracking(HWND hwnd);
 106 
 107         unsigned int HandleViewTouchEvent(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
 108 
 109         void NotifyViewSize(HWND hwnd);
 110         
 111         void NotifyGesturePerformed(HWND hWnd, 
 112             bool isDirect, bool isInertia,
 113             FLOAT x, FLOAT y, 
 114             FLOAT deltaX, FLOAT deltaY,
 115             FLOAT scaleDelta, FLOAT expansionDelta, FLOAT rotationDelta,
 116             FLOAT cumulativeDeltaX, FLOAT cumulativeDeltaY,
 117             FLOAT cumulativeScale, FLOAT cumulativeExpansion, FLOAT cumulativeRotation);
 118         
 119         void StartTouchInputInertia(HWND hwnd);
 120         void StopTouchInputInertia(HWND hwnd);
 121 };
 122 
 123 #endif // VIEWCONTAINER_H
 124