glFrontFace( GL_CW );
`}
- redef fun blit( image, x, y ) is extern `{
+ redef fun blit(image, x, y) do native_blit(image, x.to_f, y.to_f)
+
+ private fun native_blit(image: Opengles1Image, x, y: Float) `{
GLfloat texture_coord[4][2] =
{
{image->src_xo, image->src_yi},
}
`}
- redef fun blit_centered( img, x, y )
+ redef fun blit_centered(img, x, y)
do
- x = x - img.center_x
- y = y - img.center_y
- blit( img, x, y )
+ x = x.sub(img.center_x)
+ y = y.sub(img.center_y)
+ blit(img, x, y)
end
- redef fun blit_rotated( image, x, y, angle ) is extern `{
+ redef fun blit_rotated(image, x, y, angle) do native_blit_rotated(image, x.to_f, y.to_f, angle)
+
+ private fun native_blit_rotated(image: Opengles1Image, x, y, angle: Float) `{
GLfloat texture_coord[4][2] =
{
{image->src_xo, image->src_yi},
`}
# a = top left, b = bottom left, c = bottom right, d = top right
- redef fun blit_stretched( image, ax, ay, bx, by, cx, cy, dx, dy ) is extern `{
+ redef fun blit_stretched(image, ax, ay, bx, by, cx, cy, dx, dy)
+ do
+ native_blit_stretched(image,
+ ax.to_f, ay.to_f, bx.to_f, by.to_f,
+ cx.to_f, cy.to_f, dx.to_f, dy.to_f)
+ end
+
+ private fun native_blit_stretched(image: I, ax, ay, bx, by, cx, cy, dx, dy: Float) `{
GLfloat texture_coord[4][2] =
{
{image->src_xo, image->src_yi},
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
var cx = x
var cy = y
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: Int)
+ fun blit_scaled(image: Image, x, y, w, h: Numeric)
do
var fx = x.to_f
var fy = y.to_f
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 counter-clockwise order stating top left
# | |
# b-c
# ~~~
- fun blit_stretched( image: I, ax, ay, bx, by, cx, cy, dx, dy: Float )
+ fun blit_stretched(image: I, ax, ay, bx, by, cx, cy, dx, dy: Numeric)
is abstract
# Clear entire window with given color
redef type I: SDLImage
- redef fun blit(img, x, y) `{
+ redef fun blit(img, x, y) do native_blit(img, x.to_i, y.to_i)
+ fun native_blit(img: I, x, y: Int) `{
SDL_Rect dst;
dst.x = x;
dst.y = y;