1 #ifndef DALI_DISTANCE_FIELD_H
2 #define DALI_DISTANCE_FIELD_H
5 * Copyright (c) 2020 Samsung Electronics Co., Ltd.
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
11 * http://www.apache.org/licenses/LICENSE-2.0
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.
22 #include <cstdint> // uint8_t, uint32_t
25 #include <dali/public-api/common/dali-common.h>
32 * @brief Generate a distance field map from a source image.
34 * @param[in] imagePixels A pointer to a buffer containing the source image
35 * @param[in] imageSize The size, width and height, of the source image
36 * @param[out] distanceMap A pointer to a buffer to receive the calculated distance field map.
37 * Note: This must not overlap with imagePixels for correct distance field map generation.
38 * @param[in] distanceMapSize The size, width and height, of the distance field map
39 * @param[in] fieldBorder The amount of distance field cells to add around the data (for glow/shadow effects)
40 * @param[in] maxSize The image is scaled from this size to distanceMapSize
41 * @param[in] highQuality Set true to generate high quality distance fields
43 DALI_CORE_API void GenerateDistanceFieldMap(
44 const uint8_t* const imagePixels,
45 const Vector2& imageSize,
46 uint8_t* const distanceMap,
47 const Vector2& distanceMapSize,
48 const uint32_t fieldBorder,
49 const Vector2& maxSize,
50 bool highQuality = true);
54 #endif // DALI_DISTANCE_FIELD_H