From 6acf6c8bd0cd8051bdb6cb6ec75fb7d67959e47b Mon Sep 17 00:00:00 2001 From: Tom Black Date: Tue, 4 Sep 2018 00:36:52 -0700 Subject: Add ability to rotate textures Includes images, sprites, and text. --- ext/ruby2d/ruby2d.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'ext') diff --git a/ext/ruby2d/ruby2d.c b/ext/ruby2d/ruby2d.c index 2705e03..c723e4f 100644 --- a/ext/ruby2d/ruby2d.c +++ b/ext/ruby2d/ruby2d.c @@ -328,6 +328,8 @@ static R_VAL ruby2d_image_ext_render(R_VAL self) { if (r_test(w)) img->width = NUM2INT(w); if (r_test(h)) img->height = NUM2INT(h); + S2D_RotateImage(img, NUM2DBL(r_iv_get(self, "@rotate")), S2D_CENTER); + R_VAL c = r_iv_get(self, "@color"); img->color.r = NUM2DBL(r_iv_get(c, "@r")); img->color.g = NUM2DBL(r_iv_get(c, "@g")); @@ -398,6 +400,8 @@ static R_VAL ruby2d_sprite_ext_render(R_VAL self) { R_VAL h = r_iv_get(self, "@flip_height"); if (r_test(h)) spr->height = NUM2DBL(h); + S2D_RotateSprite(spr, NUM2DBL(r_iv_get(self, "@rotate")), S2D_CENTER); + S2D_ClipSprite( spr, NUM2INT(r_iv_get(self, "@clip_x")), @@ -487,6 +491,8 @@ static R_VAL ruby2d_text_ext_render(R_VAL self) { txt->x = NUM2DBL(r_iv_get(self, "@x")); txt->y = NUM2DBL(r_iv_get(self, "@y")); + S2D_RotateText(txt, NUM2DBL(r_iv_get(self, "@rotate")), S2D_CENTER); + R_VAL c = r_iv_get(self, "@color"); txt->color.r = NUM2DBL(r_iv_get(c, "@r")); txt->color.g = NUM2DBL(r_iv_get(c, "@g")); -- cgit v1.2.3