/*
- * Copyright (c) 2018 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2023 Samsung Electronics Co., Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
#include <dali/devel-api/adaptor-framework/native-image-source-queue.h>
// INTERNAL INCLUDES
-#include <dali/internal/imaging/common/native-image-source-queue-impl.h>
#include <dali/internal/imaging/common/native-image-source-factory.h>
+#include <dali/internal/imaging/common/native-image-source-queue-impl.h>
namespace Dali
{
+NativeImageSourceQueuePtr NativeImageSourceQueue::New(uint32_t width, uint32_t height, ColorFormat colorFormat)
+{
+ Any empty;
+ NativeImageSourceQueuePtr image = new NativeImageSourceQueue(0, width, height, colorFormat, empty);
+ if(image->mImpl)
+ {
+ return image;
+ }
+ return nullptr;
+}
-NativeImageSourceQueuePtr NativeImageSourceQueue::New( uint32_t width, uint32_t height, ColorDepth depth )
+NativeImageSourceQueuePtr NativeImageSourceQueue::New(uint32_t queueCount, uint32_t width, uint32_t height, ColorFormat colorFormat)
{
- Any empty;
- NativeImageSourceQueuePtr image = new NativeImageSourceQueue( width, height, depth, empty );
- if( image->mImpl )
+ Any empty;
+ NativeImageSourceQueuePtr image = new NativeImageSourceQueue(queueCount, width, height, colorFormat, empty);
+ if(image->mImpl)
{
return image;
}
return nullptr;
}
-NativeImageSourceQueuePtr NativeImageSourceQueue::New( Any nativeImageSourceQueue )
+NativeImageSourceQueuePtr NativeImageSourceQueue::New(Any nativeImageSourceQueue)
{
- NativeImageSourceQueuePtr image = new NativeImageSourceQueue( 0, 0, COLOR_DEPTH_DEFAULT, nativeImageSourceQueue );
- if( image->mImpl )
+ //ColorFormat will be ignored.
+ NativeImageSourceQueuePtr image = new NativeImageSourceQueue(0, 0, 0, ColorFormat::BGRA8888, nativeImageSourceQueue);
+ if(image->mImpl)
{
return image;
}
return mImpl->GetNativeImageSourceQueue();
}
-void NativeImageSourceQueue::SetSize( uint32_t width, uint32_t height )
+void NativeImageSourceQueue::SetSize(uint32_t width, uint32_t height)
{
- return mImpl->SetSize( width, height );
+ return mImpl->SetSize(width, height);
}
void NativeImageSourceQueue::IgnoreSourceImage()
mImpl->IgnoreSourceImage();
}
+bool NativeImageSourceQueue::CanDequeueBuffer()
+{
+ return mImpl->CanDequeueBuffer();
+}
+
+uint8_t* NativeImageSourceQueue::DequeueBuffer(uint32_t& width, uint32_t& height, uint32_t& stride)
+{
+ return mImpl->DequeueBuffer(width, height, stride);
+}
+
+bool NativeImageSourceQueue::EnqueueBuffer(uint8_t* buffer)
+{
+ return mImpl->EnqueueBuffer(buffer);
+}
+
+void NativeImageSourceQueue::FreeReleasedBuffers()
+{
+ mImpl->FreeReleasedBuffers();
+}
+
bool NativeImageSourceQueue::CreateResource()
{
return mImpl->CreateResource();
mImpl->PrepareTexture();
}
+uint32_t NativeImageSourceQueue::GetQueueCount() const
+{
+ return mImpl->GetQueueCount();
+}
+
uint32_t NativeImageSourceQueue::GetWidth() const
{
return mImpl->GetWidth();
return mImpl->GetTextureTarget();
}
-const char* NativeImageSourceQueue::GetCustomFragmentPrefix() const
+bool NativeImageSourceQueue::ApplyNativeFragmentShader(std::string& shader)
{
- return mImpl->GetCustomFragmentPrefix();
+ return mImpl->ApplyNativeFragmentShader(shader);
}
const char* NativeImageSourceQueue::GetCustomSamplerTypename() const
return mImpl->SourceChanged();
}
+Rect<uint32_t> NativeImageSourceQueue::GetUpdatedArea()
+{
+ return mImpl->GetUpdatedArea();
+}
+
NativeImageInterface::Extension* NativeImageSourceQueue::GetExtension()
{
return mImpl->GetNativeImageInterfaceExtension();
}
-NativeImageSourceQueue::NativeImageSourceQueue( uint32_t width, uint32_t height, ColorDepth depth, Any nativeImageSourceQueue )
+NativeImageSourceQueue::NativeImageSourceQueue(uint32_t queueCount, uint32_t width, uint32_t height, ColorFormat colorFormat, Any nativeImageSourceQueue)
{
auto factory = Dali::Internal::Adaptor::GetNativeImageSourceFactory();
- mImpl = factory->CreateNativeImageSourceQueue( width, height, depth, nativeImageSourceQueue );
+ mImpl = factory->CreateNativeImageSourceQueue(queueCount, width, height, colorFormat, nativeImageSourceQueue);
}
NativeImageSourceQueue::~NativeImageSourceQueue()