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_multiline_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 imme-
       diately,	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+14.3.quarterly>

home | help