view docs/man3/SDL_ListModes.3 @ 1303:52b5afd7ecee

Date: Tue, 05 Jul 2005 21:43:26 +1000 From: Sean Childs Subject: [SDL] Compiling SDL 1.2.8 with the free Borland compiler When compiling SDL 1.2.8 with the free Borland compiler, I received this error (there is a similar error that occurs in src\video\windx5\sdl_dx5events.c): Error E2342 ..\..\src\video\windib\sdl_dibevents.c 189: Type mismatch in parameter 'lpPrevWndFunc' (wanted 'int (__stdcall *)()', got 'long (__stdcall *)(void *,unsigned int,unsigned int,long)') in function DIB_HandleMessage I checked the MSDN library at: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/ windowsuserinterface/windowing/windowprocedures/windowprocedurereference/wind owprocedurefunctions/callwindowproc.asp and it had this to say: If STRICT is not defined, the lpPrevWndFunc parameter has the data type FARPROC. The FARPROC type is declared as follows: int (FAR WINAPI * FARPROC) () In C, the FARPROC declaration indicates a callback function that has an unspecified parameter list. In C++, however, the empty parameter list in the declaration indicates that a function has no parameters. This subtle distinction can break careless code. Following is one way to handle this situation: #ifdef STRICT WNDPROC MyWindowProcedure #else FARPROC MyWindowProcedure #endif ... lResult = CallWindowProc(MyWindowProcedure, ...)
author Sam Lantinga <slouken@libsdl.org>
date Tue, 31 Jan 2006 15:30:42 +0000
parents e5bc29de3f0a
children 546f7c1eb755
line wrap: on
line source

.TH "SDL_ListModes" "3" "Tue 11 Sep 2001, 23:01" "SDL" "SDL API Reference" 
.SH "NAME"
SDL_ListModes\- Returns a pointer to an array of available screen dimensions for the given format and video flags
.SH "SYNOPSIS"
.PP
\fB#include "SDL\&.h"
.sp
\fBSDL_Rect **\fBSDL_ListModes\fP\fR(\fBSDL_PixelFormat *format, Uint32 flags\fR);
.SH "DESCRIPTION"
.PP
Return a pointer to an array of available screen dimensions for the given format and video flags, sorted largest to smallest\&. Returns \fBNULL\fP if there are no dimensions available for a particular format, or \fB-1\fR if any dimension is okay for the given format\&.
.PP
If \fBformat\fR is \fBNULL\fP, the mode list will be for the format returned by \fISDL_GetVideoInfo()\fR->\fBvfmt\fR\&. The \fBflag\fR parameter is an OR\&'d combination of \fIsurface\fR flags\&. The flags are the same as those used \fI\fBSDL_SetVideoMode\fP\fR and they play a strong role in deciding what modes are valid\&. For instance, if you pass \fBSDL_HWSURFACE\fP as a flag only modes that support hardware video surfaces will be returned\&.
.SH "EXAMPLE"
.PP
.nf
\f(CWSDL_Rect **modes;
int i;
\&.
\&.
\&.

/* Get available fullscreen/hardware modes */
modes=SDL_ListModes(NULL, SDL_FULLSCREEN|SDL_HWSURFACE);

/* Check is there are any modes available */
if(modes == (SDL_Rect **)0){
  printf("No modes available!
");
  exit(-1);
}

/* Check if or resolution is restricted */
if(modes == (SDL_Rect **)-1){
  printf("All resolutions available\&.
");
}
else{
  /* Print valid modes */
  printf("Available Modes
");
  for(i=0;modes[i];++i)
    printf("  %d x %d
", modes[i]->w, modes[i]->h);
}
\&.
\&.\fR
.fi
.PP
.SH "SEE ALSO"
.PP
\fI\fBSDL_SetVideoMode\fP\fR, \fI\fBSDL_GetVideoInfo\fP\fR, \fI\fBSDL_Rect\fR\fR, \fI\fBSDL_PixelFormat\fR\fR
...\" created by instant / docbook-to-man, Tue 11 Sep 2001, 23:01