From: Richard Underhill Date: Mon, 19 Jan 2015 17:03:26 +0000 (+0000) Subject: Returns the Pixel::Format of a BitmapImage's Bitmap X-Git-Tag: accepted/tizen/common/20150123.092456~4 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=8282339dd9af5c14737489f2178e4c2d46956370;p=platform%2Fcore%2Fuifw%2Fdali-core.git Returns the Pixel::Format of a BitmapImage's Bitmap Change-Id: I8e57d82451e8e77fc8bba4321d440c69cb27537c Signed-off-by: Richard Underhill --- diff --git a/automated-tests/src/dali/utc-Dali-BitmapImage.cpp b/automated-tests/src/dali/utc-Dali-BitmapImage.cpp index 459e23e..a2a9be2 100644 --- a/automated-tests/src/dali/utc-Dali-BitmapImage.cpp +++ b/automated-tests/src/dali/utc-Dali-BitmapImage.cpp @@ -310,6 +310,23 @@ int UtcDaliBitmapImageGetBufferStride(void) END_TEST; } +int UtcDaliBitmapImageGetPixelFormat(void) +{ + TestApplication application; + + tet_infoline("UtcDaliBitmapImageGetPixelFormat"); + + // Set pixel format to a non-default + BitmapImage image = BitmapImage::New( 16, 16, Pixel::A8 ); + application.SendNotification(); + application.Render(16); + application.Render(16); + application.SendNotification(); + + DALI_TEST_CHECK( image.GetPixelFormat() == Pixel::A8 ); + END_TEST; +} + int UtcDaliBitmapImageIsDataExternal(void) { diff --git a/dali/internal/event/images/bitmap-image-impl.cpp b/dali/internal/event/images/bitmap-image-impl.cpp index 20773b7..298c72f 100644 --- a/dali/internal/event/images/bitmap-image-impl.cpp +++ b/dali/internal/event/images/bitmap-image-impl.cpp @@ -154,6 +154,20 @@ unsigned int BitmapImage::GetBufferStride() const return bufferStride; } +Pixel::Format BitmapImage::GetPixelFormat() const +{ + Pixel::Format format( Pixel::RGBA8888 ); + + Integration::Bitmap* const bitmap = GetBitmap(); + + if( bitmap ) + { + format = bitmap->GetPixelFormat(); + } + + return format; +} + void BitmapImage::Connect() { ++mConnectionCount; diff --git a/dali/internal/event/images/bitmap-image-impl.h b/dali/internal/event/images/bitmap-image-impl.h index c1e4d02..b918635 100644 --- a/dali/internal/event/images/bitmap-image-impl.h +++ b/dali/internal/event/images/bitmap-image-impl.h @@ -160,6 +160,12 @@ public: */ unsigned int GetBufferStride() const; + /** + * Get the pixel format + * @return The pixel format + */ + Pixel::Format GetPixelFormat() const; + protected: // From Resource /** * @copydoc Dali::Internal::Image::Connect diff --git a/dali/public-api/images/bitmap-image.cpp b/dali/public-api/images/bitmap-image.cpp index 603394a..862073b 100644 --- a/dali/public-api/images/bitmap-image.cpp +++ b/dali/public-api/images/bitmap-image.cpp @@ -113,6 +113,11 @@ unsigned int BitmapImage::GetBufferStride() const return GetImplementation(*this).GetBufferStride(); } +Pixel::Format BitmapImage::GetPixelFormat() const +{ + return GetImplementation(*this).GetPixelFormat(); +} + void BitmapImage::Update () { RectArea area; diff --git a/dali/public-api/images/bitmap-image.h b/dali/public-api/images/bitmap-image.h index 2995448..2f32ec7 100644 --- a/dali/public-api/images/bitmap-image.h +++ b/dali/public-api/images/bitmap-image.h @@ -242,6 +242,13 @@ public: unsigned int GetBufferStride() const; /** + * @brief Returns the pixel format of the contained bitmap + * + * @return the pixel format + */ + Pixel::Format GetPixelFormat() const; + + /** * @brief Inform Dali that the contents of the buffer have changed. * * SignalUploaded will be sent in response if the image is on stage