Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
al_do_multiline_text(3)     Library Functions Manual	 al_do_multiline_text(3)

NAME
     al_do_multiline_text - Allegro 5 API

SYNOPSIS
	    #include <allegro5/allegro_font.h>

	    void al_do_multiline_text(const ALLEGRO_FONT *font,
	       float max_width, const char *text,
	       bool (*cb)(int line_num, const char *line, int size, void *extra),
	       void *extra)

DESCRIPTION
     This function processes the text and splits it into lines as al_draw_multi-
     line_text(3)  would,  and	then  calls the callback cb once for every line.
     This is useful for custom drawing of multiline text, or for calculating the
     size  of  multiline  text	ahead  of  time.   See	the   documentation   on
     al_draw_multiline_text(3) for an explanation of the splitting algorithm.

     For  every line that this function splits text into the callback cb will be
     called once with the following parameters:

     * line_num - the number of the line starting from zero and counting up

     * line - a pointer to the beginning character of the line (see below)

     * size - the size of the line (0 for empty lines)

     * extra - the same pointer that was passed to al_do_multiline_text

     Note that line is not guaranteed to be a NUL-terminated  string,  but  will
     merely point to a character within text or to an empty string in case of an
     empty  line.   If	you  need a NUL-terminated string, you will have to copy
     line to a buffer and NUL-terminate it yourself.  You will also have to make
     your own copy if you need the contents of line after cb  has  returned,  as
     line is not guaranteed to be valid after that.

     If  the  callback	cb returns false, al_do_multiline_text will stop immedi-
     ately, otherwise it will continue on to the next line.

SINCE
     5.1.9

SEE ALSO
     al_draw_multiline_text(3)

Allegro reference manual				 al_do_multiline_text(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=al_do_multiline_text&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help