| 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, ); |
| // } |
| } |