gdi32: Add driver entry points for GetImage and PutImage.
This commit is contained in:
parent
340643af30
commit
cf05fca878
|
@ -469,6 +469,7 @@ const DC_FUNCTIONS dib_driver =
|
||||||
NULL, /* pGetDeviceCaps */
|
NULL, /* pGetDeviceCaps */
|
||||||
NULL, /* pGetDeviceGammaRamp */
|
NULL, /* pGetDeviceGammaRamp */
|
||||||
NULL, /* pGetICMProfile */
|
NULL, /* pGetICMProfile */
|
||||||
|
NULL, /* pGetImage */
|
||||||
NULL, /* pGetNearestColor */
|
NULL, /* pGetNearestColor */
|
||||||
NULL, /* pGetPixel */
|
NULL, /* pGetPixel */
|
||||||
NULL, /* pGetPixelFormat */
|
NULL, /* pGetPixelFormat */
|
||||||
|
@ -494,6 +495,7 @@ const DC_FUNCTIONS dib_driver =
|
||||||
NULL, /* pPolygon */
|
NULL, /* pPolygon */
|
||||||
NULL, /* pPolyline */
|
NULL, /* pPolyline */
|
||||||
NULL, /* pPolylineTo */
|
NULL, /* pPolylineTo */
|
||||||
|
NULL, /* pPutImage */
|
||||||
NULL, /* pRealizeDefaultPalette */
|
NULL, /* pRealizeDefaultPalette */
|
||||||
NULL, /* pRealizePalette */
|
NULL, /* pRealizePalette */
|
||||||
dibdrv_Rectangle, /* pRectangle */
|
dibdrv_Rectangle, /* pRectangle */
|
||||||
|
|
|
@ -347,6 +347,12 @@ static BOOL nulldrv_GetICMProfile( PHYSDEV dev, LPDWORD size, LPWSTR filename )
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static DWORD nulldrv_GetImage( PHYSDEV dev, HBITMAP hbitmap, BITMAPINFO *info,
|
||||||
|
struct gdi_image_bits *bits, const RECT *rect )
|
||||||
|
{
|
||||||
|
return ERROR_NOT_SUPPORTED;
|
||||||
|
}
|
||||||
|
|
||||||
static COLORREF nulldrv_GetPixel( PHYSDEV dev, INT x, INT y )
|
static COLORREF nulldrv_GetPixel( PHYSDEV dev, INT x, INT y )
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -421,6 +427,12 @@ static BOOL nulldrv_Polyline( PHYSDEV dev, const POINT *points, INT count )
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static DWORD nulldrv_PutImage( PHYSDEV dev, HBITMAP hbitmap, BITMAPINFO *info,
|
||||||
|
const struct gdi_image_bits *bits, const RECT *rect, DWORD rop )
|
||||||
|
{
|
||||||
|
return ERROR_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
static UINT nulldrv_RealizeDefaultPalette( PHYSDEV dev )
|
static UINT nulldrv_RealizeDefaultPalette( PHYSDEV dev )
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -701,6 +713,7 @@ const DC_FUNCTIONS null_driver =
|
||||||
nulldrv_GetDeviceCaps, /* pGetDeviceCaps */
|
nulldrv_GetDeviceCaps, /* pGetDeviceCaps */
|
||||||
nulldrv_GetDeviceGammaRamp, /* pGetDeviceGammaRamp */
|
nulldrv_GetDeviceGammaRamp, /* pGetDeviceGammaRamp */
|
||||||
nulldrv_GetICMProfile, /* pGetICMProfile */
|
nulldrv_GetICMProfile, /* pGetICMProfile */
|
||||||
|
nulldrv_GetImage, /* pGetImage */
|
||||||
nulldrv_GetNearestColor, /* pGetNearestColor */
|
nulldrv_GetNearestColor, /* pGetNearestColor */
|
||||||
nulldrv_GetPixel, /* pGetPixel */
|
nulldrv_GetPixel, /* pGetPixel */
|
||||||
nulldrv_GetPixelFormat, /* pGetPixelFormat */
|
nulldrv_GetPixelFormat, /* pGetPixelFormat */
|
||||||
|
@ -726,6 +739,7 @@ const DC_FUNCTIONS null_driver =
|
||||||
nulldrv_Polygon, /* pPolygon */
|
nulldrv_Polygon, /* pPolygon */
|
||||||
nulldrv_Polyline, /* pPolyline */
|
nulldrv_Polyline, /* pPolyline */
|
||||||
nulldrv_PolylineTo, /* pPolylineTo */
|
nulldrv_PolylineTo, /* pPolylineTo */
|
||||||
|
nulldrv_PutImage, /* pPutImage */
|
||||||
nulldrv_RealizeDefaultPalette, /* pRealizeDefaultPalette */
|
nulldrv_RealizeDefaultPalette, /* pRealizeDefaultPalette */
|
||||||
nulldrv_RealizePalette, /* pRealizePalette */
|
nulldrv_RealizePalette, /* pRealizePalette */
|
||||||
nulldrv_Rectangle, /* pRectangle */
|
nulldrv_Rectangle, /* pRectangle */
|
||||||
|
|
|
@ -77,6 +77,7 @@ static const DC_FUNCTIONS EMFDRV_Funcs =
|
||||||
EMFDRV_GetDeviceCaps, /* pGetDeviceCaps */
|
EMFDRV_GetDeviceCaps, /* pGetDeviceCaps */
|
||||||
NULL, /* pGetDeviceGammaRamp */
|
NULL, /* pGetDeviceGammaRamp */
|
||||||
NULL, /* pGetICMProfile */
|
NULL, /* pGetICMProfile */
|
||||||
|
NULL, /* pGetImage */
|
||||||
NULL, /* pGetNearestColor */
|
NULL, /* pGetNearestColor */
|
||||||
NULL, /* pGetPixel */
|
NULL, /* pGetPixel */
|
||||||
NULL, /* pGetPixelFormat */
|
NULL, /* pGetPixelFormat */
|
||||||
|
@ -102,6 +103,7 @@ static const DC_FUNCTIONS EMFDRV_Funcs =
|
||||||
EMFDRV_Polygon, /* pPolygon */
|
EMFDRV_Polygon, /* pPolygon */
|
||||||
EMFDRV_Polyline, /* pPolyline */
|
EMFDRV_Polyline, /* pPolyline */
|
||||||
NULL, /* pPolylineTo */
|
NULL, /* pPolylineTo */
|
||||||
|
NULL, /* pPutImage */
|
||||||
NULL, /* pRealizeDefaultPalette */
|
NULL, /* pRealizeDefaultPalette */
|
||||||
NULL, /* pRealizePalette */
|
NULL, /* pRealizePalette */
|
||||||
EMFDRV_Rectangle, /* pRectangle */
|
EMFDRV_Rectangle, /* pRectangle */
|
||||||
|
|
|
@ -121,6 +121,7 @@ static const DC_FUNCTIONS MFDRV_Funcs =
|
||||||
MFDRV_GetDeviceCaps, /* pGetDeviceCaps */
|
MFDRV_GetDeviceCaps, /* pGetDeviceCaps */
|
||||||
NULL, /* pGetDeviceGammaRamp */
|
NULL, /* pGetDeviceGammaRamp */
|
||||||
NULL, /* pGetICMProfile */
|
NULL, /* pGetICMProfile */
|
||||||
|
NULL, /* pGetImage */
|
||||||
NULL, /* pGetNearestColor */
|
NULL, /* pGetNearestColor */
|
||||||
NULL, /* pGetPixel */
|
NULL, /* pGetPixel */
|
||||||
NULL, /* pGetPixelFormat */
|
NULL, /* pGetPixelFormat */
|
||||||
|
@ -146,6 +147,7 @@ static const DC_FUNCTIONS MFDRV_Funcs =
|
||||||
MFDRV_Polygon, /* pPolygon */
|
MFDRV_Polygon, /* pPolygon */
|
||||||
MFDRV_Polyline, /* pPolyline */
|
MFDRV_Polyline, /* pPolyline */
|
||||||
NULL, /* pPolylineTo */
|
NULL, /* pPolylineTo */
|
||||||
|
NULL, /* pPutImage */
|
||||||
NULL, /* pRealizeDefaultPalette */
|
NULL, /* pRealizeDefaultPalette */
|
||||||
MFDRV_RealizePalette, /* pRealizePalette */
|
MFDRV_RealizePalette, /* pRealizePalette */
|
||||||
MFDRV_Rectangle, /* pRectangle */
|
MFDRV_Rectangle, /* pRectangle */
|
||||||
|
|
|
@ -843,6 +843,7 @@ static const struct gdi_dc_funcs psdrv_funcs =
|
||||||
PSDRV_GetDeviceCaps, /* pGetDeviceCaps */
|
PSDRV_GetDeviceCaps, /* pGetDeviceCaps */
|
||||||
NULL, /* pGetDeviceGammaRamp */
|
NULL, /* pGetDeviceGammaRamp */
|
||||||
NULL, /* pGetICMProfile */
|
NULL, /* pGetICMProfile */
|
||||||
|
NULL, /* pGetImage */
|
||||||
NULL, /* pGetNearestColor */
|
NULL, /* pGetNearestColor */
|
||||||
NULL, /* pGetPixel */
|
NULL, /* pGetPixel */
|
||||||
NULL, /* pGetPixelFormat */
|
NULL, /* pGetPixelFormat */
|
||||||
|
@ -868,6 +869,7 @@ static const struct gdi_dc_funcs psdrv_funcs =
|
||||||
PSDRV_Polygon, /* pPolygon */
|
PSDRV_Polygon, /* pPolygon */
|
||||||
PSDRV_Polyline, /* pPolyline */
|
PSDRV_Polyline, /* pPolyline */
|
||||||
NULL, /* pPolylineTo */
|
NULL, /* pPolylineTo */
|
||||||
|
NULL, /* pPutImage */
|
||||||
NULL, /* pRealizeDefaultPalette */
|
NULL, /* pRealizeDefaultPalette */
|
||||||
NULL, /* pRealizePalette */
|
NULL, /* pRealizePalette */
|
||||||
PSDRV_Rectangle, /* pRectangle */
|
PSDRV_Rectangle, /* pRectangle */
|
||||||
|
|
|
@ -486,6 +486,7 @@ static const struct gdi_dc_funcs x11drv_funcs =
|
||||||
X11DRV_GetDeviceCaps, /* pGetDeviceCaps */
|
X11DRV_GetDeviceCaps, /* pGetDeviceCaps */
|
||||||
X11DRV_GetDeviceGammaRamp, /* pGetDeviceGammaRamp */
|
X11DRV_GetDeviceGammaRamp, /* pGetDeviceGammaRamp */
|
||||||
X11DRV_GetICMProfile, /* pGetICMProfile */
|
X11DRV_GetICMProfile, /* pGetICMProfile */
|
||||||
|
NULL, /* pGetImage */
|
||||||
X11DRV_GetNearestColor, /* pGetNearestColor */
|
X11DRV_GetNearestColor, /* pGetNearestColor */
|
||||||
X11DRV_GetPixel, /* pGetPixel */
|
X11DRV_GetPixel, /* pGetPixel */
|
||||||
X11DRV_GetPixelFormat, /* pGetPixelFormat */
|
X11DRV_GetPixelFormat, /* pGetPixelFormat */
|
||||||
|
@ -511,6 +512,7 @@ static const struct gdi_dc_funcs x11drv_funcs =
|
||||||
X11DRV_Polygon, /* pPolygon */
|
X11DRV_Polygon, /* pPolygon */
|
||||||
X11DRV_Polyline, /* pPolyline */
|
X11DRV_Polyline, /* pPolyline */
|
||||||
NULL, /* pPolylineTo */
|
NULL, /* pPolylineTo */
|
||||||
|
NULL, /* pPutImage */
|
||||||
X11DRV_RealizeDefaultPalette, /* pRealizeDefaultPalette */
|
X11DRV_RealizeDefaultPalette, /* pRealizeDefaultPalette */
|
||||||
X11DRV_RealizePalette, /* pRealizePalette */
|
X11DRV_RealizePalette, /* pRealizePalette */
|
||||||
X11DRV_Rectangle, /* pRectangle */
|
X11DRV_Rectangle, /* pRectangle */
|
||||||
|
|
|
@ -44,6 +44,15 @@ struct bitblt_coords
|
||||||
DWORD layout; /* DC layout */
|
DWORD layout; /* DC layout */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct gdi_image_bits
|
||||||
|
{
|
||||||
|
void *ptr; /* pointer to the bits */
|
||||||
|
unsigned int offset; /* x offset of first requested pixel */
|
||||||
|
BOOL is_copy; /* whether this is a copy of the bits that can be modified */
|
||||||
|
void (*free)(struct gdi_image_bits *); /* callback for freeing the bits */
|
||||||
|
void *param; /* extra parameter for callback private use */
|
||||||
|
};
|
||||||
|
|
||||||
struct gdi_dc_funcs
|
struct gdi_dc_funcs
|
||||||
{
|
{
|
||||||
INT (*pAbortDoc)(PHYSDEV);
|
INT (*pAbortDoc)(PHYSDEV);
|
||||||
|
@ -87,6 +96,7 @@ struct gdi_dc_funcs
|
||||||
INT (*pGetDeviceCaps)(PHYSDEV,INT);
|
INT (*pGetDeviceCaps)(PHYSDEV,INT);
|
||||||
BOOL (*pGetDeviceGammaRamp)(PHYSDEV,LPVOID);
|
BOOL (*pGetDeviceGammaRamp)(PHYSDEV,LPVOID);
|
||||||
BOOL (*pGetICMProfile)(PHYSDEV,LPDWORD,LPWSTR);
|
BOOL (*pGetICMProfile)(PHYSDEV,LPDWORD,LPWSTR);
|
||||||
|
DWORD (*pGetImage)(PHYSDEV,HBITMAP,BITMAPINFO*,struct gdi_image_bits*,const RECT*);
|
||||||
COLORREF (*pGetNearestColor)(PHYSDEV,COLORREF);
|
COLORREF (*pGetNearestColor)(PHYSDEV,COLORREF);
|
||||||
COLORREF (*pGetPixel)(PHYSDEV,INT,INT);
|
COLORREF (*pGetPixel)(PHYSDEV,INT,INT);
|
||||||
INT (*pGetPixelFormat)(PHYSDEV);
|
INT (*pGetPixelFormat)(PHYSDEV);
|
||||||
|
@ -112,6 +122,7 @@ struct gdi_dc_funcs
|
||||||
BOOL (*pPolygon)(PHYSDEV,const POINT*,INT);
|
BOOL (*pPolygon)(PHYSDEV,const POINT*,INT);
|
||||||
BOOL (*pPolyline)(PHYSDEV,const POINT*,INT);
|
BOOL (*pPolyline)(PHYSDEV,const POINT*,INT);
|
||||||
BOOL (*pPolylineTo)(PHYSDEV,const POINT*,INT);
|
BOOL (*pPolylineTo)(PHYSDEV,const POINT*,INT);
|
||||||
|
DWORD (*pPutImage)(PHYSDEV,HBITMAP,BITMAPINFO*,const struct gdi_image_bits*,const RECT*,DWORD);
|
||||||
UINT (*pRealizeDefaultPalette)(PHYSDEV);
|
UINT (*pRealizeDefaultPalette)(PHYSDEV);
|
||||||
UINT (*pRealizePalette)(PHYSDEV,HPALETTE,BOOL);
|
UINT (*pRealizePalette)(PHYSDEV,HPALETTE,BOOL);
|
||||||
BOOL (*pRectangle)(PHYSDEV,INT,INT,INT,INT);
|
BOOL (*pRectangle)(PHYSDEV,INT,INT,INT,INT);
|
||||||
|
|
Loading…
Reference in New Issue