view docs/man3/SDL_CD.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_CD" "3" "Tue 11 Sep 2001, 22:58" "SDL" "SDL API Reference" 
.SH "NAME"
SDL_CD\- CDROM Drive Information
.SH "STRUCTURE DEFINITION"
.PP
.nf
\f(CWtypedef struct{
  int id;
  CDstatus status;
  int numtracks;
  int cur_track;
  int cur_frame;
  SDL_CDtrack track[SDL_MAX_TRACKS+1];
} SDL_CD;\fR
.fi
.PP
.SH "STRUCTURE DATA"
.TP 20
\fBid\fR
Private drive identifier
.TP 20
\fBstatus\fR
Drive \fIstatus\fR
.TP 20
\fBnumtracks\fR
Number of tracks on the CD
.TP 20
\fBcur_track\fR
Current track
.TP 20
\fBcur_frame\fR
Current frame offset within the track
.TP 20
\fBtrack\fR[SDL_MAX_TRACKS+1]
Array of track descriptions\&. (see \fI\fBSDL_CDtrack\fR\fR)
.SH "DESCRIPTION"
.PP
An \fBSDL_CD\fR structure is returned by \fI\fBSDL_CDOpen\fP\fR\&. It represents an opened CDROM device and stores information on the layout of the tracks on the disc\&.
.PP
A frame is the base data unit of a CD\&. \fBCD_FPS\fP frames is equal to 1 second of music\&. SDL provides two macros for converting between time and frames: \fBFRAMES_TO_MSF(f, M,S,F)\fP and \fBMSF_TO_FRAMES\fP\&.
.SH "EXAMPLES"
.PP
.nf
\f(CWint min, sec, frame;
int frame_offset;

FRAMES_TO_MSF(cdrom->cur_frame, &min, &sec, &frame);
printf("Current Position: %d minutes, %d seconds, %d frames
", min, sec, frame);

frame_offset=MSF_TO_FRAMES(min, sec, frame);\fR
.fi
.PP
.SH "SEE ALSO"
.PP
\fI\fBSDL_CDOpen\fP\fR, \fI\fBSDL_CDtrack\fR\fR
...\" created by instant / docbook-to-man, Tue 11 Sep 2001, 22:58