part of sprites; /// A texture represents a rectangular area of an image and is typically used to draw a sprite to the screen. /// /// Normally you get a reference to a texture from a [SpriteSheet], but you can also create one from an [Image]. class Texture { /// The image that this texture is a part of. /// /// var textureImage = myTexture.image; final Image image; /// The logical size of the texture, before being trimmed by the texture packer. /// /// var textureSize = myTexture.size; final Size size; /// The name of the image acts as a tag when acquiring a reference to it. /// /// myTexture.name = "new_texture_name"; String name; /// The texture was rotated 90 degrees when being packed into a sprite sheet. /// /// if (myTexture.rotated) drawRotated(); final bool rotated; /// The texture was trimmed when being packed into a sprite sheet. /// /// bool trimmed = myTexture.trimmed final bool trimmed; /// The frame of the trimmed texture inside the image. /// /// Rect frame = myTexture.frame; final Rect frame; /// The offset and size of the trimmed texture inside the image. /// /// Position represents the offset from the logical [size], the size of the rect represents the size of the trimmed /// texture. /// /// Rect spriteSourceSize = myTexture.spriteSourceSize; final Rect spriteSourceSize; /// The default pivot point for this texture. When creating a [Sprite] from the texture, this is the pivot point that /// will be used. /// /// myTexture.pivot = new Point(0.5, 0.5); Point pivot; /// Creates a new texture from an [Image] object. /// /// var myTexture = new Texture(myImage); Texture(Image image) : size = new Size(image.width.toDouble(), image.height.toDouble()), image = image, trimmed = false, rotated = false, frame = new Rect.fromLTRB(0.0, 0.0, image.width.toDouble(), image.height.toDouble()), spriteSourceSize = new Rect.fromLTRB(0.0, 0.0, image.width.toDouble(), image.height.toDouble()), pivot = new Point(0.5, 0.5); Texture._fromSpriteFrame(this.image, this.name, this.size, this.rotated, this.trimmed, this.frame, this.spriteSourceSize, this.pivot) { } // Texture textureFromRect(Rect rect, [String name = null]) { // assert(rect != null); // Rect frame = new Rect.fromLTRB(); // return new Texture._fromSpriteFrame(image, name, rect.size, false, false, ); // } }