1 #ifndef DALI_NATIVE_IMAGE_SOURCE_DEVEL_H
\r
2 #define DALI_NATIVE_IMAGE_SOURCE_DEVEL_H
\r
4 * Copyright (c) 2020 Samsung Electronics Co., Ltd.
\r
6 * Licensed under the Apache License, Version 2.0 (the "License");
\r
7 * you may not use this file except in compliance with the License.
\r
8 * You may obtain a copy of the License at
\r
10 * http://www.apache.org/licenses/LICENSE-2.0
\r
12 * Unless required by applicable law or agreed to in writing, software
\r
13 * distributed under the License is distributed on an "AS IS" BASIS,
\r
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
\r
15 * See the License for the specific language governing permissions and
\r
16 * limitations under the License.
\r
20 // EXTERNAL INCLUDES
\r
21 #include <dali/public-api/adaptor-framework/native-image-source.h>
\r
25 namespace DevelNativeImageSource
\r
28 * @brief Converts the current pixel contents to either a JPEG or PNG format
\r
29 * and write that to the filesystem.
\r
31 * @param[in] image The instance of NativeImageSource.
\r
32 * @param[in] filename Identify the filesystem location at which to write the encoded image.
\r
33 * The extension determines the encoding used.
\r
34 * The two valid encoding are (".jpeg"|".jpg") and ".png".
\r
35 * @param[in] quality The value to control image quality for jpeg file format in the range [1, 100]
\r
36 * @return @c true if the pixels were written, and @c false otherwise
\r
38 DALI_ADAPTOR_API bool EncodeToFile(NativeImageSource& image, const std::string& filename, const uint32_t quality);
\r
41 * @brief Acquire buffer and information of an internal native image.
\r
43 * AcquireBuffer() and ReleaseBuffer() are a pair.
\r
44 * It should be call ReleaseBuffer() after AcquireBuffer().
\r
45 * @param[in] image The instance of NativeImageSource.
\r
46 * @param[out] width The width of image
\r
47 * @param[out] height The height of image
\r
48 * @param[out] stride The stride of image
\r
49 * @return The buffer of an internal native image
\r
51 DALI_ADAPTOR_API uint8_t* AcquireBuffer(NativeImageSource& image, uint16_t& width, uint16_t& height, uint16_t& stride);
\r
54 * @brief Release information of an internal native image.
\r
56 * AcquireBuffer() and ReleaseBuffer() are a pair.
\r
57 * It should be call ReleaseBuffer() after AcquireBuffer().
\r
58 * @param[in] image The instance of NativeImageSource.
\r
59 * @return @c true If the buffer is released successfully, and @c false otherwise
\r
61 DALI_ADAPTOR_API bool ReleaseBuffer(NativeImageSource& image);
\r
63 } // namespace DevelNativeImageSource
\r
67 #endif // DALI_NATIVE_IMAGE_SOURCE_DEVEL_H
\r