paintTexture method
void
paintTexture(
- double elapsedSeconds, {
- bool forceShouldAdvance = false,
})
Implementation
void paintTexture(double elapsedSeconds, {bool forceShouldAdvance = false}) {
final painter = rivePainter;
if (painter == null || !renderTexture.isReady || !hasSize) {
return;
}
if (!renderTexture.clear(painter.background, painter.clear)) {
markNeedsPaint();
return;
}
final renderer = renderTexture.renderer;
renderer.save();
renderer.transform(Mat2D.fromScale(scaleWidth, scaleHeight));
final shouldAdvance = painter.paint(
renderTexture,
devicePixelRatio,
desiredSize,
elapsedSeconds,
);
renderer.restore();
_shouldAdvance = forceShouldAdvance == true || shouldAdvance;
if (_shouldAdvance) {
restartTickerIfStopped();
} else {
stopTicker();
}
if (!renderTexture.flush(devicePixelRatio)) {
markNeedsPaint();
return;
}
if (painter.paintsCanvas) {
markNeedsPaint();
}
}