engine: add Renderer::colorSpace() interface

This is necessary for acquiring current format size.

@Issue: https://github.com/thorvg/thorvg/issues/976
This commit is contained in:
Hermet Park 2023-05-01 16:54:57 +09:00 committed by Hermet Park
parent 1302c18f28
commit 01b26c43a6
5 changed files with 16 additions and 0 deletions

View file

@ -123,6 +123,12 @@ bool GlRenderer::endComposite(TVG_UNUSED Compositor* cmp)
} }
ColorSpace GlRenderer::SwRenderer::colorSpace()
{
return surface->cs;
}
bool GlRenderer::renderImage(TVG_UNUSED void* data) bool GlRenderer::renderImage(TVG_UNUSED void* data)
{ {
//TODO: render requested images //TODO: render requested images

View file

@ -41,6 +41,7 @@ public:
RenderRegion region(RenderData data) override; RenderRegion region(RenderData data) override;
RenderRegion viewport() override; RenderRegion viewport() override;
bool viewport(const RenderRegion& vp) override; bool viewport(const RenderRegion& vp) override;
ColorSpace colorSpace() override;
bool target(uint32_t* buffer, uint32_t stride, uint32_t w, uint32_t h); bool target(uint32_t* buffer, uint32_t stride, uint32_t w, uint32_t h);
bool sync() override; bool sync() override;

View file

@ -664,6 +664,13 @@ bool SwRenderer::endComposite(Compositor* cmp)
} }
ColorSpace SwRenderer::colorSpace()
{
if (surface) return surface->cs;
else return ColorSpace::Unsupported;
}
bool SwRenderer::dispose(RenderData data) bool SwRenderer::dispose(RenderData data)
{ {
auto task = static_cast<SwTask*>(data); auto task = static_cast<SwTask*>(data);

View file

@ -47,6 +47,7 @@ public:
RenderRegion region(RenderData data) override; RenderRegion region(RenderData data) override;
RenderRegion viewport() override; RenderRegion viewport() override;
bool viewport(const RenderRegion& vp) override; bool viewport(const RenderRegion& vp) override;
ColorSpace colorSpace() override;
bool clear() override; bool clear() override;
bool sync() override; bool sync() override;

View file

@ -221,6 +221,7 @@ public:
virtual RenderRegion region(RenderData data) = 0; virtual RenderRegion region(RenderData data) = 0;
virtual RenderRegion viewport() = 0; virtual RenderRegion viewport() = 0;
virtual bool viewport(const RenderRegion& vp) = 0; virtual bool viewport(const RenderRegion& vp) = 0;
virtual ColorSpace colorSpace() = 0;
virtual bool clear() = 0; virtual bool clear() = 0;
virtual bool sync() = 0; virtual bool sync() = 0;