[AD] ugetx() constness patch and new font subsystem |
[ Thread Index | Date Index | More lists.liballeg.org/allegro-developers Archives ]
Hi, The patch for ugetx() const-correctness has not yet been applied, and I have a new patch - a rewrite of the font subsystem. A quick summary: ugetx() patch - adds a new function, ugetxc() - ugetx() is prototyped as `int ugetx(char**)' - ugetxc() is prototype as `int ugetxc(AL_CONST char**)' - ugetxc() doesn't have to be implemented; since ugetx and ugetxc are actually function pointers, we can simply cast the value of ugetx into ugetxc :-) font subsystem patch - allows for extensions to use textout() and family even when they have bizarre data structures (such as generated-on-demand). - achieved by changing internals of the FONT structure. - much grabber code was rewritten; this may have introduced a bug here or there. It seems to work 100% ok, however; I did test it quite well, but I don't have access to old-format datafiles. - adds `int allegro_404_char;' - this is the character used when textout() needs to render a string containing a glyph not present in the font. Defaults to the `^' caret character, but you can change it at runtime. Why? because generate-on-demand fonts may have a specific way to render undefined glyphs (eg. truetype fonts use glyph 0). - needs to be applied after ugetx() patch. - could somebody please reformat it? I still haven't figured out Allegro's system... And a quick note: If you create a font which has glyphs of different heights, using the current Allegro system, text_height() may return the wrong height (it returns the height of the first glyph in the first range). My patch doesn't change this behaviour. Should I fix it? I haven't posted these (they are too large), so you can grab them from here: http://www.lwithers.demon.co.uk/prog/allegro/patches/ There is a small bit of work left to be done; documentation and (I think) I wrote this against a pre-ugetx-const-corrected version of Allegro, so a few ugetx() calls will need to be changed to ugetxc(). 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/ |