Merge "Set proper locale to harfbuzz" into devel/master
[platform/core/uifw/dali-adaptor.git] / platform-abstractions / portable / alpha-mask.h
1 #ifndef DALI_INTERNAL_ADAPTOR_ALPHA_MASK_H
2 #define DALI_INTERNAL_ADAPTOR_ALPHA_MASK_H
3
4 /*
5  * Copyright (c) 2017 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 #include "pixel-buffer-impl.h"
20
21 namespace Dali
22 {
23 namespace Internal
24 {
25 namespace Adaptor
26 {
27
28 /**
29  * Apply the mask to a buffer's alpha channel
30  * @param[in] buffer The buffer to apply the mask to
31  * @param[in] mask The mask to apply
32  */
33 void ApplyMaskToAlphaChannel( PixelBuffer& buffer, const PixelBuffer& mask );
34
35 /**
36  * Create a new PixelBuffer with an alpha channel large enough to handle the alpha from
37  * the mask, converting the color values to the new size, and either multiplying the mask's
38  * alpha into the existing alpha value, or writing the mask's alpha value directly into
39  * the new buffer's alpha channel.
40  *
41  * @param[in] buffer The buffer to apply the mask to
42  * @param[in] mask The mask to apply
43  * @return A new pixel buffer containing the masked image
44  */
45 PixelBufferPtr CreateNewMaskedBuffer( const PixelBuffer& buffer, const PixelBuffer& mask );
46
47 } //namespace Adaptor
48 } //namespace Internal
49 } //namespace Dali
50
51 #endif // DALI_INTERNAL_ADAPTOR_ALPHA_MASK_H