2 // Open Service Platform
3 // Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
5 // Licensed under the Flora License, Version 1.0 (the License);
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
9 // http://floralicense.org/license/
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an AS IS BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
19 * @file FGrpBufferInfo.h
20 * @brief This is the header file for the %BufferInfo class.
22 * This header file contains the declarations of the %BufferInfo class.
26 #ifndef _FGRP_BUFFER_INFO_H_
27 #define _FGRP_BUFFER_INFO_H_
29 #include <FBaseTypes.h>
30 #include <FBaseObject.h>
32 #include <FGrpRectangle.h>
33 #include <FGrpPixelFormat.h>
34 #include <FGrpBitmapCommon.h>
36 namespace Tizen { namespace Graphics
40 * @brief This class encapsulates the extra information for canvases and bitmaps.
44 * @final This class is not intended for extension.
46 * The %BufferInfo class provides Canvas and Bitmap related information, such as the dimension and pixel information.
48 * For more information on the class features, see <a href="../org.tizen.native.appprogramming/html/guide/graphics/bufferinfo.htm">Buffer Information</a>.
52 class _OSP_EXPORT_ BufferInfo
53 : public Tizen::Base::Object
57 * This is the default constructor for this class.
64 * This is the copy constructor for the %BufferInfo class.
68 * @param[in] rhs An instance of %BufferInfo
70 BufferInfo(const BufferInfo& rhs);
73 * This is the destructor for this class.
77 virtual ~BufferInfo(void);
80 * This is the default assignment operator for this class.
84 * @param[in] rhs An instance of %BufferInfo
86 BufferInfo& operator =(const BufferInfo& rhs);
89 * Checks whether the value of the specified instance equals the value of the current instance.
93 * @return @c true if the value of the current instance equals the value of the specified instance, @n
95 * @param[in] rhs The object to compare with the current instance
97 virtual bool Equals(const Tizen::Base::Object& rhs) const;
100 * Gets the hash value of the current instance.
104 * @return An integer value indicating the hash value of the current instance
106 virtual int GetHashCode(void) const;
110 * The width of the buffer's logical dimensions in pixels.
117 * The height of the buffer's logical dimensions in pixels.
124 * The length of the buffer scan-line in bytes.
131 * The bits per pixel of the buffer.
138 * The color format of the buffer.
142 PixelFormat pixelFormat;
145 * A pointer to the actual locked pixel bits.
152 friend class _BufferInfoImpl;
155 // This variable is for internal use only.
156 // Using this variable can cause behavioral, security-related, and consistency-related issues in the application.
160 class _BufferInfoImpl * __pImpl;
164 }} // Tizen::Graphics
166 #endif //_FGRP_BUFFER_INFO_H_