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

FreeBSD Manual Pages

  
 
  

home | help
gfx_mode_select_filter(3)	Allegro	manual	     gfx_mode_select_filter(3)

NAME
       gfx_mode_select_filter  -  Even	more  extended version of the graphics
       mode selection dialog. Allegro game programming library.

SYNOPSIS
       #include	<allegro.h>

       int gfx_mode_select_filter(int *card, int *w, int *h, int *color_depth,
       int (*filter)(int, int, int, int));

DESCRIPTION
       Even more extended version of the graphics mode selection dialog, which
       allows the programmer to	customize the contents of the dialog  and  the
       user  to	 select	the color depth	as well	as the resolution and hardware
       driver.	`filter' will be passed	(card, w, h, color_depth)  quadruplets
       and  must return	0 to let the specified quadruplet be added to the list
       of displayed modes.

       As with gfx_mode_select,	the values stored at the addresses  passed  to
       the  function will be used as suggestions for the initial selections in
       the dialog, defaulting to the first entry in each list  if  the	values
       are  not	 found.	 Initialize the	data stored at the addresses passed to
       the function to the value of 0 or -1 if you want	 to  ensure  that  the
       initial selection for each list will be the first entry.

       If the dialog is	OK'd, it stores	the selections at the addresses	passed
       to the function.

       Example usage :

	  ret =	gfx_mode_select_filter(&card, &w, &h, &color_depth, user_filter);
	  if (ret) {/* User okayed dialog or user_filter removed all modes */
	     if	(card == GFX_NONE) {
		// No modes available
		*card =	0;/* Make sure not to leave *card == GFX_NONE */
		return -1;
	     }
	     /*	Handle changing	to new mode here... */

	  } else {/* User cancelled dialog or there was	an error (unlikely) */
	     if	(card == GFX_NONE) {
		/* Error, probably out of memory */
		*card =	0;/* Make sure not to leave *card == GFX_NONE */
		return -2;
	     }
	     /*	Carry on in current graphics mode if that is acceptable	*/
	  }

RETURN VALUE
       Returns zero if the user	cancelled the dialog or	an error occurred.  In
       the  case  of  an  error	then *card is assigned the value GFX_NONE. The
       functions return	non-zero if the	user made a selection OR  if  all  the
       modes  were  filtered  out. In the case that all	of the modes were fil-
       tered out, then *card is	assigned the value GFX_NONE.  This  means  you
       should  NOT  initialize the *card to the	value of GFX_NONE, as it could
       interfere with determining the proper return value.

SEE ALSO
       gfx_mode_select(3),     gfx_mode_select_ex(3),	   set_color_depth(3),
       set_gfx_mode(3),	gui_fg_color(3)

Allegro				 version 4.4.2	     gfx_mode_select_filter(3)

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUE | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=gfx_mode_select_filter&sektion=3&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help