Exemple #1
0
/*
 * 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);
}
Exemple #2
0
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);
}
Exemple #3
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);
}
Exemple #4
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);
}