NPatchVisual::NPatchVisual( VisualFactoryCache& factoryCache )
: Visual::Base( factoryCache ),
+ mImage(),
+ mCroppedImage(),
+ mImageUrl(),
+ mStretchPixelsX(),
+ mStretchPixelsY(),
+ mImageSize(),
mBorderOnly( false )
{
}
+NPatchVisual::NPatchVisual( VisualFactoryCache& factoryCache, const std::string& imageUrl, bool borderOnly )
+: Visual::Base( factoryCache ),
+ mImage(),
+ mCroppedImage(),
+ mImageUrl( imageUrl ),
+ mStretchPixelsX(),
+ mStretchPixelsY(),
+ mImageSize(),
+ mBorderOnly( borderOnly )
+{
+ NinePatchImage nPatch = NinePatchImage::New( mImageUrl );
+ InitializeFromImage( nPatch );
+}
+
+NPatchVisual::NPatchVisual( VisualFactoryCache& factoryCache, NinePatchImage image, bool borderOnly )
+: Visual::Base( factoryCache ),
+ mImage( image ),
+ mCroppedImage(),
+ mImageUrl(),
+ mStretchPixelsX(),
+ mStretchPixelsY(),
+ mImageSize(),
+ mBorderOnly( borderOnly )
+{
+ InitializeFromImage( image );
+}
+
NPatchVisual::~NPatchVisual()
{
}
}
}
-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();