render method

  1. @override
void render(
  1. RenderState renderState
)
override

Renders this display object with the given renderState. The display object is rendered without its filters.

Implementation

@override
void render(RenderState renderState) {
  final renderContext = renderState.renderContext;
  final renderTextureQuad = bitmapData.renderTextureQuad;
  final renderTexture = bitmapData.renderTexture;

  final matrix = renderTextureQuad.samplerMatrix;
  final ma = matrix.a * bitmapData.width;
  final mb = matrix.b * bitmapData.width;
  final mc = matrix.c * bitmapData.height;
  final md = matrix.d * bitmapData.height;
  final mx = matrix.tx;
  final my = matrix.tx;

  final vxListTemp = _vxListTemp ?? Float32List(vxList.length);
  _vxListTemp = vxListTemp;

  for (var i = 0; i < vxListTemp.length - 3; i += 4) {
    final x = vxList[i + 2];
    final y = vxList[i + 3];
    vxListTemp[i + 0] = vxList[i + 0];
    vxListTemp[i + 1] = vxList[i + 1];
    vxListTemp[i + 2] = mx + x * ma + y * mc;
    vxListTemp[i + 3] = my + x * mb + y * md;
  }

  renderContext.renderTextureMesh(
      renderState, renderTexture, ixList, vxListTemp);
}