X-Git-Url: http://nitlanguage.org diff --git a/lib/mnit/tileset.nit b/lib/mnit/tileset.nit index b0eae74..5bd5d4d 100644 --- a/lib/mnit/tileset.nit +++ b/lib/mnit/tileset.nit @@ -28,12 +28,8 @@ class TileSet # The height of a tile var height: Int - init(image: Image, width: Int, height: Int) + init do - self.image = image - self.width = width - self.height = height - self.nb_cols = image.width / width self.nb_rows = image.height / height @@ -45,13 +41,13 @@ class TileSet end # The number of columns of tiles in the image - var nb_cols: Int + var nb_cols: Int is noinit # The number of rows of tiles in the image - var nb_rows: Int + var nb_rows: Int is noinit # Cache for images of tiles - private var subimages = new Array[Image] + var subimages = new Array[Image] # The subimage of given tile # Aborts if x or y are out of bound @@ -72,19 +68,13 @@ class TileSetFont # Use space (' ') for holes in the tileset var chars: String - init(image: Image, width: Int, height: Int, chars: String) - do - super - self.chars = chars - end - # Additional space to insert horizontally between characters # A negave value will display tile overlaped - var hspace: Int = 0 is writable + var hspace: Numeric = 0.0 is writable # Additional space to insert vertically between characters # A negave value will display tile overlaped - var vspace: Int = 0 is writable + var vspace: Numeric = 0.0 is writable # The glyph (tile) associated to the caracter `c` according to `chars` # Returns null if `c` is not in `chars` @@ -99,12 +89,13 @@ end redef class Display # Blit the text using a monospace bitmap font # '\n' are rendered as carriage return - fun text(text: String, font: TileSetFont, x, y: Int) + fun text(text: String, font: TileSetFont, x, y: Numeric) do + x = x.to_f var cx = x - var cy = y - var sw = font.width + font.hspace - var sh = font.height + font.vspace + var cy = y.to_f + var sw = font.width.to_f + font.hspace.to_f + var sh = font.height.to_f + font.vspace.to_f for c in text.chars do if c == '\n' then cx = x