annotate docs/man3/SDL_MapRGB.3 @ 1524:38a12fd1a2c1

Fixed bug #46 Date: Fri, 13 Jan 2006 18:09:45 -0500 From: mhall4400 vipmail kvcc edu Subject: Possible SDL bug Greetings I believe Ive come across a bug in your SDL product (1.2.9), in the CD-ROM control portion of the library. When calling the SDL_CDPlay() function to play the last track of a CD using the offset and length from an SDL_CD structure generated by SDL_CDOpen(), I get the following error from a call to SDL_Error(): mciSendCommand() error: The specified parameter is out of range for the specified command. The code returning the error is: SDL_CDPlay(g_playingDriveSDLCD, g_playingDriveSDLCD->track[trackNumberInt].offset, g_playingDriveSDLCD->track[trackNumberInt].length) Subtracting one from the length of the provided length seems to repair the problem: SDL_CDPlay(g_playingDriveSDLCD, g_playingDriveSDLCD->track[trackNumberInt].offset, (g_playingDriveSDLCD->track[trackNumberInt].length) - 1) Ive replicated this problem on Windows 98 SE (several months since last patch), fully-patched Window ME, seldom-patched Windows XP SP1, and fully-patched Windows XP SP2. While investigating the issue, I came across a line in your librarys win32 source code in file \src\cdrom\win32\SDL_syscdrom.c (source code zip archive from your download page), function: SDL_SYS_CDGetTOC(), line 226 where you add 1 to the value for length to fix MCI last track length bug. This may be the source of the issue (because subtracting 1 from the length seems to resolve the issue). Microsoft may have patched the referenced bug since you wrote that line. Mike Hall
author Sam Lantinga <slouken@libsdl.org>
date Tue, 14 Mar 2006 05:34:39 +0000
parents e5bc29de3f0a
children 546f7c1eb755
rev   line source
181
e5bc29de3f0a Updated from the SDL Documentation Project
Sam Lantinga <slouken@libsdl.org>
parents: 55
diff changeset
1 .TH "SDL_MapRGB" "3" "Tue 11 Sep 2001, 23:01" "SDL" "SDL API Reference"
0
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
2 .SH "NAME"
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
3 SDL_MapRGB\- Map a RGB color value to a pixel format\&.
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
4 .SH "SYNOPSIS"
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
5 .PP
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
6 \fB#include "SDL\&.h"
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
7 .sp
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
8 \fBUint32 \fBSDL_MapRGB\fP\fR(\fBSDL_PixelFormat *fmt, Uint8 r, Uint8 g, Uint8 b\fR);
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
9 .SH "DESCRIPTION"
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
10 .PP
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
11 Maps the RGB color value to the specified pixel format and returns the pixel value as a 32-bit int\&.
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
12 .PP
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
13 If the format has a palette (8-bit) the index of the closest matching color in the palette will be returned\&.
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
14 .PP
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
15 If the specified pixel format has an alpha component it will be returned as all 1 bits (fully opaque)\&.
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
16 .SH "RETURN VALUE"
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
17 .PP
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
18 A pixel value best approximating the given RGB color value for a given pixel format\&. If the pixel format bpp (color depth) is less than 32-bpp then the unused upper bits of the return value can safely be ignored (e\&.g\&., with a 16-bpp format the return value can be assigned to a \fBUint16\fP, and similarly a \fBUint8\fP for an 8-bpp format)\&.
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
19 .SH "SEE ALSO"
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
20 .PP
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
21 \fI\fBSDL_GetRGB\fP\fR, \fI\fBSDL_GetRGBA\fP\fR, \fI\fBSDL_MapRGBA\fP\fR, \fI\fBSDL_PixelFormat\fR\fR
181
e5bc29de3f0a Updated from the SDL Documentation Project
Sam Lantinga <slouken@libsdl.org>
parents: 55
diff changeset
22 ...\" created by instant / docbook-to-man, Tue 11 Sep 2001, 23:01