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