const char* const VOLUME_LEFT( "volumeLeft" );
const char* const VOLUME_RIGHT( "volumeRight" );
-const char* const RENDERING_TARGET( "RENDERING_TARGET" );
+const char* const RENDERING_TARGET( "renderingTarget" );
const char* const WINDOW_SURFACE_TARGET( "windowSurfaceTarget" );
const char* const NATIVE_IMAGE_TARGET( "nativeImageTarget" );
} // anonymous namepsace
VideoView::VideoView()
-: Control( ControlBehaviour( ACTOR_BEHAVIOUR_NONE ) ),
+: Control( ControlBehaviour( ACTOR_BEHAVIOUR_DEFAULT | DISABLE_STYLE_CHANGE_SIGNALS ) ),
mCurrentVideoPlayPosition( 0 ),
- mSetRenderingTarget( false ),
+ mIsNativeImageTarget( true ),
mIsPlay( false ),
mIsPause( false )
{
return handle;
}
+void VideoView::OnInitialize()
+{
+ Any source;
+ Dali::NativeImageSourcePtr nativeImageSourcePtr = Dali::NativeImageSource::New( source );
+ mNativeImage = Dali::NativeImage::New( *nativeImageSourcePtr );
+
+ mVideoPlayer.SetRenderingTarget( nativeImageSourcePtr );
+ mVideoPlayer.FinishedSignal().Connect( this, &VideoView::EmitSignalFinish );
+}
+
void VideoView::SetUrl( const std::string& url )
{
if( mUrl != url || !mPropertyMap.Empty() )
{
- mPropertyMap.Clear();
-
mUrl = url;
+ mPropertyMap.Clear();
}
- if( mSetRenderingTarget )
+ if( mIsNativeImageTarget )
{
- mVideoPlayer.SetUrl( mUrl );
- }
- else
- {
- SetNativeImageTarget();
+ Actor self( Self() );
+ InitializeVisual( self, mVisual, mNativeImage );
}
+
+ mVideoPlayer.SetUrl( mUrl );
}
void VideoView::SetPropertyMap( Property::Map map )
{
mPropertyMap = map;
- Actor self = Self();
- Toolkit::RendererFactory::Get().ResetRenderer( mRenderer, self, mPropertyMap );
+ Actor self( Self() );
+ InitializeVisual( self, mVisual, mPropertyMap );
Property::Value* widthValue = mPropertyMap.Find( "width" );
if( widthValue )
void VideoView::SetDepthIndex( int depthIndex )
{
- if( mRenderer )
+ if( mVisual )
{
- mRenderer.SetDepthIndex( depthIndex );
+ mVisual.SetDepthIndex( depthIndex );
}
}
{
Control::OnStageConnection( depth );
- if( mRenderer )
+ if( mVisual )
{
CustomActor self = Self();
- mRenderer.SetOnStage( self );
+ mVisual.SetOnStage( self );
}
}
void VideoView::OnStageDisconnection()
{
- if( mRenderer )
+ if( mVisual )
{
CustomActor self = Self();
- mRenderer.SetOffStage( self );
+ mVisual.SetOffStage( self );
}
Control::OnStageDisconnection();
Actor self = Self();
int curPos = mVideoPlayer.GetPlayPosition();
- mSetRenderingTarget = true;
- mRenderer.RemoveAndReset( self );
+ if( mVisual )
+ {
+ Toolkit::GetImplementation(mVisual).SetOffStage(self);
+ mVisual.Reset();
+ }
mVideoPlayer.SetRenderingTarget( Dali::Adaptor::Get().GetNativeWindowHandle() );
mVideoPlayer.SetUrl( mUrl );
- mVideoPlayer.FinishedSignal().Connect( this, &VideoView::EmitSignalFinish );
+
+ mIsNativeImageTarget = false;
if( mIsPlay )
{
void VideoView::SetNativeImageTarget()
{
- Actor self = Self();
+ Actor self( Self() );
int curPos = mVideoPlayer.GetPlayPosition();
- mSetRenderingTarget = true;
-
Any source;
Dali::NativeImageSourcePtr nativeImageSourcePtr = Dali::NativeImageSource::New( source );
mNativeImage = Dali::NativeImage::New( *nativeImageSourcePtr );
mVideoPlayer.SetRenderingTarget( nativeImageSourcePtr );
mVideoPlayer.SetUrl( mUrl );
- mVideoPlayer.FinishedSignal().Connect( this, &VideoView::EmitSignalFinish );
- Toolkit::RendererFactory::Get().ResetRenderer( mRenderer, self, mNativeImage );
+ InitializeVisual( self, mVisual, mNativeImage );
+ mIsNativeImageTarget = true;
if( mIsPlay )
{