initializeGraphics method
void
initializeGraphics(
)
override
Implementation
@override
void initializeGraphics() {
super.initializeGraphics();
if (triangles == null) {
// Set the paint as it's late initialized.
_paint = ui.Paint();
return;
}
_vertexBuffer = makeVertexPositionBuffer();
_uvBuffer = makeVertexUVBuffer();
_indices = triangles!;
updateVertexUVBuffer(_uvBuffer);
int count = vertexCount;
int idx = 0;
List<ui.Image> images = (artboard.actor as FlutterActor).images;
ui.Image image = images[textureIndex];
// SKIA requires texture coordinates in full image space, not traditional
// normalized uv coordinates.
for (int i = 0; i < count; i++) {
_uvBuffer[idx] = _uvBuffer[idx] * image.width;
_uvBuffer[idx + 1] = _uvBuffer[idx + 1] * image.height;
idx += 2;
}
if (sequenceUVs != null) {
var suvs = sequenceUVs!;
for (int i = 0; i < suvs.length; i++) {
suvs[i++] *= image.width;
suvs[i] *= image.height;
}
}
_paint = ui.Paint()
..blendMode = blendMode
..shader = ui.ImageShader(
image, ui.TileMode.clamp, ui.TileMode.clamp, _identityMatrix)
..filterQuality = ui.FilterQuality.low;
onPaintUpdated(_paint);
}