Re: [AD] Adding save/load font functions

[ Thread Index | Date Index | More lists.liballeg.org/allegro-developers Archives ]


In reply to Bob <ohannessian@xxxxxxxxxx>:
>I think it would be a good idea to have save/load FONT functions in Allegro. 
>Although for most cases it'll default to load_datafile_object(), it would help 
>add-ons that use their own special font formats.

Your reasoning is fair, but consider that to add load/save functions, we
would need to add these to the font vtable (since fonts are loaded/saved
in different ways):

struct FONT_VTABLE {
    /* ... */
    int (*save)(FONT*, const char*);
    FONT* (*load)(const char*);
};

and then the implementation would be:

int save_font(FONT* f, const char* fname)
{
    return f->vtable->save(f, fname);
}

FONT* load_font(const char* name)
{
    /* iterate through vtables till we find one which can load the
       font in question; requires registering vtables which can
       load with Allegro, which we currently don't bother with. */
}

So why can't we just keep these in add-ons that support them? The two
vtables that ship with Allegro (color and mono) don't need to support
load/save, since we have the packfile functions, so only font add-ons
will find load/save useful.

I would suggest that there is nothing wrong with:

  int agl_save_font(FONT*, const char*);
  FONT* agl_load_font(const char*);

(or using a PACKFILE pointer, or a pointer to RAM, or whatever).

Bye for now,
-- 
Laurence Withers, lwithers@xxxxxxxxxx
                http://www.lwithers.demon.co.uk/

Attachment: signature.asc
Description: PGP signature



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/