[dali_2.3.21] Merge branch 'devel/master'
[platform/core/uifw/dali-toolkit.git] / dali-scene3d / public-api / loader / alpha-function-helper.h
1 #ifndef DALI_SCENE3D_LOADER_ALPHA_FUNCTION_HELPER_H_
2 #define DALI_SCENE3D_LOADER_ALPHA_FUNCTION_HELPER_H_
3 /*
4  * Copyright (c) 2023 Samsung Electronics Co., Ltd.
5  *
6  * Licensed under the Apache License, Version 2.0 (the "License");
7  * you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  * http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  *
18  */
19
20 // EXTERNAL INCLUDES
21 #include <dali/public-api/animation/alpha-function.h>
22 #include <string>
23
24 // INTERNAL INCLUDES
25 #include <dali-scene3d/public-api/api.h>
26
27 namespace Dali::Scene3D::Loader
28 {
29 /**
30  * @brief Given a name, provides an AlphaFunction.
31  * @SINCE_2_0.7
32  * @return The AlphaFunction
33  * @note If the name was not recognised, the default one is returned
34  */
35 AlphaFunction DALI_SCENE3D_API GetAlphaFunction(const std::string& name, bool* found = nullptr);
36
37 /**
38  * @brief Registers an alpha function only if one with the same @a name has not yet been registered.
39  * @SINCE_2_0.7
40  * @note Throws an exception if the name is not unique
41  */
42 void DALI_SCENE3D_API RegisterAlphaFunction(const std::string& name, AlphaFunction alphaFn) noexcept(false);
43
44 } // namespace Dali::Scene3D::Loader
45
46 #endif //DALI_SCENE3D_LOADER_ALPHA_FUNCTION_HELPER_H_