Mercurial > sdl-ios-xcode
view src/hermes/README @ 688:c0522010bb6d
Date: Tue, 12 Aug 2003 14:26:19 +0200 (MEST)
From: "Mattias Engdeg?rd"
Subject: bug in SDL_GetRGB/GetRGBA
There's an embarrassing bug in GetRGB/GetRGBA which apparently has been there
for years. It incorrectly converts colours with < 8 bits/channel.
It came to my attention today in #sdl.
What it does now is (for each channel):
rv = (pixel & fmt->Rmask) >> fmt->Rshift;
*r = (rv << fmt->Rloss) + (rv >> (8 - fmt->Rloss));
which is wrong; the last line should be
*r = (rv << fmt->Rloss) + (rv >> (8 - (fmt->Rloss << 1)));
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Tue, 12 Aug 2003 15:17:20 +0000 |
parents | 74212992fb08 |
children |
line wrap: on
line source
HERMES 1.2.4 (c)1998 Christian Nentwich (brn) (c.nentwich@cs.ucl.ac.uk) and quite a few assembler routines (c) Glenn Fielder (gaffer@gaffer.org) This library and all the files enclosed in this package are free software under the terms of the GNU Library General Public License (LGPL). Please refer to the included file COPYING.LIB for the exact terms. ---------------------------------------------------------------------------- This is a stripped down version of HERMES, including only the x86 assembler converters, for use with Simple DirectMedia Layer. The full HERMES library is available at: http://hermes.terminal.at/