1 #ifndef __DALI_INTEGRATION_NATIVE_IMAGE_INTERFACE_EXTENSION_H__
2 #define __DALI_INTEGRATION_NATIVE_IMAGE_INTERFACE_EXTENSION_H__
5 * Copyright (c) 2015 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.
21 #include <dali/public-api/images/native-image-interface.h>
27 * @brief Extension abstract interface to provide platform-specific support for handling image data.
30 class NativeImageInterface::Extension
34 class Extension2; ///< Forward declare future extension interface
37 * @brief Get custom fragment prefix for rendering native image.
39 * @return Custom fragment prefix code as string.
41 virtual const char* GetCustomFragmentPreFix() = 0;
44 * @brief Get custom sampler type name for rendering native image.
46 * @return Custom sampler type name.
48 virtual const char* GetCustomSamplerTypename() = 0;
51 * @brief Get texture target for binding native image as texture.
53 * @return Texture target.
55 virtual int GetEglImageTextureTarget() = 0;
58 * @brief Retrieve the extension for the interface.
60 * @return Extension2 pointer if available, NULL otherwise
62 virtual Extension2* GetExtension2()
81 #endif // __DALI_INTEGRATION_NATIVE_IMAGE_INTERFACE_H__