Dart Documentationbot_textureTextureData

TextureData class

class TextureData {
  final Map<String, TextureInput> _textures;

  TextureData(this._textures);

  TextureInput getTexture(String key) {
    assert(_textures != null);
    return _textures[key];
  }

  void drawTextureKeyAt(CanvasRenderingContext2D ctx, String textureKey,
                        [Coordinate location = const Coordinate()]) {
    assert(textureKey != null);
    final texture = getTexture(textureKey);
    assert(texture != null);
    drawTextureAt(ctx, location, texture);
  }

  void drawTextureAt(CanvasRenderingContext2D ctx, Coordinate location,
                     TextureInput texture) {
    ctx.save();
    final tx = new AffineTransform();
    tx.translate(location.x, location.y);

    var theFrame = texture.frame;
    var source = texture.sourceColorRect.topLeft;
    tx.translate(source.x, source.y);

    if(texture.rotated) {
      tx.rotate(-0.5 * math.PI, 0.5 * theFrame.height, 0.5 * theFrame.height);
      theFrame = new Box(theFrame.left, theFrame.top,
          theFrame.height, theFrame.width);
    }

    CanvasUtil.transform(ctx, tx);

    CanvasUtil.drawImage(ctx, texture.image, theFrame);
    ctx.restore();
  }


}

Constructors

new TextureData(Map<String, TextureInput> _textures) #

TextureData(this._textures);

Properties

final Type runtimeType #

inherited from Object

A representation of the runtime type of the object.

external Type get runtimeType;

Operators

bool operator ==(other) #

inherited from Object

The equality operator.

The default behavior for all Objects is to return true if and only if this and other are the same object.

If a subclass overrides the equality operator it should override the hashCode method as well to maintain consistency.

bool operator ==(other) => identical(this, other);

Methods

void drawTextureAt(CanvasRenderingContext2D ctx, Coordinate location, TextureInput texture) #

void drawTextureAt(CanvasRenderingContext2D ctx, Coordinate location,
                   TextureInput texture) {
  ctx.save();
  final tx = new AffineTransform();
  tx.translate(location.x, location.y);

  var theFrame = texture.frame;
  var source = texture.sourceColorRect.topLeft;
  tx.translate(source.x, source.y);

  if(texture.rotated) {
    tx.rotate(-0.5 * math.PI, 0.5 * theFrame.height, 0.5 * theFrame.height);
    theFrame = new Box(theFrame.left, theFrame.top,
        theFrame.height, theFrame.width);
  }

  CanvasUtil.transform(ctx, tx);

  CanvasUtil.drawImage(ctx, texture.image, theFrame);
  ctx.restore();
}

void drawTextureKeyAt(CanvasRenderingContext2D ctx, String textureKey, [Coordinate location = const Coordinate()]) #

void drawTextureKeyAt(CanvasRenderingContext2D ctx, String textureKey,
                      [Coordinate location = const Coordinate()]) {
  assert(textureKey != null);
  final texture = getTexture(textureKey);
  assert(texture != null);
  drawTextureAt(ctx, location, texture);
}

TextureInput getTexture(String key) #

TextureInput getTexture(String key) {
  assert(_textures != null);
  return _textures[key];
}

int hashCode() #

inherited from Object

Get a hash code for this object.

All objects have hash codes. Hash codes are guaranteed to be the same for objects that are equal when compared using the equality operator ==. Other than that there are no guarantees about the hash codes. They will not be consistent between runs and there are no distribution guarantees.

If a subclass overrides hashCode it should override the equality operator as well to maintain consistency.

external int hashCode();

noSuchMethod(String name, List args) #

inherited from Object

noSuchMethod is invoked when users invoke a non-existant method on an object. The name of the method and the arguments of the invocation are passed to noSuchMethod. If noSuchMethod returns a value, that value becomes the result of the original invocation.

The default behavior of noSuchMethod is to throw a noSuchMethodError.

external Dynamic noSuchMethod(String name, List args);

const Object() #

inherited from Object

Creates a new Object instance.

Object instances have no meaningful state, and are only useful through their identity. An Object instance is equal to itself only.

const Object();

new TextureData(Map<String, TextureInput> _textures) #

TextureData(this._textures);

String toString() #

inherited from Object

Returns a string representation of this object.

external String toString();