Merge "[2.2] Expand the destCapacity due to U_BUFFER_OVERFLOW_ERROR" into tizen_2.2
[platform/framework/native/appfw.git] / inc / FGrpBitmapCommon.h
1 //
2 // Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
3 //
4 // Licensed under the Apache License, Version 2.0 (the License);
5 // you may not use this file except in compliance with the License.
6 // You may obtain a copy of the License at
7 //
8 //     http://www.apache.org/licenses/LICENSE-2.0/
9 //
10 // Unless required by applicable law or agreed to in writing, software
11 // distributed under the License is distributed on an "AS IS" BASIS,
12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 // See the License for the specific language governing permissions and
14 // limitations under the License.
15 //
16
17 /**
18  * @file        FGrpBitmapCommon.h
19  * @brief       This is the header file for the %Bitmap class.
20  *
21  * This header file contains the definitions of the enumerations of the %Bitmap class.
22  */
23
24 #ifndef _FGRP_BITMAP_COMMON_H_
25 #define _FGRP_BITMAP_COMMON_H_
26
27 namespace Tizen { namespace Graphics
28 {
29
30 /**
31  * @enum        BitmapPixelFormat
32  *
33  * Defines the bitmap pixel format.
34  *
35  * @since       2.0
36  */
37 enum BitmapPixelFormat
38 {
39         BITMAP_PIXEL_FORMAT_RGB565 = 1, /**< The RGB565 pixel format */
40         BITMAP_PIXEL_FORMAT_ARGB8888, /**< The ARGB8888 pixel format */
41         BITMAP_PIXEL_FORMAT_R8G8B8A8, /**< The R8G8B8A8 pixel format, the order of the color component is guaranteed by the byte unit */
42         BITMAP_PIXEL_FORMAT_MAX, // This enum value is for internal use only. Using this enum value can cause behavioral, security-related, and consistency-related issues in the application.
43         BITMAP_PIXEL_FORMAT_MIN = 0 // This enum value is for internal use only. Using this enum value can cause behavioral, security-related, and consistency-related issues in the application.
44 };
45
46 /**
47  * @enum        BufferScaling
48  *
49  * Defines the bitmap buffer scaling type.
50  *
51  * @since       2.0
52  *
53  */
54 enum BufferScaling
55 {
56         BUFFER_SCALING_NONE = 1, /**< The bitmap buffer is created without scaling */
57         BUFFER_SCALING_AUTO, /**< The bitmap buffer is created according to the auto scaling rule */
58         BUFFER_SCALING_MAX, // This enum value is for internal use only. Using this enum value can cause behavioral, security-related, and consistency-related issues in the application.
59         BUFFER_SCALING_MIN = 0 // This enum value is for internal use only. Using this enum value can cause behavioral, security-related, and consistency-related issues in the application.
60 };
61
62 /**
63  * @enum        BitmapScalingQuality
64  *
65  * Defines the bitmap scaling quality.
66  *
67  * @since 2.0
68  *
69  * @remarks The Bitmap::Scale() method performs the operation according to the given BitmapScalingQuality value. @n
70  *          Bitmap scaling with BITMAP_SCALING_QUALITY_HIGH provides better results than others, but it takes longer.
71  *          On the other hand, bitmap scaling with BITMAP_SCALING_QUALITY_LOW runs faster than others, but the results are poorer.
72  *          When you scale bitmaps with a masking color then you have to select BITMAP_SCALING_QUALITY_LOW,
73  *          because that algorithm does not harm the masking color (by sampling the pixels instead of interpolating).
74  */
75 enum BitmapScalingQuality
76 {
77         BITMAP_SCALING_QUALITY_LOW, /**< Low-quality but high-performance */
78         BITMAP_SCALING_QUALITY_MID, /**< Mid-quality */
79         BITMAP_SCALING_QUALITY_HIGH /**< High-quality but low-performance */
80 };
81
82 } } // Tizen::Graphics
83
84 #endif