2 // Open Service Platform
3 // Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
5 // Licensed under the Apache License, Version 2.0 (the License);
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
9 // http://www.apache.org/licenses/LICENSE-2.0/
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an "AS IS" BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
18 #include <FAppUiApp.h>
19 #include <FAppIAppFrame.h>
20 #include <FBaseSysLog.h>
21 #include <FGrpCoordinateSystem.h>
22 #include <FGrpDimension.h>
23 #include <FUiCtrlFrame.h>
24 #include <FUiCtrlForm.h>
25 #include "FUi_AccessibilityGesture.h"
26 #include "FUi_AccessibilityManager.h"
27 #include "FUi_ControlManager.h"
29 #include "FUiAnim_RootVisualElement.h"
30 #include "FUiAnim_AnimationManager.h"
31 #include "FUiAnim_DisplayManager.h"
32 #include "FUiAnim_EflLayer.h"
33 #include "FUi_Window.h"
35 using namespace Tizen::App;
36 using namespace Tizen::Graphics;
37 using namespace Tizen::Ui::Controls;
42 void ConvertTouchPosition(Tizen::Ui::_AccessibilityGestureType& type, float &x, float&y)
44 Tizen::Ui::_Window* pWindow = Tizen::Ui::_ControlManager::GetInstance()->GetCurrentFrame();
45 Tizen::Ui::Animations::_RootVisualElement* pRootVE = pWindow->GetRootVisualElement();
46 Tizen::Ui::Animations::_EflLayer* pLayer = static_cast<Tizen::Ui::Animations::_EflLayer*>(pRootVE->GetNativeLayer());
48 Ecore_Evas* pEcoreEvas = pLayer->GetEcoreEvas();
49 Ecore_X_Window win = (Ecore_X_Window)ecore_evas_window_get(pEcoreEvas);
53 ecore_x_window_size_get(ecore_x_window_root_get(win), &rootW, &rootH);
55 int rotation = ecore_evas_rotation_get(pEcoreEvas);
68 case Tizen::Ui::_ACCESSIBILITY_GESTURE_TYPE_FLICK_UP:
69 type = Tizen::Ui::_ACCESSIBILITY_GESTURE_TYPE_FLICK_LEFT;
71 case Tizen::Ui::_ACCESSIBILITY_GESTURE_TYPE_FLICK_DOWN:
72 type = Tizen::Ui::_ACCESSIBILITY_GESTURE_TYPE_FLICK_RIGHT;
74 case Tizen::Ui::_ACCESSIBILITY_GESTURE_TYPE_FLICK_LEFT:
75 type = Tizen::Ui::_ACCESSIBILITY_GESTURE_TYPE_FLICK_DOWN;
77 case Tizen::Ui::_ACCESSIBILITY_GESTURE_TYPE_FLICK_RIGHT:
78 type = Tizen::Ui::_ACCESSIBILITY_GESTURE_TYPE_FLICK_UP;
93 case Tizen::Ui::_ACCESSIBILITY_GESTURE_TYPE_FLICK_UP:
94 type = Tizen::Ui::_ACCESSIBILITY_GESTURE_TYPE_FLICK_DOWN;
96 case Tizen::Ui::_ACCESSIBILITY_GESTURE_TYPE_FLICK_DOWN:
97 type = Tizen::Ui::_ACCESSIBILITY_GESTURE_TYPE_FLICK_UP;
99 case Tizen::Ui::_ACCESSIBILITY_GESTURE_TYPE_FLICK_LEFT:
100 type = Tizen::Ui::_ACCESSIBILITY_GESTURE_TYPE_FLICK_RIGHT;
102 case Tizen::Ui::_ACCESSIBILITY_GESTURE_TYPE_FLICK_RIGHT:
103 type = Tizen::Ui::_ACCESSIBILITY_GESTURE_TYPE_FLICK_LEFT;
117 case Tizen::Ui::_ACCESSIBILITY_GESTURE_TYPE_FLICK_UP:
118 type = Tizen::Ui::_ACCESSIBILITY_GESTURE_TYPE_FLICK_RIGHT;
120 case Tizen::Ui::_ACCESSIBILITY_GESTURE_TYPE_FLICK_DOWN:
121 type = Tizen::Ui::_ACCESSIBILITY_GESTURE_TYPE_FLICK_LEFT;
123 case Tizen::Ui::_ACCESSIBILITY_GESTURE_TYPE_FLICK_LEFT:
124 type = Tizen::Ui::_ACCESSIBILITY_GESTURE_TYPE_FLICK_UP;
126 case Tizen::Ui::_ACCESSIBILITY_GESTURE_TYPE_FLICK_RIGHT:
127 type = Tizen::Ui::_ACCESSIBILITY_GESTURE_TYPE_FLICK_DOWN;
139 namespace Tizen { namespace Ui
141 _AccessibilityGesture::_AccessibilityGesture(_AccessibilityManager& manager)
142 : __pManager(&manager)
146 _AccessibilityGesture::~_AccessibilityGesture(void)
151 _AccessibilityGesture::ProcessGesture(_AccessibilityGestureType type, float x, float y)
153 x = CoordinateSystem::ConvertToLogicalX(x);
154 y = CoordinateSystem::ConvertToLogicalY(y);
155 //ConvertTouchPosition(type, x,y);
156 _AccessibilityManager::GetInstance()->ProcessGesture(type,Tizen::Graphics::FloatPoint(x, y));