@@ -175,7 +175,7 @@ const LOTLayerNode *LOTCompItem::renderTree() const
175
175
return mRootLayer ->layerNode ();
176
176
}
177
177
178
- bool LOTCompItem::render (const rlottie::Surface &surface)
178
+ bool LOTCompItem::render (const rlottie::Surface &surface, bool clear )
179
179
{
180
180
VBitmap bitmap (reinterpret_cast <uchar *>(surface.buffer ()), surface.width (),
181
181
surface.height (), surface.bytesPerLine (),
@@ -190,7 +190,7 @@ bool LOTCompItem::render(const rlottie::Surface &surface)
190
190
e->preprocess (clip);
191
191
}
192
192
193
- VPainter painter (&bitmap);
193
+ VPainter painter (&bitmap, clear );
194
194
// set sub surface area for drawing.
195
195
painter.setDrawRegion (
196
196
VRect (surface.drawRegionPosX (), surface.drawRegionPosY (),
@@ -609,7 +609,7 @@ void LOTCompLayerItem::render(VPainter *painter, const VRle &inheritMask,
609
609
VPainter srcPainter;
610
610
VBitmap srcBitmap (size.width (), size.height (),
611
611
VBitmap::Format::ARGB32);
612
- srcPainter.begin (&srcBitmap);
612
+ srcPainter.begin (&srcBitmap, true );
613
613
renderHelper (&srcPainter, inheritMask, matteRle);
614
614
srcPainter.end ();
615
615
painter->drawBitmap (VPoint (), srcBitmap, combinedAlpha () * 255 );
@@ -669,15 +669,15 @@ void LOTCompLayerItem::renderMatteLayer(VPainter *painter, const VRle &mask,
669
669
VPainter srcPainter;
670
670
src->bitmap ().reset (size.width (), size.height (),
671
671
VBitmap::Format::ARGB32);
672
- srcPainter.begin (&src->bitmap ());
672
+ srcPainter.begin (&src->bitmap (), true );
673
673
src->render (&srcPainter, mask, matteRle);
674
674
srcPainter.end ();
675
675
676
676
// 2. draw layer to layer buffer
677
677
VPainter layerPainter;
678
678
layer->bitmap ().reset (size.width (), size.height (),
679
679
VBitmap::Format::ARGB32);
680
- layerPainter.begin (&layer->bitmap ());
680
+ layerPainter.begin (&layer->bitmap (), true );
681
681
layer->render (&layerPainter, mask, matteRle);
682
682
683
683
// 2.1update composition mode
0 commit comments