#include <FUi_Control.h>
#include <FUi_ITouchFlickGestureEventListener.h>
#include <FUi_ITouchLongPressGestureEventListener.h>
+#include <FUi_ITouchPinchGestureEventListener.h>
#include <FUi_ITouchTapGestureEventListener.h>
+#include <FUiAnim_IVisualElementCaptureProvider.h>
namespace Tizen { namespace Ui
{
+class _AccessibilityElement;
class _TouchInfo;
}} // Tizen::Ui
class Canvas;
class Dimension;
class Point;
+class FloatRectangle;
}} // Tizen::Graphics
namespace Tizen { namespace Web { namespace Controls
class _EflWebkit;
class _WebSettingImpl;
class _TapGestureState;
-class _DoubleTapGestureState;
class _PanningGestureState;
class _FlickGestureState;
class _PinchGestureState;
+class _WebAccessibilityListener;
+class _WebAccessibilityFocusHandler;
+class WebSetting;
enum _WebGestureType
{
WEB_GESTURE_TYPE_TAP,
- WEB_GESTURE_TYPE_DOUBLE_TAP,
WEB_GESTURE_TYPE_PANNING,
WEB_GESTURE_TYPE_FLICK,
WEB_GESTURE_TYPE_PINCH
};
+enum _WebEdgeType
+{
+ WEB_EDGE_NONE = 1,
+ WEB_EDGE_LEFT = 1 << 1,
+ WEB_EDGE_RIGHT = 1 << 2,
+ WEB_EDGE_TOP = 1 << 3,
+ WEB_EDGE_BOTTOM = 1 << 4,
+};
+
class _Web
: public Tizen::Ui::_Control
- , Tizen::Ui::_ITouchFlickGestureEventListener
- , Tizen::Ui::_ITouchLongPressGestureEventListener
- , Tizen::Ui::_ITouchTapGestureEventListener
+ , public Tizen::Ui::_ITouchFlickGestureEventListener
+ , public Tizen::Ui::_ITouchLongPressGestureEventListener
+ , public Tizen::Ui::_ITouchPinchGestureEventListener
+ , public Tizen::Ui::_ITouchTapGestureEventListener
+ , public Tizen::Ui::Animations::_IVisualElementCaptureProvider
, virtual public Tizen::Base::Runtime::IEventListener
, virtual public Tizen::Ui::_IUiEventListener
, virtual public Tizen::Ui::_IUiEventPreviewer
void ChangeGesture(_WebGestureType type);
Tizen::Graphics::Point GetAbsoluteCoordinate(Tizen::Graphics::Point relativePoint);
+ Tizen::Graphics::FloatPoint GetAbsoluteCoordinate(Tizen::Graphics::FloatPoint relativePoint);
Tizen::Graphics::Point GetRelativeCoordinate(Tizen::Graphics::Point absolutePoint);
+ Tizen::Graphics::FloatPoint GetRelativeCoordinate(Tizen::Graphics::FloatPoint absolutePoint);
- void SetWebSettingImpl(Tizen::Web::Controls::_WebSettingImpl* pWebSettingImpl);
+ WebSetting* GetSetting(void) const;
- _WebSettingImpl* GetWebSettingImpl(void) const;
+ _EflWebkit* GetEflWebkit(void) const;
- virtual result OnAttaching(const _Control* pParent);
+ Tizen::Graphics::FloatPoint GetTouchPosition(void) const;
+
+ void SetEdgeReachedEvent(_WebEdgeType type);
+ void SetFullScreenEntered(bool isFullScreenEntered);
+
+ void SetFocusEnd(bool focus);
+
+ bool IsFocusEnd(void) const;
+
+ bool CanOutOfEdgeLeft(float scrollDistanceX, int pageDistance);
+ bool CanOutOfEdgeRight(float scrollDistanceX, int pageDistance);
+ bool CanOutOfEdgeTop(float scrollDistanceY, int pageDistance);
+ bool CanOutOfEdgeBottom(float scrollDistanceY, int pageDistance);
+ bool CanConsumeTouchMoved(float scrollDistanceX, float scrollDistanceY);
+ virtual result OnAttaching(const _Control* pParent);
virtual result OnBoundsChanging(const Tizen::Graphics::Rectangle& bounds);
+ virtual void OnBoundsChanged(void);
+ virtual void OnChangeLayout(Tizen::Ui::_ControlOrientation orientation);
virtual bool OnTouchPressed(const Tizen::Ui::_Control& source, const Tizen::Ui::_TouchInfo& touchInfo);
-
virtual bool OnTouchReleased(const Tizen::Ui::_Control& source, const Tizen::Ui::_TouchInfo& touchInfo);
-
virtual bool OnTouchMoved(const Tizen::Ui::_Control& source, const Tizen::Ui::_TouchInfo& touchInfo);
-
virtual bool OnTouchCanceled(const Tizen::Ui::_Control& source, const Tizen::Ui::_TouchInfo& touchInfo);
- virtual bool OnFlickGestureDetected(Tizen::Ui::_TouchFlickGestureDetector& gesture);
+ virtual bool OnPinchGestureStarted(Tizen::Ui::_TouchPinchGestureDetector& gesture);
+ virtual bool OnPinchGestureChanged(Tizen::Ui::_TouchPinchGestureDetector& gesture);
+ virtual bool OnPinchGestureFinished(Tizen::Ui::_TouchPinchGestureDetector& gesture);
+ virtual bool OnPinchGestureCanceled(Tizen::Ui::_TouchPinchGestureDetector& gesture);
+ virtual bool OnFlickGestureDetected(Tizen::Ui::_TouchFlickGestureDetector& gesture);
virtual bool OnFlickGestureCanceled(Tizen::Ui::_TouchFlickGestureDetector& gesture);
virtual bool OnLongPressGestureDetected(Tizen::Ui::_TouchLongPressGestureDetector& gesture);
-
virtual bool OnLongPressGestureCanceled(Tizen::Ui::_TouchLongPressGestureDetector& gesture);
virtual bool OnTapGestureDetected(Tizen::Ui::_TouchTapGestureDetector& gesture);
-
virtual bool OnTapGestureCanceled(Tizen::Ui::_TouchTapGestureDetector& gesture);
- virtual Tizen::Graphics::Canvas* OnCanvasRequestedN(const Tizen::Graphics::Dimension& size);
-
+ virtual Tizen::Graphics::Canvas* OnCanvasRequestedN(const Tizen::Graphics::FloatRectangle& size);
virtual Tizen::Graphics::Bitmap* OnCapturedBitmapRequestedN(void);
+ virtual bool OnCaptureAcquire(Tizen::Graphics::BufferInfo& output);
+ virtual void OnCaptureReleased(void) {};
+
+ virtual bool OnKeyPressed(const Tizen::Ui::_Control& source, const Tizen::Ui::_KeyInfo& keyInfo);
+ virtual bool OnKeyReleased(const Tizen::Ui::_Control& source, const Tizen::Ui::_KeyInfo& keyInfo);
+ virtual void OnDrawFocus(void);
+ virtual bool OnFocusLost(const Tizen::Ui::_Control& source);
private:
_Web(const _Web& value);
Ewk_Touch_Event_Type GetEwkTouchEvent(Tizen::Ui::_TouchStatus touchStatus);
Evas_Touch_Point_State GetEvasTouchState(Tizen::Ui::TouchStatus touchStatus);
- void DumpPointList(void* pData);
-
private:
Tizen::Ui::_ITouchEventListener* __pGestureHandler;
- Tizen::Web::Controls::_WebSettingImpl* __pWebSettingImpl;
-
std::unique_ptr<_EflWebkit> __pEflWebkit;
+ std::unique_ptr<WebSetting> __pWebSetting;
+
std::unique_ptr<Tizen::Ui::_TouchFlickGestureDetector> __pGestureFlick;
std::unique_ptr<Tizen::Ui::_TouchLongPressGestureDetector> __pGestureLongPress;
+ std::unique_ptr<Tizen::Ui::_TouchPinchGestureDetector> __pGesturePinch;
+
std::unique_ptr<Tizen::Ui::_TouchTapGestureDetector> __pGestureDoubleTap;
std::unique_ptr<Tizen::Base::Collection::IListT<Tizen::Ui::_TouchInfo*> > __pTouchEventInfoList;
std::unique_ptr<_TapGestureState> __pTapGestureHandler;
- std::unique_ptr<_DoubleTapGestureState> __pDoubleTapGestureHandler;
-
std::unique_ptr<_PanningGestureState> __pPanningGestureHandler;
std::unique_ptr<_FlickGestureState> __pFlickGestureHandler;
std::unique_ptr<_PinchGestureState> __pPinchGestureHandler;
+
+ std::unique_ptr<_WebAccessibilityListener> __pWebAccessibilityListener;
+
+ std::unique_ptr<_WebAccessibilityFocusHandler> __pWebAccessibilityFocusHandler;
+
+ _WebGestureType __gestureType;
+
+ int __edgeType;
+
+ bool __focus;
+
+ Tizen::Ui::_AccessibilityElement* __pTextElement;
+
+ Tizen::Graphics::FloatPoint __previousTouchedPosition;
+
+ bool __isFullScreenEntered;
+
+ bool __isRotated;
+
+ bool __touchPressed;
}; // _Web
}}} // Tizen::Web::Controls