Re: [AD] to prefix or not to prefix (part 2)

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


On 29 Oct 2001, Grzegorz Adam Hankiewicz <gradha@xxxxxxxxxx> wrote:
> On Mon, Oct 29, 2001 at 05:23:09PM +1100, Peter Wang wrote:
> > >  - Get rid of (some) global variables and states. E.g. `text_mode()'
> > 
> > - *blit* and *sprite* are on my list.  The ordering of the source and
> > destination takes a while to learn, and is kinda ugly.  Unlearning
> > might be even harder...
> 
> Hi.
> 
> Just wanted to step in, say that I agree with most of the things said
> about breaking the api,

Well many things have been said about breaking the API, and mostly
contradictory ;-)

> and since we are doing such a great change,
> it could also be a good moment to take a look at all the api as a whole
> and rename the functions to have coherent naming.
> 
> If you don't get what I am talking about, please open the Allegro
> documentation section Text Output and look at the function names: some
> use underscores to separate words (text_mode), some don't (textout),
> some do but only at specific places (textprintf_centre). The ordering
> of parameters is also a nice idea too.

I think the text output functions should collapse into:

#define AL_TEXT_ALIGN_LEFT	0
#define AL_TEXT_ALIGN_CENTRE	1
#define AL_TEXT_ALIGN_RIGHT	2

void al_text_print(BITMAP *bmp, const FONT *fnt, int x, int y, 
		int align, int color, int bgcolor, const char *string);

void al_text_printf(BITMAP *bmp, const FONT *fnt, int x, int y,
		int align, int color, int bgcolor, const char *format, ...);

void al_text_print_justify(..., int x1, int x2, ...);

void al_text_printf_justify(..., int x1, int x2, ...);


Or, if I was evil:

#define AL_TEXT_ALIGN_LEFT	-1
#define AL_TEXT_ALIGN_CENTRE	-2
#define AL_TEXT_ALIGN_RIGHT	-3

Then we can get rid of the justify functions.  If `align' is >= 0,
then consider it as x2, otherwise consider it as alignment.


We could even get rid of the difference between formatted and
unformatted functions.  Ok, I'll stop now.



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