physDev->bitmap = physBitmap;
physDev->drawable = physBitmap->pixmap;
+ physDev->color_shifts = physBitmap->trueColor ? &physBitmap->pixmap_color_shifts : NULL;
SetRect( &physDev->drawable_rect, 0, 0, bitmap.bmWidth, bitmap.bmHeight );
physDev->dc_rect = physDev->drawable_rect;
wine_tsx11_unlock();
}
- if(physDev->depth == 1)
- physDev->color_shifts = NULL;
- else
- physDev->color_shifts = &physBitmap->pixmap_color_shifts;
-
return hbitmap;
}
if(bitmap.bmBitsPixel == 1)
{
physBitmap->pixmap_depth = 1;
+ physBitmap->trueColor = FALSE;
}
else
{
physBitmap->pixmap_depth = screen_depth;
physBitmap->pixmap_color_shifts = X11DRV_PALETTE_default_shifts;
+ physBitmap->trueColor = (visual->class == TrueColor || visual->class == DirectColor);
}
physBitmap->pixmap = XCreatePixmap(gdi_display, root_window,
bitmap.bmWidth, bitmap.bmHeight, physBitmap->pixmap_depth);
if(dib.dsBm.bmBitsPixel == 1)
{
physBitmap->pixmap_depth = 1;
+ physBitmap->trueColor = FALSE;
}
else
{
physBitmap->pixmap_depth = screen_depth;
physBitmap->pixmap_color_shifts = X11DRV_PALETTE_default_shifts;
+ physBitmap->trueColor = (visual->class == TrueColor || visual->class == DirectColor);
}
#ifdef HAVE_LIBXXSHM
physBitmap->shminfo.shmid = -1;
XImage *image; /* cached XImage */
int *colorMap; /* color map info */
int nColorMap;
+ BOOL trueColor;
CRITICAL_SECTION lock; /* GDI access lock */
enum x11drv_shm_mode shm_mode;
#ifdef HAVE_LIBXXSHM