renderer: rectify the update flag once more

- image tag is a bit ambuguous for vector type picture
- engine doesn't need to take care of the none flag update
  because renderer filters that case.
This commit is contained in:
Hermet Park 2025-06-18 15:43:22 +09:00
parent d8ebd8b4f5
commit a698504714
4 changed files with 1 additions and 11 deletions

View file

@ -1381,8 +1381,6 @@ static GLuint _genTexture(RenderSurface* image)
RenderData GlRenderer::prepare(RenderSurface* image, RenderData data, const Matrix& transform, Array<RenderData>& clips, uint8_t opacity, RenderUpdateFlag flags) RenderData GlRenderer::prepare(RenderSurface* image, RenderData data, const Matrix& transform, Array<RenderData>& clips, uint8_t opacity, RenderUpdateFlag flags)
{ {
if (flags == RenderUpdateFlag::None) return data;
auto sdata = static_cast<GlShape*>(data); auto sdata = static_cast<GlShape*>(data);
if (!sdata) sdata = new GlShape; if (!sdata) sdata = new GlShape;
@ -1415,8 +1413,6 @@ RenderData GlRenderer::prepare(RenderSurface* image, RenderData data, const Matr
RenderData GlRenderer::prepare(const RenderShape& rshape, RenderData data, const Matrix& transform, Array<RenderData>& clips, uint8_t opacity, RenderUpdateFlag flags, bool clipper) RenderData GlRenderer::prepare(const RenderShape& rshape, RenderData data, const Matrix& transform, Array<RenderData>& clips, uint8_t opacity, RenderUpdateFlag flags, bool clipper)
{ {
if (flags == RenderUpdateFlag::None) return data;
// If prepare for clip, only path is meaningful. // If prepare for clip, only path is meaningful.
if (clipper) flags = RenderUpdateFlag::Path; if (clipper) flags = RenderUpdateFlag::Path;

View file

@ -727,7 +727,6 @@ void* SwRenderer::prepareCommon(SwTask* task, const Matrix& transform, const Arr
RenderData SwRenderer::prepare(RenderSurface* surface, RenderData data, const Matrix& transform, Array<RenderData>& clips, uint8_t opacity, RenderUpdateFlag flags) RenderData SwRenderer::prepare(RenderSurface* surface, RenderData data, const Matrix& transform, Array<RenderData>& clips, uint8_t opacity, RenderUpdateFlag flags)
{ {
//prepare task
auto task = static_cast<SwImageTask*>(data); auto task = static_cast<SwImageTask*>(data);
if (task) task->done(); if (task) task->done();
else { else {
@ -741,7 +740,6 @@ RenderData SwRenderer::prepare(RenderSurface* surface, RenderData data, const Ma
RenderData SwRenderer::prepare(const RenderShape& rshape, RenderData data, const Matrix& transform, Array<RenderData>& clips, uint8_t opacity, RenderUpdateFlag flags, bool clipper) RenderData SwRenderer::prepare(const RenderShape& rshape, RenderData data, const Matrix& transform, Array<RenderData>& clips, uint8_t opacity, RenderUpdateFlag flags, bool clipper)
{ {
//prepare task
auto task = static_cast<SwShapeTask*>(data); auto task = static_cast<SwShapeTask*>(data);
if (task) task->done(); if (task) task->done();
else { else {

View file

@ -43,7 +43,7 @@ Result Animation::frame(float no) noexcept
if (!loader->animatable()) return Result::NonSupport; if (!loader->animatable()) return Result::NonSupport;
if (static_cast<FrameModule*>(loader)->frame(no)) { if (static_cast<FrameModule*>(loader)->frame(no)) {
PAINT(pImpl->picture)->mark(RenderUpdateFlag::Image); PAINT(pImpl->picture)->mark(RenderUpdateFlag::All);
return Result::Success; return Result::Success;
} }
return Result::InsufficientCondition; return Result::InsufficientCondition;

View file

@ -131,8 +131,6 @@ bool WgRenderer::surfaceConfigure(WGPUSurface surface, WgContext& context, uint3
RenderData WgRenderer::prepare(const RenderShape& rshape, RenderData data, const Matrix& transform, Array<RenderData>& clips, uint8_t opacity, RenderUpdateFlag flags, bool clipper) RenderData WgRenderer::prepare(const RenderShape& rshape, RenderData data, const Matrix& transform, Array<RenderData>& clips, uint8_t opacity, RenderUpdateFlag flags, bool clipper)
{ {
if (flags == RenderUpdateFlag::None) return data;
auto renderDataShape = data ? (WgRenderDataShape*)data : mRenderDataShapePool.allocate(mContext); auto renderDataShape = data ? (WgRenderDataShape*)data : mRenderDataShapePool.allocate(mContext);
// update geometry // update geometry
@ -164,8 +162,6 @@ RenderData WgRenderer::prepare(const RenderShape& rshape, RenderData data, const
RenderData WgRenderer::prepare(RenderSurface* surface, RenderData data, const Matrix& transform, Array<RenderData>& clips, uint8_t opacity, RenderUpdateFlag flags) RenderData WgRenderer::prepare(RenderSurface* surface, RenderData data, const Matrix& transform, Array<RenderData>& clips, uint8_t opacity, RenderUpdateFlag flags)
{ {
if (flags == RenderUpdateFlag::None) return data;
auto renderDataPicture = data ? (WgRenderDataPicture*)data : mRenderDataPicturePool.allocate(mContext); auto renderDataPicture = data ? (WgRenderDataPicture*)data : mRenderDataPicturePool.allocate(mContext);
// update paint settings // update paint settings