1 /*
2  *  Copyright (C) 2012-2018 Team Kodi
3  *  This file is part of Kodi - https://kodi.tv
4  *
5  *  SPDX-License-Identifier: GPL-2.0-or-later
6  *  See LICENSES/README.md for more information.
7  */
8 
9 #include "ITouchInputHandling.h"
10 
RegisterHandler(ITouchActionHandler * touchHandler)11 void ITouchInputHandling::RegisterHandler(ITouchActionHandler* touchHandler)
12 {
13   m_handler = touchHandler;
14 }
15 
UnregisterHandler()16 void ITouchInputHandling::UnregisterHandler()
17 {
18   m_handler = NULL;
19 }
20 
OnTouchAbort()21 void ITouchInputHandling::OnTouchAbort()
22 {
23   if (m_handler)
24     m_handler->OnTouchAbort();
25 }
26 
OnSingleTouchStart(float x,float y)27 bool ITouchInputHandling::OnSingleTouchStart(float x, float y)
28 {
29   if (m_handler)
30     return m_handler->OnSingleTouchStart(x, y);
31 
32   return true;
33 }
34 
OnSingleTouchHold(float x,float y)35 bool ITouchInputHandling::OnSingleTouchHold(float x, float y)
36 {
37   if (m_handler)
38     return m_handler->OnSingleTouchHold(x, y);
39 
40   return true;
41 }
42 
OnSingleTouchMove(float x,float y,float offsetX,float offsetY,float velocityX,float velocityY)43 bool ITouchInputHandling::OnSingleTouchMove(
44     float x, float y, float offsetX, float offsetY, float velocityX, float velocityY)
45 {
46   if (m_handler)
47     return m_handler->OnSingleTouchMove(x, y, offsetX, offsetY, velocityX, velocityY);
48 
49   return true;
50 }
51 
OnSingleTouchEnd(float x,float y)52 bool ITouchInputHandling::OnSingleTouchEnd(float x, float y)
53 {
54   if (m_handler)
55     return m_handler->OnSingleTouchEnd(x, y);
56 
57   return true;
58 }
59 
OnMultiTouchDown(float x,float y,int32_t pointer)60 bool ITouchInputHandling::OnMultiTouchDown(float x, float y, int32_t pointer)
61 {
62   if (m_handler)
63     return m_handler->OnMultiTouchDown(x, y, pointer);
64 
65   return true;
66 }
67 
OnMultiTouchHold(float x,float y,int32_t pointers)68 bool ITouchInputHandling::OnMultiTouchHold(float x, float y, int32_t pointers /* = 2 */)
69 {
70   if (m_handler)
71     return m_handler->OnMultiTouchHold(x, y, pointers);
72 
73   return true;
74 }
75 
OnMultiTouchMove(float x,float y,float offsetX,float offsetY,float velocityX,float velocityY,int32_t pointer)76 bool ITouchInputHandling::OnMultiTouchMove(float x,
77                                            float y,
78                                            float offsetX,
79                                            float offsetY,
80                                            float velocityX,
81                                            float velocityY,
82                                            int32_t pointer)
83 {
84   if (m_handler)
85     return m_handler->OnMultiTouchMove(x, y, offsetX, offsetY, velocityX, velocityY, pointer);
86 
87   return true;
88 }
89 
OnMultiTouchUp(float x,float y,int32_t pointer)90 bool ITouchInputHandling::OnMultiTouchUp(float x, float y, int32_t pointer)
91 {
92   if (m_handler)
93     return m_handler->OnMultiTouchUp(x, y, pointer);
94 
95   return true;
96 }
97 
OnTouchGestureStart(float x,float y)98 bool ITouchInputHandling::OnTouchGestureStart(float x, float y)
99 {
100   if (m_handler)
101     return m_handler->OnTouchGestureStart(x, y);
102 
103   return true;
104 }
105 
OnTouchGesturePan(float x,float y,float offsetX,float offsetY,float velocityX,float velocityY)106 bool ITouchInputHandling::OnTouchGesturePan(
107     float x, float y, float offsetX, float offsetY, float velocityX, float velocityY)
108 {
109   if (m_handler)
110     return m_handler->OnTouchGesturePan(x, y, offsetX, offsetY, velocityX, velocityY);
111 
112   return true;
113 }
114 
OnTouchGestureEnd(float x,float y,float offsetX,float offsetY,float velocityX,float velocityY)115 bool ITouchInputHandling::OnTouchGestureEnd(
116     float x, float y, float offsetX, float offsetY, float velocityX, float velocityY)
117 {
118   if (m_handler)
119     return m_handler->OnTouchGestureEnd(x, y, offsetX, offsetY, velocityX, velocityY);
120 
121   return true;
122 }
123 
OnTap(float x,float y,int32_t pointers)124 void ITouchInputHandling::OnTap(float x, float y, int32_t pointers /* = 1 */)
125 {
126   if (m_handler)
127     m_handler->OnTap(x, y, pointers);
128 }
129 
OnLongPress(float x,float y,int32_t pointers)130 void ITouchInputHandling::OnLongPress(float x, float y, int32_t pointers /* = 1 */)
131 {
132   if (m_handler)
133     m_handler->OnLongPress(x, y, pointers);
134 }
135 
OnSwipe(TouchMoveDirection direction,float xDown,float yDown,float xUp,float yUp,float velocityX,float velocityY,int32_t pointers)136 void ITouchInputHandling::OnSwipe(TouchMoveDirection direction,
137                                   float xDown,
138                                   float yDown,
139                                   float xUp,
140                                   float yUp,
141                                   float velocityX,
142                                   float velocityY,
143                                   int32_t pointers /* = 1 */)
144 {
145   if (m_handler)
146     m_handler->OnSwipe(direction, xDown, yDown, xUp, yUp, velocityX, velocityY, pointers);
147 }
148 
OnZoomPinch(float centerX,float centerY,float zoomFactor)149 void ITouchInputHandling::OnZoomPinch(float centerX, float centerY, float zoomFactor)
150 {
151   if (m_handler)
152     m_handler->OnZoomPinch(centerX, centerY, zoomFactor);
153 }
154 
OnRotate(float centerX,float centerY,float angle)155 void ITouchInputHandling::OnRotate(float centerX, float centerY, float angle)
156 {
157   if (m_handler)
158     m_handler->OnRotate(centerX, centerY, angle);
159 }
160