X-Git-Url: http://nitlanguage.org diff --git a/lib/mnit_display.nit b/lib/mnit_display.nit index 26a4bde..fad361e 100644 --- a/lib/mnit_display.nit +++ b/lib/mnit_display.nit @@ -59,21 +59,37 @@ interface Drawable fun set_viewport( x, y, w, h: Int ) is abstract # Draw image on self, for top left position - fun blit( image: I, x, y: Int ) is abstract + fun blit(image: I, x, y: Numeric) is abstract + + # Draw image on self, for top left position but scaled + # the width and height of the target rectangle is specified + fun blit_scaled(image: Image, x, y, w, h: Numeric) + do + var fx = x.to_f + var fy = y.to_f + var fx2 = fx + w.to_f + var fy2 = fy + h.to_f + blit_stretched(image, fx, fy, fx, fy2, fx2, fy2, fx2, fy) + end # Draw image, centered at position - fun blit_centered( image: I, x, y: Int ) is abstract + fun blit_centered(image: I, x, y: Numeric) is abstract # Draw image, centered at position but rotated - fun blit_rotated( image: I, x, y, angle: Float ) is abstract + fun blit_rotated(image: I, x, y: Numeric, angle: Float) is abstract # Draw image, centered, rotated and scaled - fun blit_rotated_scaled( image: I, x, y, angle, scale: Float ) is abstract + fun blit_rotated_scaled(image: I, x, y: Numeric, angle, scale: Float) is abstract # Draw image by specifying the positon of each image corners - # Corners are in clockwise order stating top right - # a is top right, b is bottom right, c is bottom left and d is top left - fun blit_stretched( image: I, ax, ay, bx, by, cx, cy, dx, dy: Float ) + # Corners are in counter-clockwise order stating top left + # a is top left, b is bottom left, c is bottom right and d is top right + # ~~~raw + # a-d + # | | + # b-c + # ~~~ + fun blit_stretched(image: I, ax, ay, bx, by, cx, cy, dx, dy: Numeric) is abstract # Clear entire window with given color @@ -84,9 +100,6 @@ end interface Display super Sized super Drawable - - # InputEvent type associated to this display type - type IE: InputEvent end # General drawable display image