/*
 *  call-seq:
 *    new( file, size )  ->  TTF
 *
 *  Create a new TTF object, which can render text to a Surface with a
 *  particular font style and size.
 *
 *  This function takes these arguments:
 *  file:: filename of the TrueType font to use. Should be a +TTF+ or 
 *         +FON+ file.
 *  size:: point size (based on 72DPI). Or, the height in pixels from the
 *         bottom of the descent to the top of the ascent.
 */
VALUE rbgm_ttf_new(int argc, VALUE *argv, VALUE class)
{
        VALUE self;
        TTF_Font *font;
        
        if(!TTF_WasInit())
                rb_raise(eSDLError,"Font module must be initialized before making new font.");
        font = TTF_OpenFont(StringValuePtr(argv[0]), NUM2INT(argv[1]));
        if(font == NULL)
                rb_raise(eSDLError,"could not load font: %s",TTF_GetError());

        self = Data_Wrap_Struct(cTTF,0,TTF_CloseFont,font);
        rb_obj_call_init(self,argc,argv);
        return self;
}