updateUVs method

void updateUVs()

Implementation

void updateUVs() {
  double u = 0.0, v = 0.0, width = 0.0, height = 0.0;
  if (region == null) {
    u = v = 0.0;
    width = height = 1.0;
  } else {
    u = region!.u;
    v = region!.v;
    width = region!.u2 - u;
    height = region!.v2 - v;
  }
  final Float32List? regionUVs = this.regionUVs;
  if (this.uvs == null || this.uvs!.length != regionUVs!.length) {
    this.uvs = Float32List(regionUVs!.length);
  }
  final Float32List? uvs = this.uvs;
  if (region!.rotate) {
    final int n = uvs!.length;
    for (int i = 0; i < n; i += 2) {
      uvs[i] = u + regionUVs[i + 1] * width;
      uvs[i + 1] = v + height - regionUVs[i] * height;
    }
  } else {
    final int n = uvs!.length;
    for (int i = 0; i < n; i += 2) {
      uvs[i] = u + regionUVs[i] * width;
      uvs[i + 1] = v + regionUVs[i + 1] * height;
    }
  }
}