-#ifndef __DALI_INTERNAL_BITMAP_H__
-#define __DALI_INTERNAL_BITMAP_H__
-
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+#ifndef DALI_INTERNAL_BITMAP_H
+#define DALI_INTERNAL_BITMAP_H
+
+/*
+ * 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.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
// EXTERNAL INCLUDES
{
class BitmapPackedPixel;
-typedef IntrusivePtr<BitmapPackedPixel> BitmapPackedPixelPtr;
+using BitmapPackedPixelPtr = IntrusivePtr<BitmapPackedPixel>;
/**
* BitmapPackedPixel class.
* number of bytes.
* This is a vanilla Bitmap class, typically used to hold data decompressed
* from PNG and JPEG file formats for example.
- *
- * \sa{Bitmap BitmapCompressed BitmapExternal}
*/
-class DALI_IMPORT_API BitmapPackedPixel : public Dali::Integration::Bitmap, Dali::Integration::Bitmap::PackedPixelsProfile
+class BitmapPackedPixel : public Dali::Integration::Bitmap, Dali::Integration::Bitmap::PackedPixelsProfile
{
public:
/**
* Constructor
* @param[in] discardable Flag to tell the bitmap if it can delete the buffer with the pixel data.
*/
- BitmapPackedPixel( bool discardable = false, Dali::Integration::PixelBuffer* pixBuf = 0 );
+ BitmapPackedPixel( ResourcePolicy::Discardable discardable = ResourcePolicy::OWNED_RETAIN, Dali::Integration::PixelBuffer* pixBuf = 0 );
public:
- virtual const Bitmap::PackedPixelsProfile* GetPackedPixelsProfile() const { return this; }
- virtual Bitmap::PackedPixelsProfile* GetPackedPixelsProfile() { return this; }
+ const Bitmap::PackedPixelsProfile* GetPackedPixelsProfile() const override { return this; }
+ Bitmap::PackedPixelsProfile* GetPackedPixelsProfile() override { return this; }
/**
* (Re-)Allocate pixel buffer for the Bitmap. Any previously allocated pixel buffer is deleted.
* @param[in] bufferHeight Buffer height in pixels
* @return pixel buffer pointer
*/
- virtual Dali::Integration::PixelBuffer* ReserveBuffer(Pixel::Format pixelFormat,
- unsigned int width,
- unsigned int height,
- unsigned int bufferWidth = 0,
- unsigned int bufferHeight = 0);
+ Dali::Integration::PixelBuffer* ReserveBuffer(Pixel::Format pixelFormat,
+ uint32_t width,
+ uint32_t height,
+ uint32_t bufferWidth = 0,
+ uint32_t bufferHeight = 0) override;
/**
* Assign a pixel buffer. Any previously allocated pixel buffer is deleted.
* @param[in] bufferWidth Buffer width (stride) in pixels
* @param[in] bufferHeight Buffer height in pixels
*/
- virtual void AssignBuffer(Pixel::Format pixelFormat,
+ void AssignBuffer(Pixel::Format pixelFormat,
Dali::Integration::PixelBuffer* buffer,
- std::size_t bufferSize,
- unsigned int width,
- unsigned int height,
- unsigned int bufferWidth = 0,
- unsigned int bufferHeight = 0);
+ uint32_t bufferSize,
+ uint32_t width,
+ uint32_t height,
+ uint32_t bufferWidth = 0,
+ uint32_t bufferHeight = 0) override;
/**
* Get the width of the buffer (stride)
* @return The width of the buffer in pixels
*/
- virtual unsigned GetBufferWidth() const
+ unsigned GetBufferWidth() const override
{
return mBufferWidth;
}
* Get the height of the buffer
* @return The height of the buffer in pixels
*/
- virtual unsigned GetBufferHeight() const
+ unsigned GetBufferHeight() const override
{
return mBufferHeight;
}
* Get the pixel buffer size in bytes
* @return The buffer size in bytes.
*/
- // unsigned int GetBufferSize() const
- virtual size_t GetBufferSize() const
+ uint32_t GetBufferSize() const override
{
- return mBufferWidth*mBytesPerPixel*mBufferHeight;
+ return mBufferWidth * mBytesPerPixel * mBufferHeight;
}
/**
+ * See Dali::Integration::Bitmap::GetReleaseFunction()
+ */
+ ReleaseFunction GetReleaseFunction() override{ return FREE; }
+
+ /**
* Get the pixel buffer stride.
* @return The buffer stride (in bytes).
*/
- virtual unsigned int GetBufferStride() const;
- //{
- // return mBufferWidth*mBytesPerPixel;
- //}
+ uint32_t GetBufferStride() const override;
/**
* Get the pixel format
* Check the bitmap data and test whether it has any transparent pixels.
* This property can then be tested for with IsFullyOpaque().
*/
- virtual void TestForTransparency();
+ void TestForTransparency() override;
protected:
/**
* A reference counted object may only be deleted by calling Unreference()
*/
- virtual ~BitmapPackedPixel();
+ ~BitmapPackedPixel() override;
protected:
- unsigned int mBufferWidth; ///< Buffer width (stride) in pixels
- unsigned int mBufferHeight; ///< Buffer height in pixels
- unsigned int mBytesPerPixel; ///< Bytes per pixel
+ uint32_t mBufferWidth; ///< Buffer width (stride) in pixels
+ uint32_t mBufferHeight; ///< Buffer height in pixels
+ uint32_t mBytesPerPixel; ///< Bytes per pixel
private:
* @param[in] bufferHeight Buffer height in pixels
*/
void Initialize(Pixel::Format pixelFormat,
- unsigned int width,
- unsigned int height,
- unsigned int bufferWidth,
- unsigned int bufferHeight);
+ uint32_t width,
+ uint32_t height,
+ uint32_t bufferWidth,
+ uint32_t bufferHeight);
BitmapPackedPixel(const BitmapPackedPixel& other); ///< defined private to prevent use
} // namespace Dali
-#endif // __DALI_INTERNAL_BITMAP_H__
+#endif // DALI_INTERNAL_BITMAP_H