mirror of
git://source.winehq.org/git/wine.git
synced 2024-10-31 11:43:31 +00:00
winex11: Get rid of the DIB section support.
This commit is contained in:
parent
978c42feb5
commit
5b11c96fa1
8 changed files with 0 additions and 8706 deletions
|
@ -11,10 +11,6 @@ C_SRCS = \
|
|||
clipboard.c \
|
||||
codepage.c \
|
||||
desktop.c \
|
||||
dib.c \
|
||||
dib_convert.c \
|
||||
dib_dst_swap.c \
|
||||
dib_src_swap.c \
|
||||
event.c \
|
||||
graphics.c \
|
||||
ime.c \
|
||||
|
|
|
@ -234,11 +234,6 @@ BOOL X11DRV_DeleteBitmap( HBITMAP hbitmap )
|
|||
|
||||
if (physBitmap)
|
||||
{
|
||||
DIBSECTION dib;
|
||||
|
||||
if (GetObjectW( hbitmap, sizeof(dib), &dib ) == sizeof(dib))
|
||||
X11DRV_DIB_DeleteDIBSection( physBitmap, &dib );
|
||||
|
||||
if (physBitmap->glxpixmap)
|
||||
destroy_glxpixmap( gdi_display, physBitmap->glxpixmap );
|
||||
wine_tsx11_lock();
|
||||
|
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -120,21 +120,7 @@ typedef struct
|
|||
XID glxpixmap;
|
||||
int depth; /* depth of the X pixmap */
|
||||
ColorShifts color_shifts; /* color shifts of the X pixmap */
|
||||
/* the following fields are only used for DIB section bitmaps */
|
||||
int status, p_status; /* mapping status */
|
||||
XImage *image; /* cached XImage */
|
||||
int *colorMap; /* color map info */
|
||||
int nColorMap;
|
||||
BOOL trueColor;
|
||||
BOOL topdown;
|
||||
CRITICAL_SECTION lock; /* GDI access lock */
|
||||
enum x11drv_shm_mode shm_mode;
|
||||
#ifdef HAVE_LIBXXSHM
|
||||
XShmSegmentInfo shminfo; /* shared memory segment info */
|
||||
#endif
|
||||
struct list entry; /* Entry in global DIB list */
|
||||
BYTE *base; /* Base address */
|
||||
SIZE_T size; /* Size in bytes */
|
||||
} X_PHYSBITMAP;
|
||||
|
||||
/* X physical font */
|
||||
|
@ -183,8 +169,6 @@ extern BOOL X11DRV_Chord( PHYSDEV dev, INT left, INT top, INT right, INT bottom,
|
|||
INT xstart, INT ystart, INT xend, INT yend ) DECLSPEC_HIDDEN;
|
||||
extern BOOL X11DRV_CopyBitmap( HBITMAP src, HBITMAP dst ) DECLSPEC_HIDDEN;
|
||||
extern BOOL X11DRV_CreateBitmap( PHYSDEV dev, HBITMAP hbitmap ) DECLSPEC_HIDDEN;
|
||||
extern HBITMAP X11DRV_CreateDIBSection( PHYSDEV dev, HBITMAP hbitmap,
|
||||
BITMAPINFO *bmi, UINT usage ) DECLSPEC_HIDDEN;
|
||||
extern BOOL X11DRV_DeleteBitmap( HBITMAP hbitmap ) DECLSPEC_HIDDEN;
|
||||
extern BOOL X11DRV_Ellipse( PHYSDEV dev, INT left, INT top, INT right, INT bottom ) DECLSPEC_HIDDEN;
|
||||
extern BOOL X11DRV_EnumFonts( PHYSDEV dev, LPLOGFONTW plf, FONTENUMPROCW dfeproc, LPARAM lp ) DECLSPEC_HIDDEN;
|
||||
|
@ -267,8 +251,6 @@ extern void X11DRV_FONT_Init( int log_pixels_x, int log_pixels_y ) DECLSPEC_HIDD
|
|||
extern void X11DRV_XInput2_Init(void) DECLSPEC_HIDDEN;
|
||||
|
||||
extern HBITMAP create_brush_bitmap( X11DRV_PDEVICE *physDev, const struct brush_pattern *pattern ) DECLSPEC_HIDDEN;
|
||||
extern XImage *X11DRV_DIB_CreateXImage( int width, int height, int depth ) DECLSPEC_HIDDEN;
|
||||
extern void X11DRV_DIB_DestroyXImage( XImage *image ) DECLSPEC_HIDDEN;
|
||||
extern X_PHYSBITMAP *X11DRV_get_phys_bitmap( HBITMAP hbitmap ) DECLSPEC_HIDDEN;
|
||||
extern X_PHYSBITMAP *X11DRV_init_phys_bitmap( HBITMAP hbitmap ) DECLSPEC_HIDDEN;
|
||||
extern BOOL X11DRV_create_phys_bitmap( HBITMAP hbitmap, const BITMAP *bitmap, int depth,
|
||||
|
@ -301,7 +283,6 @@ extern int client_side_antialias_with_render DECLSPEC_HIDDEN;
|
|||
extern int using_client_side_fonts DECLSPEC_HIDDEN;
|
||||
extern const struct gdi_dc_funcs *X11DRV_XRender_Init(void) DECLSPEC_HIDDEN;
|
||||
extern void X11DRV_XRender_Finalize(void) DECLSPEC_HIDDEN;
|
||||
extern BOOL X11DRV_XRender_SetPhysBitmapDepth(X_PHYSBITMAP *physBitmap, int bits_pixel, const DIBSECTION *dib) DECLSPEC_HIDDEN;
|
||||
|
||||
extern Drawable get_glxdrawable(X11DRV_PDEVICE *physDev) DECLSPEC_HIDDEN;
|
||||
extern BOOL destroy_glxpixmap(Display *display, XID glxpixmap) DECLSPEC_HIDDEN;
|
||||
|
@ -322,147 +303,6 @@ extern void X11DRV_XDND_PositionEvent( HWND hWnd, XClientMessageEvent *event ) D
|
|||
extern void X11DRV_XDND_DropEvent( HWND hWnd, XClientMessageEvent *event ) DECLSPEC_HIDDEN;
|
||||
extern void X11DRV_XDND_LeaveEvent( HWND hWnd, XClientMessageEvent *event ) DECLSPEC_HIDDEN;
|
||||
|
||||
/* exported dib functions for now */
|
||||
|
||||
/* DIB Section sync state */
|
||||
enum { DIB_Status_None, DIB_Status_InSync, DIB_Status_GdiMod, DIB_Status_AppMod };
|
||||
|
||||
typedef struct {
|
||||
void (*Convert_5x5_asis)(int width, int height,
|
||||
const void* srcbits, int srclinebytes,
|
||||
void* dstbits, int dstlinebytes);
|
||||
void (*Convert_555_reverse)(int width, int height,
|
||||
const void* srcbits, int srclinebytes,
|
||||
void* dstbits, int dstlinebytes);
|
||||
void (*Convert_555_to_565_asis)(int width, int height,
|
||||
const void* srcbits, int srclinebytes,
|
||||
void* dstbits, int dstlinebytes);
|
||||
void (*Convert_555_to_565_reverse)(int width, int height,
|
||||
const void* srcbits, int srclinebytes,
|
||||
void* dstbits, int dstlinebytes);
|
||||
void (*Convert_555_to_888_asis)(int width, int height,
|
||||
const void* srcbits, int srclinebytes,
|
||||
void* dstbits, int dstlinebytes);
|
||||
void (*Convert_555_to_888_reverse)(int width, int height,
|
||||
const void* srcbits, int srclinebytes,
|
||||
void* dstbits, int dstlinebytes);
|
||||
void (*Convert_555_to_0888_asis)(int width, int height,
|
||||
const void* srcbits, int srclinebytes,
|
||||
void* dstbits, int dstlinebytes);
|
||||
void (*Convert_555_to_0888_reverse)(int width, int height,
|
||||
const void* srcbits, int srclinebytes,
|
||||
void* dstbits, int dstlinebytes);
|
||||
void (*Convert_5x5_to_any0888)(int width, int height,
|
||||
const void* srcbits, int srclinebytes,
|
||||
WORD rsrc, WORD gsrc, WORD bsrc,
|
||||
void* dstbits, int dstlinebytes,
|
||||
DWORD rdst, DWORD gdst, DWORD bdst);
|
||||
void (*Convert_565_reverse)(int width, int height,
|
||||
const void* srcbits, int srclinebytes,
|
||||
void* dstbits, int dstlinebytes);
|
||||
void (*Convert_565_to_555_asis)(int width, int height,
|
||||
const void* srcbits, int srclinebytes,
|
||||
void* dstbits, int dstlinebytes);
|
||||
void (*Convert_565_to_555_reverse)(int width, int height,
|
||||
const void* srcbits, int srclinebytes,
|
||||
void* dstbits, int dstlinebytes);
|
||||
void (*Convert_565_to_888_asis)(int width, int height,
|
||||
const void* srcbits, int srclinebytes,
|
||||
void* dstbits, int dstlinebytes);
|
||||
void (*Convert_565_to_888_reverse)(int width, int height,
|
||||
const void* srcbits, int srclinebytes,
|
||||
void* dstbits, int dstlinebytes);
|
||||
void (*Convert_565_to_0888_asis)(int width, int height,
|
||||
const void* srcbits, int srclinebytes,
|
||||
void* dstbits, int dstlinebytes);
|
||||
void (*Convert_565_to_0888_reverse)(int width, int height,
|
||||
const void* srcbits, int srclinebytes,
|
||||
void* dstbits, int dstlinebytes);
|
||||
void (*Convert_888_asis)(int width, int height,
|
||||
const void* srcbits, int srclinebytes,
|
||||
void* dstbits, int dstlinebytes);
|
||||
void (*Convert_888_reverse)(int width, int height,
|
||||
const void* srcbits, int srclinebytes,
|
||||
void* dstbits, int dstlinebytes);
|
||||
void (*Convert_888_to_555_asis)(int width, int height,
|
||||
const void* srcbits, int srclinebytes,
|
||||
void* dstbits, int dstlinebytes);
|
||||
void (*Convert_888_to_555_reverse)(int width, int height,
|
||||
const void* srcbits, int srclinebytes,
|
||||
void* dstbits, int dstlinebytes);
|
||||
void (*Convert_888_to_565_asis)(int width, int height,
|
||||
const void* srcbits, int srclinebytes,
|
||||
void* dstbits, int dstlinebytes);
|
||||
void (*Convert_888_to_565_reverse)(int width, int height,
|
||||
const void* srcbits, int srclinebytes,
|
||||
void* dstbits, int dstlinebytes);
|
||||
void (*Convert_888_to_0888_asis)(int width, int height,
|
||||
const void* srcbits, int srclinebytes,
|
||||
void* dstbits, int dstlinebytes);
|
||||
void (*Convert_888_to_0888_reverse)(int width, int height,
|
||||
const void* srcbits, int srclinebytes,
|
||||
void* dstbits, int dstlinebytes);
|
||||
void (*Convert_rgb888_to_any0888)(int width, int height,
|
||||
const void* srcbits, int srclinebytes,
|
||||
void* dstbits, int dstlinebytes,
|
||||
DWORD rdst, DWORD gdst, DWORD bdst);
|
||||
void (*Convert_bgr888_to_any0888)(int width, int height,
|
||||
const void* srcbits, int srclinebytes,
|
||||
void* dstbits, int dstlinebytes,
|
||||
DWORD rdst, DWORD gdst, DWORD bdst);
|
||||
void (*Convert_0888_asis)(int width, int height,
|
||||
const void* srcbits, int srclinebytes,
|
||||
void* dstbits, int dstlinebytes);
|
||||
void (*Convert_0888_reverse)(int width, int height,
|
||||
const void* srcbits, int srclinebytes,
|
||||
void* dstbits, int dstlinebytes);
|
||||
void (*Convert_0888_any)(int width, int height,
|
||||
const void* srcbits, int srclinebytes,
|
||||
DWORD rsrc, DWORD gsrc, DWORD bsrc,
|
||||
void* dstbits, int dstlinebytes,
|
||||
DWORD rdst, DWORD gdst, DWORD bdst);
|
||||
void (*Convert_0888_to_555_asis)(int width, int height,
|
||||
const void* srcbits, int srclinebytes,
|
||||
void* dstbits, int dstlinebytes);
|
||||
void (*Convert_0888_to_555_reverse)(int width, int height,
|
||||
const void* srcbits, int srclinebytes,
|
||||
void* dstbits, int dstlinebytes);
|
||||
void (*Convert_0888_to_565_asis)(int width, int height,
|
||||
const void* srcbits, int srclinebytes,
|
||||
void* dstbits, int dstlinebytes);
|
||||
void (*Convert_0888_to_565_reverse)(int width, int height,
|
||||
const void* srcbits, int srclinebytes,
|
||||
void* dstbits, int dstlinebytes);
|
||||
void (*Convert_any0888_to_5x5)(int width, int height,
|
||||
const void* srcbits, int srclinebytes,
|
||||
DWORD rsrc, DWORD gsrc, DWORD bsrc,
|
||||
void* dstbits, int dstlinebytes,
|
||||
WORD rdst, WORD gdst, WORD bdst);
|
||||
void (*Convert_0888_to_888_asis)(int width, int height,
|
||||
const void* srcbits, int srclinebytes,
|
||||
void* dstbits, int dstlinebytes);
|
||||
void (*Convert_0888_to_888_reverse)(int width, int height,
|
||||
const void* srcbits, int srclinebytes,
|
||||
void* dstbits, int dstlinebytes);
|
||||
void (*Convert_any0888_to_rgb888)(int width, int height,
|
||||
const void* srcbits, int srclinebytes,
|
||||
DWORD rsrc, DWORD gsrc, DWORD bsrc,
|
||||
void* dstbits, int dstlinebytes);
|
||||
void (*Convert_any0888_to_bgr888)(int width, int height,
|
||||
const void* srcbits, int srclinebytes,
|
||||
DWORD rsrc, DWORD gsrc, DWORD bsrc,
|
||||
void* dstbits, int dstlinebytes);
|
||||
} dib_conversions;
|
||||
|
||||
extern const dib_conversions dib_normal DECLSPEC_HIDDEN, dib_src_byteswap DECLSPEC_HIDDEN, dib_dst_byteswap DECLSPEC_HIDDEN;
|
||||
|
||||
extern INT X11DRV_DIB_MaskToShift(DWORD mask) DECLSPEC_HIDDEN;
|
||||
extern INT X11DRV_CoerceDIBSection(X11DRV_PDEVICE *physDev,INT) DECLSPEC_HIDDEN;
|
||||
extern INT X11DRV_DIB_Lock(X_PHYSBITMAP *,INT) DECLSPEC_HIDDEN;
|
||||
extern void X11DRV_DIB_Unlock(X_PHYSBITMAP *,BOOL) DECLSPEC_HIDDEN;
|
||||
|
||||
extern void X11DRV_DIB_DeleteDIBSection(X_PHYSBITMAP *physBitmap, DIBSECTION *dib) DECLSPEC_HIDDEN;
|
||||
|
||||
/**************************************************************************
|
||||
* X11 GDI driver
|
||||
*/
|
||||
|
|
|
@ -1366,45 +1366,6 @@ static void xrenderdrv_SetDeviceClipping( PHYSDEV dev, HRGN rgn )
|
|||
}
|
||||
|
||||
|
||||
BOOL X11DRV_XRender_SetPhysBitmapDepth(X_PHYSBITMAP *physBitmap, int bits_pixel, const DIBSECTION *dib)
|
||||
{
|
||||
XRenderPictFormat *pict_format;
|
||||
ColorShifts shifts;
|
||||
const DWORD *bitfields;
|
||||
static const DWORD bitfields_32[3] = {0xff0000, 0x00ff00, 0x0000ff};
|
||||
static const DWORD bitfields_16[3] = {0x7c00, 0x03e0, 0x001f};
|
||||
|
||||
|
||||
/* When XRender is not around we can only use the screen_depth and when needed we perform depth conversion
|
||||
* in software. Further we also return the screen depth for paletted formats or TrueColor formats with a low
|
||||
* number of bits because XRender can't handle paletted formats and 8-bit TrueColor does not exist for XRender. */
|
||||
if (!X11DRV_XRender_Installed || bits_pixel <= 8)
|
||||
return FALSE;
|
||||
|
||||
if(dib->dsBmih.biCompression == BI_BITFIELDS)
|
||||
bitfields = dib->dsBitfields;
|
||||
else if(bits_pixel == 24 || bits_pixel == 32)
|
||||
bitfields = bitfields_32;
|
||||
else
|
||||
bitfields = bitfields_16;
|
||||
|
||||
X11DRV_PALETTE_ComputeColorShifts(&shifts, bitfields[0], bitfields[1], bitfields[2]);
|
||||
pict_format = pict_formats[get_xrender_format_from_color_shifts(dib->dsBm.bmBitsPixel, &shifts)];
|
||||
|
||||
/* Common formats should be in our picture format table. */
|
||||
if (!pict_format)
|
||||
{
|
||||
TRACE("Unhandled dibsection format bpp=%d, redMask=%x, greenMask=%x, blueMask=%x\n",
|
||||
dib->dsBm.bmBitsPixel, bitfields[0], bitfields[1], bitfields[2]);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
physBitmap->depth = pict_format->depth;
|
||||
physBitmap->trueColor = TRUE;
|
||||
physBitmap->color_shifts = shifts;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/************************************************************************
|
||||
* UploadGlyph
|
||||
*
|
||||
|
@ -2816,9 +2777,4 @@ void X11DRV_XRender_Finalize(void)
|
|||
{
|
||||
}
|
||||
|
||||
BOOL X11DRV_XRender_SetPhysBitmapDepth(X_PHYSBITMAP *physBitmap, int bits_pixel, const DIBSECTION *dib)
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
#endif /* SONAME_LIBXRENDER */
|
||||
|
|
Loading…
Reference in a new issue