/*
- * Copyright (c) 2020 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2022 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.
return Renderer(renderer.Get());
}
-Renderer::Renderer()
+Renderer Renderer::New(RenderCallback& renderCallback)
{
+ Internal::RendererPtr renderer = Internal::Renderer::New();
+ renderer->SetRenderCallback(&renderCallback);
+ return Renderer(renderer.Get());
}
-Renderer::~Renderer()
-{
-}
+Renderer::Renderer() = default;
+
+Renderer::~Renderer() = default;
Renderer::Renderer(const Renderer& handle) = default;
Renderer& Renderer::operator=(const Renderer& handle) = default;
-Renderer::Renderer(Renderer&& rhs) = default;
+Renderer::Renderer(Renderer&& rhs) noexcept = default;
-Renderer& Renderer::operator=(Renderer&& rhs) = default;
+Renderer& Renderer::operator=(Renderer&& rhs) noexcept = default;
void Renderer::SetGeometry(Geometry& geometry)
{
GetImplementation(*this).SetShader(GetImplementation(shader));
}
+void Renderer::SetRenderCallback(RenderCallback* callback)
+{
+ GetImplementation(*this).SetRenderCallback(callback);
+}
+
Shader Renderer::GetShader() const
{
return Dali::Shader(GetImplementation(*this).GetShader().Get());