gl_engine: fix GradientStroke ignored by tessellator

Fix the GlRenderer not take GradientStroke into consider when prepare
Geometry vertices.
This commit is contained in:
RuiwenTang 2024-06-01 16:01:11 +08:00 committed by Hermet Park
parent f14be7c33b
commit 1879a2ff0e
2 changed files with 5 additions and 5 deletions

View file

@ -45,7 +45,7 @@ bool GlGeometry::tesselate(const RenderShape& rshape, RenderUpdateFlag flag)
mBounds = bwTess.bounds();
}
if (flag & (RenderUpdateFlag::Stroke | RenderUpdateFlag::Transform)) {
if (flag & (RenderUpdateFlag::Stroke | RenderUpdateFlag::GradientStroke | RenderUpdateFlag::Transform)) {
strokeVertex.clear();
strokeIndex.clear();

View file

@ -421,9 +421,9 @@ RenderData GlRenderer::prepare(const RenderShape& rshape, RenderData data, const
rshape.fillColor(nullptr, nullptr, nullptr, &alphaF);
rshape.strokeColor(nullptr, nullptr, nullptr, &alphaS);
if ( ((sdata->updateFlag & RenderUpdateFlag::Gradient) == 0) &&
((sdata->updateFlag & RenderUpdateFlag::Color) && alphaF == 0) &&
((sdata->updateFlag & RenderUpdateFlag::Stroke) && alphaS == 0) )
if ( ((flags & RenderUpdateFlag::Gradient) == 0) &&
((flags & RenderUpdateFlag::Color) && alphaF == 0) &&
((flags & RenderUpdateFlag::Stroke) && alphaS == 0) )
{
return sdata;
}
@ -447,7 +447,7 @@ RenderData GlRenderer::prepare(const RenderShape& rshape, RenderData data, const
mViewport.h,
});
if (sdata->updateFlag & (RenderUpdateFlag::Color | RenderUpdateFlag::Stroke | RenderUpdateFlag::Gradient | RenderUpdateFlag::Transform | RenderUpdateFlag::Path))
if (sdata->updateFlag & (RenderUpdateFlag::Color | RenderUpdateFlag::Stroke | RenderUpdateFlag::Gradient | RenderUpdateFlag::GradientStroke | RenderUpdateFlag::Transform | RenderUpdateFlag::Path))
{
if (!sdata->geometry->tesselate(rshape, sdata->updateFlag)) return sdata;
}