1 #ifndef DALI_INTERNAL_NATIVE_IMAGE_SOURCE_QUEUE_IMPL_H
2 #define DALI_INTERNAL_NATIVE_IMAGE_SOURCE_QUEUE_IMPL_H
5 * Copyright (c) 2021 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 <dali/devel-api/adaptor-framework/native-image-source-queue.h>
31 * Dali internal NativeImageSourceQueue.
33 class NativeImageSourceQueue
37 * @copydoc Dali::NativeImageSourceQueue::New()
39 static NativeImageSourceQueue* New(uint32_t width, uint32_t height, Dali::NativeImageSourceQueue::ColorFormat colorFormat, Any nativeImageSourceQueue);
42 * @copydoc Dali::NativeImageSourceQueue::GetNativeImageSourceQueue()
44 virtual Any GetNativeImageSourceQueue() const = 0;
47 * @copydoc Dali::NativeImageSourceQueue::SetSize
49 virtual void SetSize(uint32_t width, uint32_t height) = 0;
52 * @copydoc Dali::NativeImageSourceQueue::IgnoreSourceImage
54 virtual void IgnoreSourceImage() = 0;
57 * @copydoc Dali::NativeImageSourceQueue::CanDequeueBuffer
59 virtual bool CanDequeueBuffer() = 0;
62 * @copydoc Dali::NativeImageSourceQueue::DequeueBuffer
64 virtual uint8_t* DequeueBuffer(uint32_t& width, uint32_t& height, uint32_t& stride) = 0;
67 * @copydoc Dali::NativeImageSourceQueue::EnqueueBuffer
69 virtual bool EnqueueBuffer(uint8_t* buffer) = 0;
74 virtual ~NativeImageSourceQueue() = default;
77 * @copydoc Dali::NativeImageInterface::CreateResource()
79 virtual bool CreateResource() = 0;
82 * @copydoc Dali::NativeImageInterface::DestroyResource()
84 virtual void DestroyResource() = 0;
87 * @copydoc Dali::NativeImageInterface::TargetTexture()
89 virtual uint32_t TargetTexture() = 0;
92 * @copydoc Dali::NativeImageInterface::PrepareTexture()
94 virtual void PrepareTexture() = 0;
97 * @copydoc Dali::NativeImageInterface::GetWidth()
99 virtual uint32_t GetWidth() const = 0;
102 * @copydoc Dali::NativeImageInterface::GetHeight()
104 virtual uint32_t GetHeight() const = 0;
107 * @copydoc Dali::NativeImageInterface::RequiresBlending()
109 virtual bool RequiresBlending() const = 0;
112 * @copydoc Dali::NativeImageInterface::GetTextureTarget()
114 virtual int GetTextureTarget() const = 0;
117 * @copydoc Dali::NativeImageInterface::ApplyNativeFragmentShader()
119 virtual bool ApplyNativeFragmentShader(std::string& shader) = 0;
122 * @copydoc Dali::NativeImageInterface::GetCustomSamplerTypename()
124 virtual const char* GetCustomSamplerTypename() const = 0;
127 * @copydoc Dali::NativeImageInterface::GetNativeImageHandle()
129 virtual Any GetNativeImageHandle() const = 0;
132 * @copydoc Dali::NativeImageInterface::SourceChanged()
134 virtual bool SourceChanged() const = 0;
137 * @copydoc Dali::NativeImageInterface::GetExtension()
139 virtual NativeImageInterface::Extension* GetNativeImageInterfaceExtension() = 0;
142 } // namespace Adaptor
144 } // namespace Internal
148 #endif // DALI_INTERNAL_NATIVE_IMAGE_SOURCE_QUEUE_IMPL_H