Go to the previous, next section.

Flushing into screen and text output functions

We've written the whole charapter for small functions to get your attention. None of them without flusing the image into screen will work. Once AA-lib is started, image drawn and rendered it needs to be finally displayed on the screen. Yes! That's it! You have to flush the data (or you'll get a blank screen:).

void aa_flush(aa_context *c);

This function will update the screen due to the situation stored in text and attribute buffers. This buffers are filled by rendering but they may be also accesed directly. A pointer to them can be obtained just by calling aa_text(context) or aa_attrs(context) macros. They can be also accesed "more" directly (not just via rendering functions). You can fool AA-lib to display a plain text too. The function used for this purpose have similiar format as aa_image(context) buffer except the fact that they have different dimensions (aa_scrwidth(context) and aa_scrheight(context)).

Attribute buffer can contain following values:

@
for normal characters
@
for bold (double bright) characters
@
for dim (half bright) characters
@
for characters displayed using bold font
@
for reversed characters
@
this can be used for displaying text over images. Its implementation depends at driver. Most drivers implement it as a white text on a blue background.

For more comfortable output you may use:

void aa_puts(aa_context *c, int x, int y, int attr, char *s);
int aa_printf(aa_context *c, int x, int y, int attr, char *fmt, ...);

It puts a string s (and atribute attr) at coordinates x, y. Note that it doesn't move the cursor nor flushes buffers to screen. To move the cursor you have to use following function

void aa_gotoxy(aa_context *c, int x, int y);

Some drivers can also support cursor hiding: aa_hidecursor or aa_showcursor functions.

Go to the previous, next section.