2 * Copyright (c) 2023 Samsung Electronics Co., Ltd.
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
19 #include <dali/public-api/adaptor-framework/encoded-image-buffer.h>
22 #include <dali/internal/imaging/common/encoded-image-buffer-impl.h>
26 EncodedImageBuffer::EncodedImageBuffer()
30 EncodedImageBuffer::~EncodedImageBuffer()
34 EncodedImageBuffer::EncodedImageBuffer(Internal::EncodedImageBuffer* internal)
35 : BaseHandle(internal)
39 EncodedImageBuffer::EncodedImageBuffer(const EncodedImageBuffer& handle) = default;
41 EncodedImageBuffer& EncodedImageBuffer::operator=(const EncodedImageBuffer& handle) = default;
43 EncodedImageBuffer::EncodedImageBuffer(EncodedImageBuffer&& handle) noexcept = default;
45 EncodedImageBuffer& EncodedImageBuffer::operator=(EncodedImageBuffer&& handle) noexcept = default;
47 const EncodedImageBuffer::RawBufferType& EncodedImageBuffer::GetRawBuffer() const
49 return GetImplementation(*this).GetRawBuffer();
52 std::size_t EncodedImageBuffer::GetHash() const
54 return GetImplementation(*this).GetHash();
57 void EncodedImageBuffer::SetImageType(ImageType type)
59 GetImplementation(*this).SetImageType(type);
62 EncodedImageBuffer::ImageType EncodedImageBuffer::GetImageType() const
64 return GetImplementation(*this).GetImageType();
67 EncodedImageBuffer EncodedImageBuffer::New(const RawBufferType& buffer)
69 return EncodedImageBuffer::New(buffer, ImageType::DEFAULT);
72 EncodedImageBuffer EncodedImageBuffer::New(RawBufferType&& buffer)
74 return EncodedImageBuffer::New(std::move(buffer), ImageType::DEFAULT);
77 EncodedImageBuffer EncodedImageBuffer::New(const RawBufferType& buffer, ImageType type)
79 IntrusivePtr<Internal::EncodedImageBuffer> internal = Internal::EncodedImageBuffer::New(buffer, type);
80 return EncodedImageBuffer(internal.Get());
83 EncodedImageBuffer EncodedImageBuffer::New(RawBufferType&& buffer, ImageType type)
85 IntrusivePtr<Internal::EncodedImageBuffer> internal = Internal::EncodedImageBuffer::New(std::move(buffer), type);
86 return EncodedImageBuffer(internal.Get());