mirror of
https://github.com/reactos/reactos.git
synced 2025-02-24 01:15:09 +00:00
- Fixed icon lookup so that in high color video modes colorfull icons are used.
svn path=/trunk/; revision=8334
This commit is contained in:
parent
f493ab9cc7
commit
7a4c78bd4d
2 changed files with 14 additions and 12 deletions
|
@ -16,7 +16,7 @@
|
|||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
/* $Id: bitmap.c,v 1.26 2003/12/31 19:25:51 navaraf Exp $
|
||||
/* $Id: bitmap.c,v 1.27 2004/02/23 18:16:37 navaraf Exp $
|
||||
*
|
||||
* PROJECT: ReactOS user32.dll
|
||||
* FILE: lib/user32/windows/input.c
|
||||
|
@ -94,7 +94,7 @@ LoadCursorImage(HINSTANCE hinst, LPCWSTR lpszName, UINT fuLoad)
|
|||
GRPCURSORICONDIR* IconResDir;
|
||||
INT id;
|
||||
ICONIMAGE *ResIcon;
|
||||
UINT Colors;
|
||||
UINT ColorBits;
|
||||
|
||||
if (!(fuLoad & LR_LOADFROMFILE))
|
||||
{
|
||||
|
@ -200,19 +200,21 @@ LoadCursorImage(HINSTANCE hinst, LPCWSTR lpszName, UINT fuLoad)
|
|||
|
||||
if (fuLoad & LR_MONOCHROME)
|
||||
{
|
||||
Colors = 2;
|
||||
ColorBits = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
Colors = GetDeviceCaps(hScreenDc, BITSPIXEL);
|
||||
if (Colors > 8)
|
||||
Colors = 256;
|
||||
else
|
||||
Colors = 1 << Colors;
|
||||
ColorBits = GetDeviceCaps(hScreenDc, BITSPIXEL);
|
||||
/*
|
||||
* FIXME:
|
||||
* Remove this after proper support for alpha icons will be finished.
|
||||
*/
|
||||
if (ColorBits > 8)
|
||||
ColorBits = 8;
|
||||
}
|
||||
|
||||
/* Pick the best size. */
|
||||
dirEntry = (CURSORICONDIRENTRY *)CURSORICON_FindBestIcon(IconDIR, 32, 32, Colors);
|
||||
dirEntry = (CURSORICONDIRENTRY *)CURSORICON_FindBestIcon(IconDIR, 32, 32, ColorBits);
|
||||
if (!dirEntry)
|
||||
{
|
||||
UnmapViewOfFile(IconDIR);
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
/* $Id: icon.c,v 1.18 2004/01/23 23:38:26 ekohl Exp $
|
||||
/* $Id: icon.c,v 1.19 2004/02/23 18:16:37 navaraf Exp $
|
||||
*
|
||||
* PROJECT: ReactOS user32.dll
|
||||
* FILE: lib/user32/windows/icon.c
|
||||
|
@ -505,7 +505,7 @@ CURSORICON_FindBestCursor( GRPCURSORICONDIR *dir, int width, int height, int col
|
|||
|
||||
/* Ported from WINE20030408 */
|
||||
GRPCURSORICONDIRENTRY*
|
||||
CURSORICON_FindBestIcon( GRPCURSORICONDIR *dir, int width, int height, int colors)
|
||||
CURSORICON_FindBestIcon( GRPCURSORICONDIR *dir, int width, int height, int colorbits)
|
||||
{
|
||||
int i;
|
||||
GRPCURSORICONDIRENTRY *entry, *bestEntry = NULL;
|
||||
|
@ -543,7 +543,7 @@ CURSORICON_FindBestIcon( GRPCURSORICONDIR *dir, int width, int height, int color
|
|||
if(abs(width - entry->ResInfo.icon.bWidth) == (int) iXDiff &&
|
||||
abs(height - entry->ResInfo.icon.bHeight) == (int) iYDiff)
|
||||
{
|
||||
iTempColorDiff = abs(colors - entry->ResInfo.icon.bColorCount);
|
||||
iTempColorDiff = abs(colorbits - entry->wBitCount);
|
||||
if(iColorDiff > iTempColorDiff)
|
||||
{
|
||||
bestEntry = entry;
|
||||
|
|
Loading…
Reference in a new issue