[dali_2.1.1] Merge branch 'devel/master'
[platform/core/uifw/dali-toolkit.git] / dali-scene-loader / public-api / alpha-function-helper.h
1 #ifndef DALI_SCENE_LOADER_ALPHA_FUNCTION_HELPER_H_
2 #define DALI_SCENE_LOADER_ALPHA_FUNCTION_HELPER_H_
3 /*
4  * Copyright (c) 2021 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 #include "dali-scene-loader/public-api/api.h"
21
22 #include <string>
23 #include "dali/public-api/animation/alpha-function.h"
24
25 namespace Dali
26 {
27 namespace SceneLoader
28 {
29 /**
30  * @return Given a name, provide a AlphaFunction; if the name was not
31  *  recognised, get the default one.
32  */
33 AlphaFunction DALI_SCENE_LOADER_API GetAlphaFunction(const std::string& name, bool* found = nullptr);
34
35 /**
36  * @brief Registers an alpha function only if one with the same @a name has
37  *  not yet been registered. Throws Exception the name isn't unique.
38  */
39 void DALI_SCENE_LOADER_API RegisterAlphaFunction(const std::string& name, AlphaFunction alphaFn) noexcept(false);
40
41 } // namespace SceneLoader
42 } // namespace Dali
43
44 #endif //DALI_SCENE_LOADER_ALPHA_FUNCTION_HELPER_H_