/* * SDL2::Video::Surface::load_bmp */ static mrb_value mrb_sdl2_video_surface_load_bmp(mrb_state *mrb, mrb_value self) { mrb_value file; mrb_get_args(mrb, "S", &file); SDL_Surface *surface = SDL_LoadBMP(RSTRING_PTR(file)); if (NULL == surface) { mruby_sdl2_raise_error(mrb); } return mrb_sdl2_video_surface(mrb, surface, false); }
static mrb_value mrb_sdl2_ttf_font_render_glyph_blended(mrb_state *mrb, mrb_value self) { mrb_value text; mrb_int r, g, b, a; SDL_Surface * c; SDL_Color color; mrb_get_args(mrb, "Siiii", &text, &r, &g, &b, &a); color.r = r; color.g = g; color.b = b; color.a = a; c = TTF_RenderGlyph_Blended(mrb_sdl2_font_get_ptr(mrb, self), RSTRING_PTR(text)[0], color); if (c == NULL) { mruby_sdl2_raise_error(mrb); return mrb_false_value(); } return mrb_sdl2_video_surface(mrb, c, 0); }
static mrb_value mrb_sdl2_ttf_font_render_UNICODE_blended_wrapped(mrb_state *mrb, mrb_value self) { mrb_value text; mrb_int r, g, b, a, wrapLength; SDL_Surface * c; SDL_Color color; mrb_get_args(mrb, "Siiiii", &text, &r, &g, &b, &a, &wrapLength); color.r = r; color.g = g; color.b = b; color.a = a; c = TTF_RenderUNICODE_Blended_Wrapped(mrb_sdl2_font_get_ptr(mrb, self), (Uint16 *)RSTRING_PTR(text), color, wrapLength); if (c == NULL) { mruby_sdl2_raise_error(mrb); return mrb_false_value(); } return mrb_sdl2_video_surface(mrb, c, 0); }
static mrb_value mrb_sdl2_ttf_font_render_glyph_shaded(mrb_state *mrb, mrb_value self) { mrb_value text; mrb_int fgr, fgg, fgb, fga, bgr, bgg, bgb, bga; SDL_Surface * c; SDL_Color fgcolor; SDL_Color bgcolor; mrb_get_args(mrb, "Siiiiiiii", &text, &fgr, &fgg, &fgb, &fga, &bgr, &bgg, &bgb, &bga); fgcolor.r = fgr; fgcolor.g = fgg; fgcolor.b = fgb; fgcolor.a = fga; bgcolor.r = bgr; bgcolor.g = bgg; bgcolor.b = bgb; bgcolor.a = bga; c = TTF_RenderGlyph_Shaded(mrb_sdl2_font_get_ptr(mrb, self), RSTRING_PTR(text)[0], fgcolor, bgcolor); if (c == NULL) { mruby_sdl2_raise_error(mrb); return mrb_false_value(); } return mrb_sdl2_video_surface(mrb, c, 0); }