Go to the previous, next section.

Resizing of display

Some display devices (like unix terminals or X11 windows) allows runtime resizing. This event is reported by AA_RESIZE. Then application is expected to call the function

int aa_resize(aa_context *c);

that changes the values in aa_context and resizes buffer. Function returns 0 if it failed. If everything went OK application must redraw the screen according to the new size because the original one has been lost. If your aplication handles these events at many various places or uses aa_getkey the catch of AA_RESIZE is more complicated and you should use the resize handler.

void aa_resizehandler(aa_context *c, void (*handler) (aa_context *));

Then the resize handler is called by aa_getevent or aa_getkey functions when AA_RESIZE event appears. Some simple apps that don't rely on the display size and they redraw the whole screen after every event (some animations) should also use a bit tricky construction:

aa_resizehandler(aa_context *c, (void *)aa_resize);

This will cause automatical handling of resize events without any special stuff done by the application.

Go to the previous, next section.