Commit 1a5bfe13 authored by Alexandre Julliard's avatar Alexandre Julliard

winex11: Add a debug helper to print color values.

parent 0c68dde6
...@@ -170,11 +170,11 @@ static Pixmap BRUSH_DitherMono( COLORREF color ) ...@@ -170,11 +170,11 @@ static Pixmap BRUSH_DitherMono( COLORREF color )
static const char gray_dither[][2] = {{ 0x1, 0x0 }, /* DKGRAY */ static const char gray_dither[][2] = {{ 0x1, 0x0 }, /* DKGRAY */
{ 0x2, 0x1 }, /* GRAY */ { 0x2, 0x1 }, /* GRAY */
{ 0x1, 0x3 }, /* LTGRAY */ { 0x1, 0x3 }, /* LTGRAY */
}; };
int gray = (30 * GetRValue(color) + 59 * GetGValue(color) + 11 * GetBValue(color)) / 100; int gray = (30 * GetRValue(color) + 59 * GetGValue(color) + 11 * GetBValue(color)) / 100;
int idx = gray * (ARRAY_SIZE( gray_dither ) + 1)/256 - 1; int idx = gray * (ARRAY_SIZE( gray_dither ) + 1)/256 - 1;
TRACE("color=%06x -> gray=%x\n", color, gray); TRACE("color=%s -> gray=%x\n", debugstr_color(color), gray);
return XCreateBitmapFromData( gdi_display, root_window, gray_dither[idx], 2, 2 ); return XCreateBitmapFromData( gdi_display, root_window, gray_dither[idx], 2, 2 );
} }
......
...@@ -1445,7 +1445,7 @@ BOOL CDECL X11DRV_ExtFloodFill( PHYSDEV dev, INT x, INT y, COLORREF color, UINT ...@@ -1445,7 +1445,7 @@ BOOL CDECL X11DRV_ExtFloodFill( PHYSDEV dev, INT x, INT y, COLORREF color, UINT
RECT rect, bounds; RECT rect, bounds;
POINT pt; POINT pt;
TRACE("X11DRV_ExtFloodFill %d,%d %06x %d\n", x, y, color, fillType ); TRACE("X11DRV_ExtFloodFill %d,%d %s %d\n", x, y, debugstr_color(color), fillType );
pt.x = x; pt.x = x;
pt.y = y; pt.y = y;
......
...@@ -508,7 +508,7 @@ static BOOL X11DRV_PALETTE_BuildSharedMap( const PALETTEENTRY *sys_pal_template ...@@ -508,7 +508,7 @@ static BOOL X11DRV_PALETTE_BuildSharedMap( const PALETTEENTRY *sys_pal_template
sysPixel[i] = color.pixel; sysPixel[i] = color.pixel;
TRACE("syscolor(%x) -> pixel %i\n", *(const COLORREF*)(sys_pal_template+i), TRACE("syscolor %s -> pixel %i\n", debugstr_color(*(const COLORREF *)(sys_pal_template+i)),
(int)color.pixel); (int)color.pixel);
/* Set EGA mapping if color in the first or last eight */ /* Set EGA mapping if color in the first or last eight */
...@@ -932,7 +932,7 @@ int X11DRV_PALETTE_ToPhysical( X11DRV_PDEVICE *physDev, COLORREF color ) ...@@ -932,7 +932,7 @@ int X11DRV_PALETTE_ToPhysical( X11DRV_PDEVICE *physDev, COLORREF color )
if (!get_palette_entries( hPal, idx, 1, &entry )) if (!get_palette_entries( hPal, idx, 1, &entry ))
{ {
WARN("PALETTEINDEX(%x) : idx %d is out of bounds, assuming black\n", color, idx); WARN("%s: out of bounds, assuming black\n", debugstr_color(color));
return 0; return 0;
} }
if (mapping) return mapping[idx]; if (mapping) return mapping[idx];
...@@ -990,7 +990,7 @@ int X11DRV_PALETTE_ToPhysical( X11DRV_PDEVICE *physDev, COLORREF color ) ...@@ -990,7 +990,7 @@ int X11DRV_PALETTE_ToPhysical( X11DRV_PDEVICE *physDev, COLORREF color )
{ {
index = LOWORD( color ); index = LOWORD( color );
if (!get_palette_entries( hPal, index, 1, &entry )) if (!get_palette_entries( hPal, index, 1, &entry ))
WARN("PALETTEINDEX(%x) : index %i is out of bounds\n", color, index); WARN("%s: out of bounds\n", debugstr_color(color));
else if (mapping) index = mapping[index]; else if (mapping) index = mapping[index];
} }
else if (color >> 24 == 2) /* PALETTERGB */ else if (color >> 24 == 2) /* PALETTERGB */
...@@ -1287,7 +1287,7 @@ UINT CDECL X11DRV_RealizePalette( PHYSDEV dev, HPALETTE hpal, BOOL primary ) ...@@ -1287,7 +1287,7 @@ UINT CDECL X11DRV_RealizePalette( PHYSDEV dev, HPALETTE hpal, BOOL primary )
if( !prev_mapping || mapping[i] != index ) iRemapped++; if( !prev_mapping || mapping[i] != index ) iRemapped++;
mapping[i] = index; mapping[i] = index;
TRACE("entry %i (%x) -> pixel %i\n", i, *(COLORREF*)&entries[i], index); TRACE("entry %i %s -> pixel %i\n", i, debugstr_color(*(COLORREF *)&entries[i]), index);
} }
pthread_mutex_unlock( &palette_mutex ); pthread_mutex_unlock( &palette_mutex );
...@@ -1334,7 +1334,7 @@ UINT CDECL X11DRV_GetSystemPaletteEntries( PHYSDEV dev, UINT start, UINT count, ...@@ -1334,7 +1334,7 @@ UINT CDECL X11DRV_GetSystemPaletteEntries( PHYSDEV dev, UINT start, UINT count,
entries[i].peGreen = COLOR_sysPal[start + i].peGreen; entries[i].peGreen = COLOR_sysPal[start + i].peGreen;
entries[i].peBlue = COLOR_sysPal[start + i].peBlue; entries[i].peBlue = COLOR_sysPal[start + i].peBlue;
entries[i].peFlags = 0; entries[i].peFlags = 0;
TRACE("\tidx(%02x) -> RGB(%08x)\n", start + i, *(COLORREF*)(entries + i) ); TRACE("\tidx(%02x) -> %s\n", start + i, debugstr_color(*(COLORREF *)(entries + i)) );
} }
pthread_mutex_unlock( &palette_mutex ); pthread_mutex_unlock( &palette_mutex );
return count; return count;
...@@ -1368,7 +1368,7 @@ COLORREF CDECL X11DRV_GetNearestColor( PHYSDEV dev, COLORREF color ) ...@@ -1368,7 +1368,7 @@ COLORREF CDECL X11DRV_GetNearestColor( PHYSDEV dev, COLORREF color )
if (!get_palette_entries( hpal, index, 1, &entry )) if (!get_palette_entries( hpal, index, 1, &entry ))
{ {
WARN("RGB(%x) : idx %d is out of bounds, assuming NULL\n", color, index ); WARN("%s: idx %d is out of bounds, assuming NULL\n", debugstr_color(color), index );
if (!get_palette_entries( hpal, 0, 1, &entry )) return CLR_INVALID; if (!get_palette_entries( hpal, 0, 1, &entry )) return CLR_INVALID;
} }
color = RGB( entry.peRed, entry.peGreen, entry.peBlue ); color = RGB( entry.peRed, entry.peGreen, entry.peBlue );
...@@ -1378,7 +1378,7 @@ COLORREF CDECL X11DRV_GetNearestColor( PHYSDEV dev, COLORREF color ) ...@@ -1378,7 +1378,7 @@ COLORREF CDECL X11DRV_GetNearestColor( PHYSDEV dev, COLORREF color )
nearest = (0x00ffffff & *(COLORREF*)(COLOR_sysPal + X11DRV_SysPaletteLookupPixel(color, FALSE))); nearest = (0x00ffffff & *(COLORREF*)(COLOR_sysPal + X11DRV_SysPaletteLookupPixel(color, FALSE)));
pthread_mutex_unlock( &palette_mutex ); pthread_mutex_unlock( &palette_mutex );
TRACE("(%06x): returning %06x\n", color, nearest ); TRACE("(%s): returning %s\n", debugstr_color(color), debugstr_color(nearest) );
return nearest; return nearest;
} }
......
...@@ -66,6 +66,7 @@ typedef int Status; ...@@ -66,6 +66,7 @@ typedef int Status;
#include "wine/gdi_driver.h" #include "wine/gdi_driver.h"
#include "unixlib.h" #include "unixlib.h"
#include "wine/list.h" #include "wine/list.h"
#include "wine/debug.h"
#define MAX_DASHLEN 16 #define MAX_DASHLEN 16
...@@ -322,6 +323,15 @@ extern int X11DRV_PALETTE_ToPhysical(X11DRV_PDEVICE *physDev, COLORREF color) DE ...@@ -322,6 +323,15 @@ extern int X11DRV_PALETTE_ToPhysical(X11DRV_PDEVICE *physDev, COLORREF color) DE
extern COLORREF X11DRV_PALETTE_GetColor( X11DRV_PDEVICE *physDev, COLORREF color ) DECLSPEC_HIDDEN; extern COLORREF X11DRV_PALETTE_GetColor( X11DRV_PDEVICE *physDev, COLORREF color ) DECLSPEC_HIDDEN;
extern int *get_window_surface_mapping( int bpp, int *mapping ) DECLSPEC_HIDDEN; extern int *get_window_surface_mapping( int bpp, int *mapping ) DECLSPEC_HIDDEN;
static inline const char *debugstr_color( COLORREF color )
{
if (color & (1 << 24)) /* PALETTEINDEX */
return wine_dbg_sprintf( "PALETTEINDEX(%u)", LOWORD(color) );
if (color >> 16 == 0x10ff) /* DIBINDEX */
return wine_dbg_sprintf( "DIBINDEX(%u)", LOWORD(color) );
return wine_dbg_sprintf( "RGB(%02x,%02x,%02x)", GetRValue(color), GetGValue(color), GetBValue(color) );
}
/* GDI escapes */ /* GDI escapes */
#define X11DRV_ESCAPE 6789 #define X11DRV_ESCAPE 6789
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment