mirror of
https://github.com/thorvg/thorvg.git
synced 2025-06-08 21:53:41 +00:00
renderer: minor code clean++
This commit is contained in:
parent
1c3b958d5b
commit
8f98681ea7
7 changed files with 11 additions and 20 deletions
|
@ -1116,7 +1116,6 @@ bool GlRenderer::renderShape(RenderData data)
|
||||||
void GlRenderer::dispose(RenderData data)
|
void GlRenderer::dispose(RenderData data)
|
||||||
{
|
{
|
||||||
auto sdata = static_cast<GlShape*>(data);
|
auto sdata = static_cast<GlShape*>(data);
|
||||||
if (!sdata) return;
|
|
||||||
|
|
||||||
//dispose the non thread-safety resources on clearDisposes() call
|
//dispose the non thread-safety resources on clearDisposes() call
|
||||||
if (sdata->texId) {
|
if (sdata->texId) {
|
||||||
|
|
|
@ -721,7 +721,6 @@ ColorSpace SwRenderer::colorSpace()
|
||||||
void SwRenderer::dispose(RenderData data)
|
void SwRenderer::dispose(RenderData data)
|
||||||
{
|
{
|
||||||
auto task = static_cast<SwTask*>(data);
|
auto task = static_cast<SwTask*>(data);
|
||||||
if (!task) return;
|
|
||||||
task->done();
|
task->done();
|
||||||
task->dispose();
|
task->dispose();
|
||||||
|
|
||||||
|
|
|
@ -53,6 +53,8 @@ namespace tvg
|
||||||
Mask* maskData = nullptr;
|
Mask* maskData = nullptr;
|
||||||
Paint* clipper = nullptr;
|
Paint* clipper = nullptr;
|
||||||
RenderMethod* renderer = nullptr;
|
RenderMethod* renderer = nullptr;
|
||||||
|
RenderData rd = nullptr;
|
||||||
|
|
||||||
struct {
|
struct {
|
||||||
Matrix m; //input matrix
|
Matrix m; //input matrix
|
||||||
Matrix cm; //multipled parents matrix
|
Matrix cm; //multipled parents matrix
|
||||||
|
@ -91,8 +93,13 @@ namespace tvg
|
||||||
maskData->target->unref();
|
maskData->target->unref();
|
||||||
free(maskData);
|
free(maskData);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (clipper) clipper->unref();
|
if (clipper) clipper->unref();
|
||||||
if (renderer && (renderer->unref() == 0)) delete(renderer);
|
|
||||||
|
if (renderer) {
|
||||||
|
if (rd) renderer->dispose(rd);
|
||||||
|
if (renderer->unref() == 0) delete(renderer);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
uint8_t ref()
|
uint8_t ref()
|
||||||
|
|
|
@ -60,7 +60,6 @@ struct Picture::Impl : Paint::Impl
|
||||||
ImageLoader* loader = nullptr;
|
ImageLoader* loader = nullptr;
|
||||||
Paint* vector = nullptr; //vector picture uses
|
Paint* vector = nullptr; //vector picture uses
|
||||||
RenderSurface* bitmap = nullptr; //bitmap picture uses
|
RenderSurface* bitmap = nullptr; //bitmap picture uses
|
||||||
RenderData rd = nullptr;
|
|
||||||
float w = 0, h = 0;
|
float w = 0, h = 0;
|
||||||
uint8_t compFlag = CompositionFlag::Invalid;
|
uint8_t compFlag = CompositionFlag::Invalid;
|
||||||
bool resizing = false;
|
bool resizing = false;
|
||||||
|
@ -72,7 +71,6 @@ struct Picture::Impl : Paint::Impl
|
||||||
~Impl()
|
~Impl()
|
||||||
{
|
{
|
||||||
LoaderMgr::retrieve(loader);
|
LoaderMgr::retrieve(loader);
|
||||||
if (bitmap && renderer) renderer->dispose(rd);
|
|
||||||
delete(vector);
|
delete(vector);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -96,7 +94,7 @@ struct Picture::Impl : Paint::Impl
|
||||||
resizing = false;
|
resizing = false;
|
||||||
}
|
}
|
||||||
queryComposition(opacity);
|
queryComposition(opacity);
|
||||||
rd = vector->pImpl->update(renderer, transform, clips, opacity, flag, false);
|
return vector->pImpl->update(renderer, transform, clips, opacity, flag, false);
|
||||||
}
|
}
|
||||||
return rd;
|
return rd;
|
||||||
}
|
}
|
||||||
|
|
|
@ -62,7 +62,6 @@ struct SceneIterator : Iterator
|
||||||
struct Scene::Impl : Paint::Impl
|
struct Scene::Impl : Paint::Impl
|
||||||
{
|
{
|
||||||
list<Paint*> paints; //children list
|
list<Paint*> paints; //children list
|
||||||
RenderData rd = nullptr;
|
|
||||||
RenderRegion vport = {0, 0, INT32_MAX, INT32_MAX};
|
RenderRegion vport = {0, 0, INT32_MAX, INT32_MAX};
|
||||||
Array<RenderEffect*>* effects = nullptr;
|
Array<RenderEffect*>* effects = nullptr;
|
||||||
uint8_t compFlag = CompositionFlag::Invalid;
|
uint8_t compFlag = CompositionFlag::Invalid;
|
||||||
|
@ -77,8 +76,6 @@ struct Scene::Impl : Paint::Impl
|
||||||
resetEffects();
|
resetEffects();
|
||||||
|
|
||||||
clearPaints();
|
clearPaints();
|
||||||
|
|
||||||
if (renderer) renderer->dispose(rd);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
uint8_t needComposition(uint8_t opacity)
|
uint8_t needComposition(uint8_t opacity)
|
||||||
|
|
|
@ -32,7 +32,6 @@
|
||||||
struct Shape::Impl : Paint::Impl
|
struct Shape::Impl : Paint::Impl
|
||||||
{
|
{
|
||||||
RenderShape rs;
|
RenderShape rs;
|
||||||
RenderData rd = nullptr;
|
|
||||||
uint8_t compFlag = CompositionFlag::Invalid;
|
uint8_t compFlag = CompositionFlag::Invalid;
|
||||||
uint8_t opacity; //for composition
|
uint8_t opacity; //for composition
|
||||||
|
|
||||||
|
@ -40,11 +39,6 @@ struct Shape::Impl : Paint::Impl
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
~Impl()
|
|
||||||
{
|
|
||||||
if (renderer) renderer->dispose(rd);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool render(RenderMethod* renderer)
|
bool render(RenderMethod* renderer)
|
||||||
{
|
{
|
||||||
if (!rd) return false;
|
if (!rd) return false;
|
||||||
|
|
|
@ -188,11 +188,8 @@ bool WgRenderer::postRender()
|
||||||
|
|
||||||
void WgRenderer::dispose(RenderData data) {
|
void WgRenderer::dispose(RenderData data) {
|
||||||
if (!mContext.queue) return;
|
if (!mContext.queue) return;
|
||||||
auto renderData = (WgRenderDataPaint*)data;
|
ScopedLock lock(mDisposeKey);
|
||||||
if (renderData) {
|
mDisposeRenderDatas.push(data);
|
||||||
ScopedLock lock(mDisposeKey);
|
|
||||||
mDisposeRenderDatas.push(data);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue