paintTexture method

void paintTexture(
  1. double elapsedSeconds, {
  2. 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();
  }
}