Updated all header files to new format
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / internal / text / rendering / atlas / atlas-mesh-factory.h
1 #ifndef DALI_TOOLKIT_ATLAS_MESH_FACTORY_H
2 #define DALI_TOOLKIT_ATLAS_MESH_FACTORY_H
3
4 /*
5  * Copyright (c) 2021 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 // INTERNAL INCLUDES
21 #include <dali-toolkit/internal/text/rendering/atlas/atlas-manager.h>
22
23 namespace Dali
24 {
25 namespace Toolkit
26 {
27 namespace Internal
28 {
29 namespace AtlasMeshFactory
30 {
31 typedef uint32_t SizeType;
32
33 /**
34    * @brief Create a Quad that describes an area in an atlas and a position.
35    *
36    * @param[in]  width Width of area in pixels.
37    * @param[in]  height Height of area in pixels.
38    * @param[in]  block Block position in atlas.
39    * @param[in]  atlasSize Atlas and block dimensions.
40    * @param[in]  position Position to place area in space.
41    * @param[out] mesh Mesh object to hold created quad.
42    */
43 void CreateQuad(SizeType                                width,
44                 SizeType                                height,
45                 SizeType                                block,
46                 const Toolkit::AtlasManager::AtlasSize& atlasSize,
47                 const Vector2&                          position,
48                 Toolkit::AtlasManager::Mesh2D&          mesh);
49
50 /**
51    * @brief Append one mesh to another.
52    *
53    * @param[in,out] first Mesh to append to.
54    * @param[in]     second Mesh to append.
55    */
56 void AppendMesh(Toolkit::AtlasManager::Mesh2D&       first,
57                 const Toolkit::AtlasManager::Mesh2D& second);
58
59 } // namespace AtlasMeshFactory
60
61 } // namespace Internal
62
63 } // namespace Toolkit
64
65 } // namespace Dali
66
67 #endif // DALI_TOOLKIT_ATLAS_MESH_FACTORY_H