X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fvisuals%2Fnpatch%2Fnpatch-visual.cpp;h=da73b335b21c0a6d342b0657d56501101509aa49;hb=97d688bcdfb692dd2ff535c1965077dd747cfcf6;hp=fa37422a2f64ba6c3b9c8b9d645295bab70075a3;hpb=4cd15baa1eaa620c0ef5e94e56d82fad17b888d5;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-toolkit/internal/visuals/npatch/npatch-visual.cpp b/dali-toolkit/internal/visuals/npatch/npatch-visual.cpp index fa37422..da73b33 100644 --- a/dali-toolkit/internal/visuals/npatch/npatch-visual.cpp +++ b/dali-toolkit/internal/visuals/npatch/npatch-visual.cpp @@ -25,11 +25,12 @@ #include // INTERNAL IINCLUDES +#include #include #include #include -#include -#include +#include +#include namespace Dali @@ -199,9 +200,41 @@ void RegisterStretchProperties( Renderer& renderer, const char * uniformName, co /////////////////NPatchVisual//////////////// -NPatchVisual::NPatchVisual( VisualFactoryCache& factoryCache ) -: Visual( factoryCache ), - mBorderOnly( false ) +NPatchVisualPtr NPatchVisual::New( VisualFactoryCache& factoryCache ) +{ + return new NPatchVisual( factoryCache ); +} + +NPatchVisualPtr NPatchVisual::New( VisualFactoryCache& factoryCache, const std::string& imageUrl, bool borderOnly ) +{ + NPatchVisual* nPatchVisual = new NPatchVisual( factoryCache, borderOnly ); + nPatchVisual->mImageUrl = imageUrl; + + NinePatchImage image = NinePatchImage::New( imageUrl ); + nPatchVisual->InitializeFromImage( image ); + + return nPatchVisual; +} + +NPatchVisualPtr NPatchVisual::New( VisualFactoryCache& factoryCache, NinePatchImage image, bool borderOnly ) +{ + NPatchVisual* nPatchVisual = new NPatchVisual( factoryCache, borderOnly ); + nPatchVisual->mImage = image; + + nPatchVisual->InitializeFromImage( image ); + + return nPatchVisual; +} + +NPatchVisual::NPatchVisual( VisualFactoryCache& factoryCache, bool borderOnly ) +: Visual::Base( factoryCache ), + mImage(), + mCroppedImage(), + mImageUrl(), + mStretchPixelsX(), + mStretchPixelsY(), + mImageSize(), + mBorderOnly( borderOnly ) { } @@ -209,13 +242,13 @@ NPatchVisual::~NPatchVisual() { } -void NPatchVisual::DoInitialize( Actor& actor, const Property::Map& propertyMap ) +void NPatchVisual::DoSetProperties( const Property::Map& propertyMap ) { - Property::Value* imageURLValue = propertyMap.Find( IMAGE_URL_NAME ); + Property::Value* imageURLValue = propertyMap.Find( Toolkit::ImageVisual::Property::URL, IMAGE_URL_NAME ); if( imageURLValue ) { //Read the borderOnly property first since InitialiseFromImage relies on mBorderOnly to be properly set - Property::Value* borderOnlyValue = propertyMap.Find( BORDER_ONLY ); + Property::Value* borderOnlyValue = propertyMap.Find( Toolkit::ImageVisual::Property::BORDER_ONLY, BORDER_ONLY ); if( borderOnlyValue ) { borderOnlyValue->Get( mBorderOnly ); @@ -253,17 +286,6 @@ void NPatchVisual::GetNaturalSize( Vector2& naturalSize ) const } } -void NPatchVisual::SetClipRect( const Rect& clipRect ) -{ - Visual::SetClipRect( clipRect ); - //ToDo: renderer responds to the clipRect change -} - -void NPatchVisual::SetOffset( const Vector2& offset ) -{ - //ToDo: renderer applies the offset -} - Geometry NPatchVisual::CreateGeometry() { Geometry geometry; @@ -389,6 +411,8 @@ void NPatchVisual::DoSetOnStage( Actor& actor ) { ApplyImageToSampler(); } + + actor.AddRenderer( mImpl->mRenderer ); } void NPatchVisual::DoSetOffStage( Actor& actor ) @@ -401,16 +425,27 @@ void NPatchVisual::DoSetOffStage( Actor& actor ) void NPatchVisual::DoCreatePropertyMap( Property::Map& map ) const { map.Clear(); - map.Insert( RENDERER_TYPE, IMAGE_RENDERER ); + map.Insert( Toolkit::Visual::Property::TYPE, Toolkit::Visual::IMAGE ); if( !mImageUrl.empty() ) { - map.Insert( IMAGE_URL_NAME, mImageUrl ); + map.Insert( Toolkit::ImageVisual::Property::URL, mImageUrl ); } else if( mImage ) { - map.Insert( IMAGE_URL_NAME, mImage.GetUrl() ); + map.Insert( Toolkit::ImageVisual::Property::URL, mImage.GetUrl() ); } - map.Insert( BORDER_ONLY, mBorderOnly ); + map.Insert( Toolkit::ImageVisual::Property::BORDER_ONLY, mBorderOnly ); +} + +void NPatchVisual::DoSetProperty( Dali::Property::Index index, const Dali::Property::Value& propertyValue ) +{ + // TODO +} + +Dali::Property::Value NPatchVisual::DoGetProperty( Dali::Property::Index index ) +{ + // TODO + return Dali::Property::Value(); } void NPatchVisual::ChangeRenderer( bool oldBorderOnly, size_t oldGridX, size_t oldGridY ) @@ -449,60 +484,6 @@ void NPatchVisual::ChangeRenderer( bool oldBorderOnly, size_t oldGridX, size_t o } } -void NPatchVisual::SetImage( const std::string& imageUrl, bool borderOnly ) -{ - bool oldBorderOnly = mBorderOnly; - size_t oldGridX = mStretchPixelsX.Size(); - size_t oldGridY = mStretchPixelsY.Size(); - - mBorderOnly = borderOnly; - mImage.Reset(); - if( mImageUrl == imageUrl ) - { - return; - } - - mImageUrl = imageUrl; - if( mImpl->mRenderer ) - { - NinePatchImage nPatch = NinePatchImage::New( mImageUrl ); - InitializeFromImage( nPatch ); - - ChangeRenderer( oldBorderOnly, oldGridX, oldGridY ); - - if( mCroppedImage ) - { - ApplyImageToSampler(); - } - } -} - -void NPatchVisual::SetImage( NinePatchImage image, bool borderOnly ) -{ - bool oldBorderOnly = mBorderOnly; - size_t oldGridX = mStretchPixelsX.Size(); - size_t oldGridY = mStretchPixelsY.Size(); - - mBorderOnly = borderOnly; - mImageUrl.empty(); - if( mImage == image ) - { - return; - } - - mImage = image; - if( mImpl->mRenderer ) - { - InitializeFromImage( mImage ); - ChangeRenderer( oldBorderOnly, oldGridX, oldGridY ); - - if( mCroppedImage ) - { - ApplyImageToSampler(); - } - } -} - void NPatchVisual::InitializeFromImage( NinePatchImage nPatch ) { mCroppedImage = nPatch.CreateCroppedBufferImage(); @@ -521,7 +502,7 @@ void NPatchVisual::InitializeFromImage( NinePatchImage nPatch ) void NPatchVisual::InitializeFromBrokenImage() { - mCroppedImage = VisualFactory::GetBrokenRendererImage(); + mCroppedImage = VisualFactoryCache::GetBrokenVisualImage(); mImageSize = ImageDimensions( mCroppedImage.GetWidth(), mCroppedImage.GetHeight() ); mStretchPixelsX.Clear();