X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fcontrols%2Fvideo-view%2Fvideo-view-impl.h;h=3d345a30c9def5493a52a58d0eddd12ad476b427;hp=d5a498a833af174a40ef609737e61b58b5fbde1c;hb=2b0beeb59996e7b52649eab32c9c5a964a894f08;hpb=d234b59deebc2c0629b70447003199d51ef17054 diff --git a/dali-toolkit/internal/controls/video-view/video-view-impl.h b/dali-toolkit/internal/controls/video-view/video-view-impl.h old mode 100644 new mode 100755 index d5a498a..3d345a3 --- 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) 2016 Samsung Electronics Co., Ltd. + * Copyright (c) 2019 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. @@ -21,11 +21,15 @@ // EXTERNAL INCLUDES #include #include +#include +#include +#include +#include +#include #include -#include +#include // INTERNAL INCLUDES -#include #include #include @@ -210,7 +214,7 @@ public: /** * @brief Updates video display area for window rendering target */ - void UpdateDisplayArea(); + void UpdateDisplayArea( Dali::PropertyNotification& source ); /** * @brief Sets underlay flag and initializes new rendering target by flag. @@ -222,6 +226,36 @@ public: */ bool IsUnderlay(); + /** + * @brief Sets sw codec type. + */ + void SetSWCodec( bool on ); + + /** + * @brief Gets play position. + */ + int GetPlayPosition(); + + /** + * @brief Sets play position. + */ + void SetPlayPosition( int pos ); + + /** + * @brief Sets Display mode. + */ + void SetDisplayMode( int mode ); + + /** + * @brief Gets Display mode. + */ + int GetDisplayMode() const; + + /** + * @brief Gets internal media player. + */ + Any GetMediaPlayer(); + private: // From Control /** @@ -256,33 +290,66 @@ private: // From Control private: - // Undefined + /** + * @brief Construct a new VideoView. + */ VideoView( const VideoView& videoView ); + // Undefined assignment operator. VideoView& operator=( const VideoView& videoView ); + /** + * @brief SetWindowSurfaceTarget for underlay video playback. + */ void SetWindowSurfaceTarget(); + /** + * @brief SetNativeImageTarget for native image video playback. + */ void SetNativeImageTarget(); + /** + * @brief CreateShader for native image target + */ + Dali::Shader CreateShader(); + + /** + * @brief Checks whether the property has a string value. + * @param Property value + * @param String output + * @return true if the output was found + */ + bool GetStringFromProperty( const Dali::Property::Value& value, std::string& output ); + + /* + * @brief Internal version of SetProperty + */ + void SetPropertyInternal( Property::Index index, const Property::Value& value ); + + /* + * @brief Apply properties after reset video player + */ + void ApplyBackupProperties(); + private: Dali::VideoPlayer mVideoPlayer; Dali::ImageDimensions mVideoSize; - Toolkit::Visual::Base mVisual; Dali::Property::Map mPropertyMap; - Dali::NativeImage mNativeImage; ///< Native image handle for video rendering by texture streaming + Dali::Property::Map mEffectPropertyMap; + Dali::Texture mNativeTexture; Dali::Toolkit::VideoView::VideoViewSignalType mFinishedSignal; std::string mUrl; Dali::DisplayArea mDisplayArea; - Dali::Renderer mRenderer; - - Property::Index mUpdateTriggerPropertyIndex; - TriggerEventInterface* mNotification; + Dali::Renderer mOverlayRenderer; + Dali::Renderer mTextureRenderer; + Dali::PropertyNotification mPositionUpdateNotification; + Dali::PropertyNotification mSizeUpdateNotification; + Dali::PropertyNotification mScaleUpdateNotification; + Dali::Property::Map mPropertyBackup; int mCurrentVideoPlayPosition; bool mIsPlay; - bool mIsPause; bool mIsUnderlay; };