Mercurial > sdl-ios-xcode
view docs/html/sdlcd.html @ 1768:814f9f2c7a33
Fixed bug #80
Date: 21 Apr 2003 17:20:20 +0100
From: Alan Swanson <swanson@uklinux.net>
Subject: [SDL] New XFree 4.3 Video Mode Patch
If you look at the unsorted list of modes returned by X, here's mine;
1280 x 1024 @ 85.0 >
1024 x 768 @ 100.3 > USER
800 x 600 @ 125.5 > SET
640 x 480 @ 124.9 >
1280 x 1024 @ 75.0 ]
1280 x 1024 @ 60.0 ]
1280 x 960 @ 85.0 ] X11
1280 x 960 @ 60.0 ] AUTO
1152 x 864 @ 75.0 ]=20
1152 x 768 @ 54.8 ]
960 x 720 @ 120.0 ]
...
640 x 400 @ 85.1 ] 256k
576 x 432 @ 150.0 ] 249k PIXEL
640 x 350 @ 85.1 ] 224k COUNT
576 x 384 @ 109.6 ] 221k
...
The user set modes come first followed by X set modes which are ordered
by decreasing number of pixels and refresh.
The reason why every other library or program not using SDL working is
due to SDL scanning the modes in reverse getting X11 provided modes
modes with the lowest refresh.
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Fri, 05 May 2006 05:50:26 +0000 |
parents | 355632dca928 |
children |
line wrap: on
line source
<HTML ><HEAD ><TITLE >SDL_CD</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+ "><LINK REL="HOME" TITLE="SDL Library Documentation" HREF="index.html"><LINK REL="UP" TITLE="CD-ROM" HREF="cdrom.html"><LINK REL="PREVIOUS" TITLE="SDL_CDClose" HREF="sdlcdclose.html"><LINK REL="NEXT" TITLE="SDL_CDtrack" HREF="sdlcdtrack.html"></HEAD ><BODY CLASS="REFENTRY" BGCOLOR="#FFF8DC" TEXT="#000000" LINK="#0000ee" VLINK="#551a8b" ALINK="#ff0000" ><DIV CLASS="NAVHEADER" ><TABLE SUMMARY="Header navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TH COLSPAN="3" ALIGN="center" >SDL Library Documentation</TH ></TR ><TR ><TD WIDTH="10%" ALIGN="left" VALIGN="bottom" ><A HREF="sdlcdclose.html" ACCESSKEY="P" >Prev</A ></TD ><TD WIDTH="80%" ALIGN="center" VALIGN="bottom" ></TD ><TD WIDTH="10%" ALIGN="right" VALIGN="bottom" ><A HREF="sdlcdtrack.html" ACCESSKEY="N" >Next</A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><H1 ><A NAME="SDLCD" ></A >SDL_CD</H1 ><DIV CLASS="REFNAMEDIV" ><A NAME="AEN7566" ></A ><H2 >Name</H2 >SDL_CD -- CDROM Drive Information</DIV ><DIV CLASS="REFSECT1" ><A NAME="AEN7569" ></A ><H2 >Structure Definition</H2 ><PRE CLASS="PROGRAMLISTING" >typedef struct{ int id; CDstatus status; int numtracks; int cur_track; int cur_frame; SDL_CDtrack track[SDL_MAX_TRACKS+1]; } SDL_CD;</PRE ></DIV ><DIV CLASS="REFSECT1" ><A NAME="AEN7572" ></A ><H2 >Structure Data</H2 ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN7574" ></A ><P ></P ><TABLE BORDER="0" CLASS="CALSTABLE" ><TBODY ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><TT CLASS="STRUCTFIELD" ><I >id</I ></TT ></TD ><TD ALIGN="LEFT" VALIGN="TOP" >Private drive identifier</TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><TT CLASS="STRUCTFIELD" ><I >status</I ></TT ></TD ><TD ALIGN="LEFT" VALIGN="TOP" >Drive <A HREF="sdlcdstatus.html" >status</A ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><TT CLASS="STRUCTFIELD" ><I >numtracks</I ></TT ></TD ><TD ALIGN="LEFT" VALIGN="TOP" >Number of tracks on the CD</TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><TT CLASS="STRUCTFIELD" ><I >cur_track</I ></TT ></TD ><TD ALIGN="LEFT" VALIGN="TOP" >Current track</TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><TT CLASS="STRUCTFIELD" ><I >cur_frame</I ></TT ></TD ><TD ALIGN="LEFT" VALIGN="TOP" >Current frame offset within the track</TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><TT CLASS="STRUCTFIELD" ><I >track</I ></TT >[SDL_MAX_TRACKS+1]</TD ><TD ALIGN="LEFT" VALIGN="TOP" >Array of track descriptions. (see <A HREF="sdlcdtrack.html" ><SPAN CLASS="STRUCTNAME" >SDL_CDtrack</SPAN ></A >)</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><DIV CLASS="REFSECT1" ><A NAME="AEN7604" ></A ><H2 >Description</H2 ><P >An <SPAN CLASS="STRUCTNAME" >SDL_CD</SPAN > structure is returned by <A HREF="sdlcdopen.html" ><TT CLASS="FUNCTION" >SDL_CDOpen</TT ></A >. It represents an opened CDROM device and stores information on the layout of the tracks on the disc.</P ><P >A frame is the base data unit of a CD. <TT CLASS="LITERAL" >CD_FPS</TT > frames is equal to 1 second of music. SDL provides two macros for converting between time and frames: <TT CLASS="LITERAL" >FRAMES_TO_MSF(f, M,S,F)</TT > and <TT CLASS="LITERAL" >MSF_TO_FRAMES</TT >.</P ></DIV ><DIV CLASS="REFSECT1" ><A NAME="AEN7614" ></A ><H2 >Examples</H2 ><PRE CLASS="PROGRAMLISTING" >int min, sec, frame; int frame_offset; FRAMES_TO_MSF(cdrom->cur_frame, &min, &sec, &frame); printf("Current Position: %d minutes, %d seconds, %d frames\n", min, sec, frame); frame_offset=MSF_TO_FRAMES(min, sec, frame);</PRE ></DIV ><DIV CLASS="REFSECT1" ><A NAME="AEN7617" ></A ><H2 >See Also</H2 ><P ><A HREF="sdlcdopen.html" ><TT CLASS="FUNCTION" >SDL_CDOpen</TT ></A >, <A HREF="sdlcdtrack.html" ><SPAN CLASS="STRUCTNAME" >SDL_CDtrack</SPAN ></A ></P ></DIV ><DIV CLASS="NAVFOOTER" ><HR ALIGN="LEFT" WIDTH="100%"><TABLE SUMMARY="Footer navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" ><A HREF="sdlcdclose.html" ACCESSKEY="P" >Prev</A ></TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="index.html" ACCESSKEY="H" >Home</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" ><A HREF="sdlcdtrack.html" ACCESSKEY="N" >Next</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" >SDL_CDClose</TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="cdrom.html" ACCESSKEY="U" >Up</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" >SDL_CDtrack</TD ></TR ></TABLE ></DIV ></BODY ></HTML >