X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Fpublic-api%2Fcontrols%2Fpage-turn-view%2Fpage-turn-view.h;h=9898791b15a72f6f4b5dd0f8c8fd55f0cb472640;hp=91aa276790f8142f732a117fc9c02974d31bbdc0;hb=615572d21ca43c37388d9de980a8d1265e8c21fd;hpb=e2eda444afbe82e9591fe198eef339227f90a616 diff --git a/dali-toolkit/public-api/controls/page-turn-view/page-turn-view.h b/dali-toolkit/public-api/controls/page-turn-view/page-turn-view.h index 91aa276..9898791 100644 --- a/dali-toolkit/public-api/controls/page-turn-view/page-turn-view.h +++ b/dali-toolkit/public-api/controls/page-turn-view/page-turn-view.h @@ -1,29 +1,27 @@ #ifndef __DALI_TOOLKIT_PAGE_TURN_VIEW_H__ #define __DALI_TOOLKIT_PAGE_TURN_VIEW_H__ -// -// Copyright (c) 2014 Samsung Electronics Co., Ltd. -// -// Licensed under the Flora License, Version 1.0 (the License); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://floralicense.org/license/ -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an AS IS BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -// EXTERNAL INCLUDES -#include +/* + * Copyright (c) 2015 Samsung Electronics Co., Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ // INTERNAL INCLUDES #include -namespace Dali DALI_IMPORT_API +namespace Dali { namespace Toolkit @@ -38,7 +36,8 @@ class PageTurnView; } /** - * PageTurnView is a base class of different mode of pageTurnViews ( portrait or landscape ) + * @brief PageTurnView is a base class of different mode of pageTurnViews ( portrait or landscape ) + * * Page actors are provided from an external PageFactory * PanGesture is used to activate the page bending, streching and tuning forward/backward * @@ -53,12 +52,46 @@ class PageTurnView; * 3) Pan with no animation: PagePanStarted -> PagePanFinished * Pan with no animation will occur when the user touches the page in an area that does not start the * page turning. + * + * Signals + * | %Signal Name | Method | + * |--------------------|-------------------------------| + * | page-turn-started | @ref PageTurnStartedSignal() | + * | page-turn-finished | @ref PageTurnFinishedSignal() | + * | page-pan-started | @ref PagePanStartedSignal() | + * | page-pan-finished | @ref PagePanFinishedSignal() | + * + * @since DALi 1.1.4 */ -class PageTurnView : public Control +class DALI_IMPORT_API PageTurnView : public Control { public: /** + * @brief The start and end property ranges for this control. + */ + enum PropertyRange + { + PROPERTY_START_INDEX = Control::CONTROL_PROPERTY_END_INDEX + 1, + PROPERTY_END_INDEX = PROPERTY_START_INDEX + 1000 ///< Reserve property indices + }; + + struct Property + { + enum + { + PAGE_SIZE = PROPERTY_START_INDEX, ///< name "page-size", type Vector2 + CURRENT_PAGE_ID, ///< name "current-page-id", type Integer + + /** + * The two values are the major&minor radius (in pixels) to form an ellipse shape. + * The top-left quarter of this ellipse is used to calculate spine normal for simulating shadow. + */ + SPINE_SHADOW, ///< name "spine-shadow", type Vector2 + }; + }; + + /** * Creates an empty PageTurnView handle. Only derived versions can be instantiated. * Calling member function with an uninitialized handle is not allowed. */ @@ -76,9 +109,11 @@ public: PageTurnView& operator=( const PageTurnView& handle ); /** - * Virtual destructor. + * @brief Destructor + * + * This is non-virtual since derived Handle types must not contain data or virtual methods. */ - virtual ~PageTurnView(); + ~PageTurnView(); /** * Downcast an Object handle to PageTurnView. @@ -89,72 +124,11 @@ public: */ static PageTurnView DownCast( BaseHandle handle ); - /** - * Set the spine shadow parameter to the shader effects - * The two parameters are the major&minor radius (in pixels) to form an ellipse shape - * The top-left quarter of this ellipse is used to calculate spine normal for simulating shadow - * @param [in] spineShadowParameter The major&minor ellipse radius for the simulated spine shadow - */ - void SetSpineShadowParameter( const Vector2& spineShadowParameter ); - - /** - * Retrieve the spine shadow parameter of the shader effects - * @return The major&minor ellipse radius for the simulated spine shadow - */ - Vector2 GetSpineShadowParameter(); - - /* - * Go to a specific page - * @param[in] pageId The new current page index - */ - void GoToPage( unsigned int pageId ); - - /** - * Retrieve the index of the current Page - * @return The index of the current page - */ - unsigned int GetCurrentPage(); - - /** - * Enter edit mode - * Case 1, the page factory passes image actor into the view as page content, do nothing. - * Case 2, the page factory passes an actor tree into the view as page content, - * the actor tree will receive the touch event in edit mode, and set the refresh rate of the off screen render task to always - * @return an empty actor in case 1; the actor tree root of the current page - */ - Actor EnterEditMode(); - - /** - * Leave edit mode - * Case 1, the page factory passes image actor into the view as page content, do nothing. - * Case 2, the page factory passes an actor tree into the view as page content, - * the page actor will receive all the touch event, and set the refresh rage of the off screen render task to once. - */ - void LeaveEditMode(); - - /** - * Return the actor get hit in the actor tree of the current page by given the touch position on the PageTurnView - * @param[in] screenCoordinates The hit position of the PageTurnView - * @param[out] actorCoordinates The local hit position of the hitted actor - * @return the hitted actor - */ - Actor GetHitActor( Vector2& screenCoordinates, Vector2& actorCoordinates ); - - /** - * Refresh all the cached pages by calling the render task to refresh. - */ - void RefreshAll(); - - /** - * Refresh current page by calling the render task to refresh - */ - void RefreshCurrentPage(); - public: //Signal // Page Turned signal, with page index and boolean turning direction (true = forward, false = backward) - typedef SignalV2< void ( PageTurnView, unsigned int, bool ) > PageTurnSignal; - typedef SignalV2< void ( PageTurnView ) > PagePanSignal; + typedef Signal< void ( PageTurnView, unsigned int, bool ) > PageTurnSignal; + typedef Signal< void ( PageTurnView ) > PagePanSignal; /** * Signal emitted when a page has started to turn over. @@ -208,7 +182,7 @@ public: // Not intended for application developers * Allows the creation of this Control from an Internal::CustomActor pointer. * @param[in] internal A pointer to the internal CustomActor. */ - DALI_INTERNAL PageTurnView(Dali::Internal::CustomActor* internal); + explicit DALI_INTERNAL PageTurnView(Dali::Internal::CustomActor* internal); }; } // namespace Toolkit