Use modern construct 'using' instead of typedef.
[platform/core/uifw/dali-core.git] / dali / integration-api / resource-types.h
1 #ifndef DALI_INTEGRATION_RESOURCE_TYPES_H
2 #define DALI_INTEGRATION_RESOURCE_TYPES_H
3
4 /*
5  * Copyright (c) 2019 Samsung Electronics Co., Ltd.
6  *
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  * http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  *
19  */
20
21 // EXTERNAL INCLUDES
22 #include <stdint.h>
23
24 // INTERNAL INCLUDES
25 #include <dali/public-api/images/image-operations.h>
26 #include <dali/public-api/math/uint-16-pair.h>
27
28 namespace Dali
29 {
30 using ImageDimensions = Uint16Pair;
31
32 namespace Integration
33 {
34
35 /**
36  * BitmapResourceType describes a bitmap resource.
37  */
38 struct BitmapResourceType
39 {
40   /**
41    * Constructor.
42    * @param[in] size The requested size for the bitmap.
43    * @param[in] scalingMode The method to use to map the source bitmap to the desired
44    * dimensions.
45    * @param[in] samplingMode The filter to use if the bitmap needs to be downsampled
46    * to the requested size.
47    * @param[in] orientationCorrection Whether to use bitmap metadata to rotate or
48    * flip the bitmap, e.g., from portrait to landscape.
49    */
50   BitmapResourceType( ImageDimensions size = ImageDimensions( 0, 0 ),
51                       FittingMode::Type scalingMode = FittingMode::DEFAULT,
52                       SamplingMode::Type samplingMode = SamplingMode::DEFAULT,
53                       bool orientationCorrection = true )
54   : size( size ),
55     scalingMode( scalingMode ),
56     samplingMode( samplingMode ),
57     orientationCorrection( orientationCorrection )
58   {}
59
60   /**
61    * Destructor.
62    */
63   ~BitmapResourceType()
64   {}
65
66   /**
67    * Attributes are copied from the request.
68    */
69   ImageDimensions size;
70   FittingMode::Type scalingMode;
71   SamplingMode::Type samplingMode;
72   bool orientationCorrection;
73
74 private:
75
76   // Undefined copy constructor.
77   BitmapResourceType(const BitmapResourceType& typePath);
78
79   // Undefined assignment operator.
80   BitmapResourceType& operator=(const BitmapResourceType& rhs);
81
82 };
83
84 } // namespace Integration
85
86 } // namespace Dali
87
88 #endif // DALI_INTEGRATION_RESOURCE_TYPES_H