X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fcontrols%2FFWebCtrl_Web.h;h=5dc1c4a5a59d81f3d4c23bb9ad3c4daf5e4b7d3f;hb=42a27b62eb0eab690d8a7c3bd10bb18bb5cfde06;hp=c6c5885964f78f7517db1572892b5fe76844ada6;hpb=50dd09d3d33542e0b6fb1ba86906edec972f7756;p=framework%2Fosp%2Fweb.git diff --git a/src/controls/FWebCtrl_Web.h b/src/controls/FWebCtrl_Web.h index c6c5885..5dc1c4a 100755 --- a/src/controls/FWebCtrl_Web.h +++ b/src/controls/FWebCtrl_Web.h @@ -32,9 +32,11 @@ #include #include #include +#include namespace Tizen { namespace Ui { +class _AccessibilityElement; class _TouchInfo; }} // Tizen::Ui @@ -59,6 +61,9 @@ class _TapGestureState; class _PanningGestureState; class _FlickGestureState; class _PinchGestureState; +class _WebAccessibilityListener; +class _WebAccessibilityFocusHandler; +class WebSetting; enum _WebGestureType { @@ -68,12 +73,22 @@ enum _WebGestureType 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::_ITouchPinchGestureEventListener - , 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 @@ -98,22 +113,35 @@ public: Tizen::Graphics::Point GetRelativeCoordinate(Tizen::Graphics::Point absolutePoint); Tizen::Graphics::FloatPoint GetRelativeCoordinate(Tizen::Graphics::FloatPoint absolutePoint); - void SetWebSettingImpl(Tizen::Web::Controls::_WebSettingImpl* pWebSettingImpl); - _WebSettingImpl* GetWebSettingImpl(void) const; + WebSetting* GetSetting(void) const; + + _EflWebkit* GetEflWebkit(void) const; + + 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 void OnTouchPressHandled(const Tizen::Ui::_Control& control); - virtual void OnTouchReleaseHandled(const Tizen::Ui::_Control& control); - virtual void OnTouchMoveHandled(const Tizen::Ui::_Control& control); - virtual void OnTouchCancelHandled(const Tizen::Ui::_Control& control); - virtual bool OnPinchGestureStarted(Tizen::Ui::_TouchPinchGestureDetector& gesture); virtual bool OnPinchGestureChanged(Tizen::Ui::_TouchPinchGestureDetector& gesture); virtual bool OnPinchGestureFinished(Tizen::Ui::_TouchPinchGestureDetector& gesture); @@ -128,8 +156,15 @@ public: virtual bool OnTapGestureDetected(Tizen::Ui::_TouchTapGestureDetector& gesture); virtual bool OnTapGestureCanceled(Tizen::Ui::_TouchTapGestureDetector& gesture); - virtual Tizen::Graphics::Canvas* OnCanvasRequestedFN(const Tizen::Graphics::FloatRectangle& 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); @@ -148,15 +183,13 @@ private: 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 __pWebSetting; + std::unique_ptr __pGestureFlick; std::unique_ptr __pGestureLongPress; @@ -175,7 +208,25 @@ private: 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