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