X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fcontrols%2Fvideo-view%2Fvideo-view-impl.h;h=d23c622700cd151af76a4b38b5854fd5800f28bf;hb=debf82555db7c20b8cb890d0548227ae42ef92d8;hp=3d345a30c9def5493a52a58d0eddd12ad476b427;hpb=2b0beeb59996e7b52649eab32c9c5a964a894f08;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-toolkit/internal/controls/video-view/video-view-impl.h b/dali-toolkit/internal/controls/video-view/video-view-impl.h index 3d345a3..d23c622 100755 --- a/dali-toolkit/internal/controls/video-view/video-view-impl.h +++ b/dali-toolkit/internal/controls/video-view/video-view-impl.h @@ -2,7 +2,7 @@ #define DALI_TOOLKIT_INTERNAL_VIDEO_VIEW_H /* - * Copyright (c) 2019 Samsung Electronics Co., Ltd. + * Copyright (c) 2020 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. @@ -20,7 +20,6 @@ // EXTERNAL INCLUDES #include -#include #include #include #include @@ -28,6 +27,7 @@ #include #include #include +#include // INTERNAL INCLUDES #include @@ -48,16 +48,16 @@ class VideoView: public Control { protected: - VideoView(); + VideoView( Dali::VideoSyncMode syncMode ); virtual ~VideoView(); public: /** - * @copydoc Toolkit::VideoView::New() + * @copydoc Toolkit::DevelVideoView::New() */ - static Toolkit::VideoView New(); + static Toolkit::VideoView New( VideoSyncMode syncMode ); /** * @brief Sets a video url to play. @@ -256,37 +256,53 @@ public: */ Any GetMediaPlayer(); + /** + * @brief Play the resize or move animation with synchronization between UI(transparent hole) and video player + * + * The resize and move animation's play() function is called. + * If the animation is played, UI and video player will work synchronization. + * + * @param[in] videoView The current VideoView + * @param[in] animation The animation for video view's resize or move. + */ + void PlayAnimation( Dali::Animation animation ); + private: // From Control /** * @copydoc Toolkit::Control::OnInitialize() */ - virtual void OnInitialize(); + void OnInitialize() override; /** - * @copydoc Toolkit::Control::OnStageConnect() + * @copydoc Toolkit::Control::OnSceneConnection() */ - virtual void OnStageConnection( int depth ); + void OnSceneConnection( int depth ) override; /** - * @copydoc Toolkit::Control::OnStageDisconnection() + * @copydoc Toolkit::Control::OnSceneDisconnection() */ - virtual void OnStageDisconnection(); + void OnSceneDisconnection() override; + + /** + * @copydoc Toolkit::Control::OnSizeSet() + */ + void OnSizeSet( const Vector3& targetSize ) override; /** * @copydoc Toolkit::Control::GetNaturalSize */ - virtual Vector3 GetNaturalSize(); + Vector3 GetNaturalSize() override; /** * @copydoc Toolkit::Control::GetHeightForWidth() */ - virtual float GetHeightForWidth( float width ); + float GetHeightForWidth( float width ) override; /** * @copydoc Toolkit::Control::GetWidthForHeight() */ - virtual float GetWidthForHeight( float height ); + float GetWidthForHeight( float height ) override; private: @@ -331,6 +347,32 @@ private: */ void ApplyBackupProperties(); + /* + * @brief FrameRender's callback function + * + * This function means the resize/move animation is finished, + * so Ui and video player's synchronization can be finished. + * + */ + void FrameRenderCallback( int frameID ); + + /* + * @brief Set frameRender Callback function + * + * This function is added for listenr the resize/move animation is finished, + * + */ + void SetFrameRenderCallback(); + + + /* + * @brief resize/move animation finished callback function + * + * This function is called the resize/move animation is finished, + * + */ + void OnAnimationFinished( Dali::Animation& animation ); + private: Dali::VideoPlayer mVideoPlayer; @@ -349,8 +391,12 @@ private: Dali::Property::Map mPropertyBackup; int mCurrentVideoPlayPosition; + int mFrameID; + bool mIsPlay; bool mIsUnderlay; + + Dali::VideoSyncMode mSyncMode; }; } // namespace Internal