mirror of
https://github.com/morgan9e/FreeRDP
synced 2026-04-14 00:14:11 +09:00
Merge pull request #2737 from nfedera/nf-fix-gdi-return-value-weirdness
libfreerdp/gdi: fixed gdi return value madness
This commit is contained in:
@@ -968,7 +968,6 @@ int freerdp_client_command_line_post_filter(void* context, COMMAND_LINE_ARGUMENT
|
||||
int freerdp_parse_username(char* username, char** user, char** domain)
|
||||
{
|
||||
char* p;
|
||||
char* u;
|
||||
int length = 0;
|
||||
|
||||
p = strchr(username, '\\');
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
#include <freerdp/freerdp.h>
|
||||
#include <freerdp/gdi/gdi.h>
|
||||
|
||||
typedef int (*pLineTo_16bpp)(HGDI_DC hdc, int nXEnd, int nYEnd);
|
||||
typedef BOOL (*pLineTo_16bpp)(HGDI_DC hdc, int nXEnd, int nYEnd);
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
@@ -32,10 +32,10 @@ typedef int (*pLineTo_16bpp)(HGDI_DC hdc, int nXEnd, int nYEnd);
|
||||
|
||||
FREERDP_API UINT16 gdi_get_color_16bpp(HGDI_DC hdc, GDI_COLOR color);
|
||||
|
||||
FREERDP_API int FillRect_16bpp(HGDI_DC hdc, HGDI_RECT rect, HGDI_BRUSH hbr);
|
||||
FREERDP_API int BitBlt_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc, int rop);
|
||||
FREERDP_API int PatBlt_16bpp(HGDI_DC hdc, int nXLeft, int nYLeft, int nWidth, int nHeight, int rop);
|
||||
FREERDP_API int LineTo_16bpp(HGDI_DC hdc, int nXEnd, int nYEnd);
|
||||
FREERDP_API BOOL FillRect_16bpp(HGDI_DC hdc, HGDI_RECT rect, HGDI_BRUSH hbr);
|
||||
FREERDP_API BOOL BitBlt_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc, DWORD rop);
|
||||
FREERDP_API BOOL PatBlt_16bpp(HGDI_DC hdc, int nXLeft, int nYLeft, int nWidth, int nHeight, DWORD rop);
|
||||
FREERDP_API BOOL LineTo_16bpp(HGDI_DC hdc, int nXEnd, int nYEnd);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
#include <freerdp/freerdp.h>
|
||||
#include <freerdp/gdi/gdi.h>
|
||||
|
||||
typedef int (*pLineTo_32bpp)(HGDI_DC hdc, int nXEnd, int nYEnd);
|
||||
typedef BOOL (*pLineTo_32bpp)(HGDI_DC hdc, int nXEnd, int nYEnd);
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
@@ -32,10 +32,10 @@ typedef int (*pLineTo_32bpp)(HGDI_DC hdc, int nXEnd, int nYEnd);
|
||||
|
||||
FREERDP_API UINT32 gdi_get_color_32bpp(HGDI_DC hdc, GDI_COLOR color);
|
||||
|
||||
FREERDP_API int FillRect_32bpp(HGDI_DC hdc, HGDI_RECT rect, HGDI_BRUSH hbr);
|
||||
FREERDP_API int BitBlt_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc, int rop);
|
||||
FREERDP_API int PatBlt_32bpp(HGDI_DC hdc, int nXLeft, int nYLeft, int nWidth, int nHeight, int rop);
|
||||
FREERDP_API int LineTo_32bpp(HGDI_DC hdc, int nXEnd, int nYEnd);
|
||||
FREERDP_API BOOL FillRect_32bpp(HGDI_DC hdc, HGDI_RECT rect, HGDI_BRUSH hbr);
|
||||
FREERDP_API BOOL BitBlt_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc, DWORD rop);
|
||||
FREERDP_API BOOL PatBlt_32bpp(HGDI_DC hdc, int nXLeft, int nYLeft, int nWidth, int nHeight, DWORD rop);
|
||||
FREERDP_API BOOL LineTo_32bpp(HGDI_DC hdc, int nXEnd, int nYEnd);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
#include <freerdp/freerdp.h>
|
||||
#include <freerdp/gdi/gdi.h>
|
||||
|
||||
typedef int (*pLineTo_8bpp)(HGDI_DC hdc, int nXEnd, int nYEnd);
|
||||
typedef BOOL (*pLineTo_8bpp)(HGDI_DC hdc, int nXEnd, int nYEnd);
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
@@ -32,10 +32,10 @@ typedef int (*pLineTo_8bpp)(HGDI_DC hdc, int nXEnd, int nYEnd);
|
||||
|
||||
FREERDP_API BYTE gdi_get_color_8bpp(HGDI_DC hdc, GDI_COLOR color);
|
||||
|
||||
FREERDP_API int FillRect_8bpp(HGDI_DC hdc, HGDI_RECT rect, HGDI_BRUSH hbr);
|
||||
FREERDP_API int BitBlt_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc, int rop);
|
||||
FREERDP_API int PatBlt_8bpp(HGDI_DC hdc, int nXLeft, int nYLeft, int nWidth, int nHeight, int rop);
|
||||
FREERDP_API int LineTo_8bpp(HGDI_DC hdc, int nXEnd, int nYEnd);
|
||||
FREERDP_API BOOL FillRect_8bpp(HGDI_DC hdc, HGDI_RECT rect, HGDI_BRUSH hbr);
|
||||
FREERDP_API BOOL BitBlt_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc, DWORD rop);
|
||||
FREERDP_API BOOL PatBlt_8bpp(HGDI_DC hdc, int nXLeft, int nYLeft, int nWidth, int nHeight, DWORD rop);
|
||||
FREERDP_API BOOL LineTo_8bpp(HGDI_DC hdc, int nXEnd, int nYEnd);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
@@ -40,9 +40,9 @@ FREERDP_API void gdi_SetPixel_16bpp(HGDI_BITMAP hBmp, int X, int Y, UINT16 pixel
|
||||
FREERDP_API void gdi_SetPixel_32bpp(HGDI_BITMAP hBmp, int X, int Y, UINT32 pixel);
|
||||
FREERDP_API HGDI_BITMAP gdi_CreateBitmap(int nWidth, int nHeight, int cBitsPerPixel, BYTE* data);
|
||||
FREERDP_API HGDI_BITMAP gdi_CreateCompatibleBitmap(HGDI_DC hdc, int nWidth, int nHeight);
|
||||
FREERDP_API int gdi_BitBlt(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc, int rop);
|
||||
FREERDP_API BOOL gdi_BitBlt(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc, DWORD rop);
|
||||
|
||||
typedef int (*p_BitBlt)(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc, int rop);
|
||||
typedef BOOL (*p_BitBlt)(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc, DWORD rop);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
@@ -30,12 +30,12 @@
|
||||
FREERDP_API HGDI_BRUSH gdi_CreateSolidBrush(GDI_COLOR crColor);
|
||||
FREERDP_API HGDI_BRUSH gdi_CreatePatternBrush(HGDI_BITMAP hbmp);
|
||||
FREERDP_API HGDI_BRUSH gdi_CreateHatchBrush(HGDI_BITMAP hbmp);
|
||||
FREERDP_API int gdi_PatBlt(HGDI_DC hdc, int nXLeft, int nYLeft, int nWidth, int nHeight, int rop);
|
||||
FREERDP_API BOOL gdi_PatBlt(HGDI_DC hdc, int nXLeft, int nYLeft, int nWidth, int nHeight, DWORD rop);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
typedef int (*p_PatBlt)(HGDI_DC hdc, int nXLeft, int nYLeft, int nWidth, int nHeight, int rop);
|
||||
typedef BOOL (*p_PatBlt)(HGDI_DC hdc, int nXLeft, int nYLeft, int nWidth, int nHeight, DWORD rop);
|
||||
|
||||
#endif /* FREERDP_GDI_BRUSH_H */
|
||||
|
||||
@@ -27,10 +27,10 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
FREERDP_API int gdi_SetClipRgn(HGDI_DC hdc, int nXLeft, int nYLeft, int nWidth, int nHeight);
|
||||
FREERDP_API BOOL gdi_SetClipRgn(HGDI_DC hdc, int nXLeft, int nYLeft, int nWidth, int nHeight);
|
||||
FREERDP_API HGDI_RGN gdi_GetClipRgn(HGDI_DC hdc);
|
||||
FREERDP_API int gdi_SetNullClipRgn(HGDI_DC hdc);
|
||||
FREERDP_API int gdi_ClipCoords(HGDI_DC hdc, int *x, int *y, int *w, int *h, int *srcx, int *srcy);
|
||||
FREERDP_API BOOL gdi_SetNullClipRgn(HGDI_DC hdc);
|
||||
FREERDP_API BOOL gdi_ClipCoords(HGDI_DC hdc, int *x, int *y, int *w, int *h, int *srcx, int *srcy);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
@@ -31,8 +31,8 @@ FREERDP_API HGDI_DC gdi_GetDC(void);
|
||||
FREERDP_API HGDI_DC gdi_CreateDC(UINT32 flags, int bpp);
|
||||
FREERDP_API HGDI_DC gdi_CreateCompatibleDC(HGDI_DC hdc);
|
||||
FREERDP_API HGDIOBJECT gdi_SelectObject(HGDI_DC hdc, HGDIOBJECT hgdiobject);
|
||||
FREERDP_API int gdi_DeleteObject(HGDIOBJECT hgdiobject);
|
||||
FREERDP_API int gdi_DeleteDC(HGDI_DC hdc);
|
||||
FREERDP_API BOOL gdi_DeleteObject(HGDIOBJECT hgdiobject);
|
||||
FREERDP_API BOOL gdi_DeleteDC(HGDI_DC hdc);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
@@ -315,7 +315,7 @@ struct rdp_gdi
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
FREERDP_API UINT32 gdi_rop3_code(BYTE code);
|
||||
FREERDP_API DWORD gdi_rop3_code(BYTE code);
|
||||
FREERDP_API UINT32 gdi_get_pixel_format(UINT32 bitsPerPixel, BOOL vFlip);
|
||||
FREERDP_API BYTE* gdi_get_bitmap_pointer(HGDI_DC hdcBmp, int x, int y);
|
||||
FREERDP_API BYTE* gdi_get_brush_pointer(HGDI_DC hdcBrush, int x, int y);
|
||||
|
||||
@@ -27,16 +27,16 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
FREERDP_API int gdi_LineTo(HGDI_DC hdc, int nXEnd, int nYEnd);
|
||||
FREERDP_API int gdi_PolylineTo(HGDI_DC hdc, GDI_POINT *lppt, int cCount);
|
||||
FREERDP_API int gdi_Polyline(HGDI_DC hdc, GDI_POINT *lppt, int cPoints);
|
||||
FREERDP_API int gdi_PolyPolyline(HGDI_DC hdc, GDI_POINT *lppt, int *lpdwPolyPoints, int cCount);
|
||||
FREERDP_API int gdi_MoveToEx(HGDI_DC hdc, int X, int Y, HGDI_POINT lpPoint);
|
||||
FREERDP_API BOOL gdi_LineTo(HGDI_DC hdc, int nXEnd, int nYEnd);
|
||||
FREERDP_API BOOL gdi_PolylineTo(HGDI_DC hdc, GDI_POINT *lppt, DWORD cCount);
|
||||
FREERDP_API BOOL gdi_Polyline(HGDI_DC hdc, GDI_POINT *lppt, int cPoints);
|
||||
FREERDP_API BOOL gdi_PolyPolyline(HGDI_DC hdc, GDI_POINT *lppt, int *lpdwPolyPoints, DWORD cCount);
|
||||
FREERDP_API BOOL gdi_MoveToEx(HGDI_DC hdc, int X, int Y, HGDI_POINT lpPoint);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
typedef int (*p_LineTo)(HGDI_DC hdc, int nXEnd, int nYEnd);
|
||||
typedef BOOL (*p_LineTo)(HGDI_DC hdc, int nXEnd, int nYEnd);
|
||||
|
||||
#endif /* FREERDP_GDI_LINE_H */
|
||||
|
||||
@@ -37,13 +37,13 @@ FREERDP_API void gdi_RgnToRect(HGDI_RGN rgn, HGDI_RECT rect);
|
||||
FREERDP_API void gdi_CRgnToRect(int x, int y, int w, int h, HGDI_RECT rect);
|
||||
FREERDP_API void gdi_RgnToCRect(HGDI_RGN rgn, int *left, int *top, int *right, int *bottom);
|
||||
FREERDP_API void gdi_CRgnToCRect(int x, int y, int w, int h, int *left, int *top, int *right, int *bottom);
|
||||
FREERDP_API int gdi_CopyOverlap(int x, int y, int width, int height, int srcx, int srcy);
|
||||
FREERDP_API int gdi_SetRect(HGDI_RECT rc, int xLeft, int yTop, int xRight, int yBottom);
|
||||
FREERDP_API int gdi_SetRgn(HGDI_RGN hRgn, int nXLeft, int nYLeft, int nWidth, int nHeight);
|
||||
FREERDP_API int gdi_SetRectRgn(HGDI_RGN hRgn, int nLeftRect, int nTopRect, int nRightRect, int nBottomRect);
|
||||
FREERDP_API int gdi_EqualRgn(HGDI_RGN hSrcRgn1, HGDI_RGN hSrcRgn2);
|
||||
FREERDP_API int gdi_CopyRect(HGDI_RECT dst, HGDI_RECT src);
|
||||
FREERDP_API int gdi_PtInRect(HGDI_RECT rc, int x, int y);
|
||||
FREERDP_API BOOL gdi_CopyOverlap(int x, int y, int width, int height, int srcx, int srcy);
|
||||
FREERDP_API BOOL gdi_SetRect(HGDI_RECT rc, int xLeft, int yTop, int xRight, int yBottom);
|
||||
FREERDP_API BOOL gdi_SetRgn(HGDI_RGN hRgn, int nXLeft, int nYLeft, int nWidth, int nHeight);
|
||||
FREERDP_API BOOL gdi_SetRectRgn(HGDI_RGN hRgn, int nLeftRect, int nTopRect, int nRightRect, int nBottomRect);
|
||||
FREERDP_API BOOL gdi_EqualRgn(HGDI_RGN hSrcRgn1, HGDI_RGN hSrcRgn2);
|
||||
FREERDP_API BOOL gdi_CopyRect(HGDI_RECT dst, HGDI_RECT src);
|
||||
FREERDP_API BOOL gdi_PtInRect(HGDI_RECT rc, int x, int y);
|
||||
FREERDP_API BOOL gdi_InvalidateRegion(HGDI_DC hdc, int x, int y, int w, int h);
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
@@ -27,13 +27,13 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
FREERDP_API int gdi_Ellipse(HGDI_DC hdc, int nLeftRect, int nTopRect, int nRightRect, int nBottomRect);
|
||||
FREERDP_API int gdi_FillRect(HGDI_DC hdc, HGDI_RECT rect, HGDI_BRUSH hbr);
|
||||
FREERDP_API int gdi_Polygon(HGDI_DC hdc, GDI_POINT *lpPoints, int nCount);
|
||||
FREERDP_API int gdi_PolyPolygon(HGDI_DC hdc, GDI_POINT *lpPoints, int *lpPolyCounts, int nCount);
|
||||
FREERDP_API int gdi_Rectangle(HGDI_DC hdc, int nLeftRect, int nTopRect, int nRightRect, int nBottomRect);
|
||||
FREERDP_API BOOL gdi_Ellipse(HGDI_DC hdc, int nLeftRect, int nTopRect, int nRightRect, int nBottomRect);
|
||||
FREERDP_API BOOL gdi_FillRect(HGDI_DC hdc, HGDI_RECT rect, HGDI_BRUSH hbr);
|
||||
FREERDP_API BOOL gdi_Polygon(HGDI_DC hdc, GDI_POINT *lpPoints, int nCount);
|
||||
FREERDP_API BOOL gdi_PolyPolygon(HGDI_DC hdc, GDI_POINT *lpPoints, int *lpPolyCounts, int nCount);
|
||||
FREERDP_API BOOL gdi_Rectangle(HGDI_DC hdc, int nLeftRect, int nTopRect, int nRightRect, int nBottomRect);
|
||||
|
||||
typedef int (*p_FillRect)(HGDI_DC hdc, HGDI_RECT rect, HGDI_BRUSH hbr);
|
||||
typedef BOOL (*p_FillRect)(HGDI_DC hdc, HGDI_RECT rect, HGDI_BRUSH hbr);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
@@ -74,7 +74,7 @@ UINT16 gdi_get_color_16bpp(HGDI_DC hdc, GDI_COLOR color)
|
||||
return color16;
|
||||
}
|
||||
|
||||
int FillRect_16bpp(HGDI_DC hdc, HGDI_RECT rect, HGDI_BRUSH hbr)
|
||||
BOOL FillRect_16bpp(HGDI_DC hdc, HGDI_RECT rect, HGDI_BRUSH hbr)
|
||||
{
|
||||
int x, y;
|
||||
UINT16 *dstp;
|
||||
@@ -85,8 +85,8 @@ int FillRect_16bpp(HGDI_DC hdc, HGDI_RECT rect, HGDI_BRUSH hbr)
|
||||
|
||||
gdi_RectToCRgn(rect, &nXDest, &nYDest, &nWidth, &nHeight);
|
||||
|
||||
if (gdi_ClipCoords(hdc, &nXDest, &nYDest, &nWidth, &nHeight, NULL, NULL) == 0)
|
||||
return 1;
|
||||
if (!gdi_ClipCoords(hdc, &nXDest, &nYDest, &nWidth, &nHeight, NULL, NULL))
|
||||
return TRUE;
|
||||
|
||||
color16 = gdi_get_color_16bpp(hdc, hbr->color);
|
||||
|
||||
@@ -105,11 +105,12 @@ int FillRect_16bpp(HGDI_DC hdc, HGDI_RECT rect, HGDI_BRUSH hbr)
|
||||
}
|
||||
|
||||
if (!gdi_InvalidateRegion(hdc, nXDest, nYDest, nWidth, nHeight))
|
||||
return 0;
|
||||
return 1;
|
||||
return FALSE;
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int BitBlt_BLACKNESS_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight)
|
||||
static BOOL BitBlt_BLACKNESS_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight)
|
||||
{
|
||||
int y;
|
||||
BYTE* dstp;
|
||||
@@ -122,10 +123,10 @@ static int BitBlt_BLACKNESS_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int n
|
||||
memset(dstp, 0, nWidth * hdcDest->bytesPerPixel);
|
||||
}
|
||||
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int BitBlt_WHITENESS_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight)
|
||||
static BOOL BitBlt_WHITENESS_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight)
|
||||
{
|
||||
int y;
|
||||
BYTE* dstp;
|
||||
@@ -138,20 +139,20 @@ static int BitBlt_WHITENESS_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int n
|
||||
memset(dstp, 0xFF, nWidth * hdcDest->bytesPerPixel);
|
||||
}
|
||||
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int BitBlt_SRCCOPY_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
static BOOL BitBlt_SRCCOPY_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
{
|
||||
int y;
|
||||
BYTE* srcp;
|
||||
BYTE* dstp;
|
||||
|
||||
if (!hdcSrc || !hdcDest)
|
||||
return 0;
|
||||
return FALSE;
|
||||
|
||||
if ((hdcDest->selectedObject != hdcSrc->selectedObject) ||
|
||||
gdi_CopyOverlap(nXDest, nYDest, nWidth, nHeight, nXSrc, nYSrc) == 0)
|
||||
!gdi_CopyOverlap(nXDest, nYDest, nWidth, nHeight, nXSrc, nYSrc))
|
||||
{
|
||||
for (y = 0; y < nHeight; y++)
|
||||
{
|
||||
@@ -162,7 +163,7 @@ static int BitBlt_SRCCOPY_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWi
|
||||
memcpy(dstp, srcp, nWidth * hdcDest->bytesPerPixel);
|
||||
}
|
||||
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
if (nYSrc < nYDest)
|
||||
@@ -202,17 +203,17 @@ static int BitBlt_SRCCOPY_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWi
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int BitBlt_NOTSRCCOPY_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
static BOOL BitBlt_NOTSRCCOPY_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
{
|
||||
int x, y;
|
||||
UINT16* srcp;
|
||||
UINT16* dstp;
|
||||
|
||||
if (!hdcSrc || !hdcDest)
|
||||
return 0;
|
||||
return FALSE;
|
||||
|
||||
for (y = 0; y < nHeight; y++)
|
||||
{
|
||||
@@ -230,10 +231,10 @@ static int BitBlt_NOTSRCCOPY_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int BitBlt_DSTINVERT_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight)
|
||||
static BOOL BitBlt_DSTINVERT_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight)
|
||||
{
|
||||
int x, y;
|
||||
UINT16* dstp;
|
||||
@@ -252,17 +253,17 @@ static int BitBlt_DSTINVERT_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int n
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int BitBlt_SRCERASE_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
static BOOL BitBlt_SRCERASE_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
{
|
||||
int x, y;
|
||||
UINT16* srcp;
|
||||
UINT16* dstp;
|
||||
|
||||
if (!hdcSrc || !hdcDest)
|
||||
return 0;
|
||||
return FALSE;
|
||||
|
||||
for (y = 0; y < nHeight; y++)
|
||||
{
|
||||
@@ -280,17 +281,17 @@ static int BitBlt_SRCERASE_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nW
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int BitBlt_NOTSRCERASE_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
static BOOL BitBlt_NOTSRCERASE_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
{
|
||||
int x, y;
|
||||
UINT16* srcp;
|
||||
UINT16* dstp;
|
||||
|
||||
if (!hdcSrc || !hdcDest)
|
||||
return 0;
|
||||
return FALSE;
|
||||
|
||||
for (y = 0; y < nHeight; y++)
|
||||
{
|
||||
@@ -308,17 +309,17 @@ static int BitBlt_NOTSRCERASE_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int BitBlt_SRCINVERT_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
static BOOL BitBlt_SRCINVERT_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
{
|
||||
int x, y;
|
||||
UINT16* srcp;
|
||||
UINT16* dstp;
|
||||
|
||||
if (!hdcSrc || !hdcDest)
|
||||
return 0;
|
||||
return FALSE;
|
||||
|
||||
for (y = 0; y < nHeight; y++)
|
||||
{
|
||||
@@ -336,17 +337,17 @@ static int BitBlt_SRCINVERT_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int n
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int BitBlt_SRCAND_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
static BOOL BitBlt_SRCAND_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
{
|
||||
int x, y;
|
||||
UINT16* srcp;
|
||||
UINT16* dstp;
|
||||
|
||||
if (!hdcSrc || !hdcDest)
|
||||
return 0;
|
||||
return FALSE;
|
||||
|
||||
for (y = 0; y < nHeight; y++)
|
||||
{
|
||||
@@ -364,17 +365,17 @@ static int BitBlt_SRCAND_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWid
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int BitBlt_SRCPAINT_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
static BOOL BitBlt_SRCPAINT_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
{
|
||||
int x, y;
|
||||
UINT16* srcp;
|
||||
UINT16* dstp;
|
||||
|
||||
if (!hdcSrc || !hdcDest)
|
||||
return 0;
|
||||
return FALSE;
|
||||
|
||||
for (y = 0; y < nHeight; y++)
|
||||
{
|
||||
@@ -392,10 +393,10 @@ static int BitBlt_SRCPAINT_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nW
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int BitBlt_DSPDxax_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
static BOOL BitBlt_DSPDxax_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
{
|
||||
int x, y;
|
||||
BYTE* srcp;
|
||||
@@ -405,7 +406,7 @@ static int BitBlt_DSPDxax_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWi
|
||||
HGDI_BITMAP hSrcBmp;
|
||||
|
||||
if (!hdcDest || !hdcSrc)
|
||||
return 0;
|
||||
return FALSE;
|
||||
|
||||
/* D = (S & P) | (~S & D) */
|
||||
/* DSPDxax, used to draw glyphs */
|
||||
@@ -418,7 +419,7 @@ static int BitBlt_DSPDxax_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWi
|
||||
{
|
||||
WLog_ERR(TAG, "BitBlt_DSPDxax expects 1 bpp, unimplemented for %d",
|
||||
hdcSrc->bytesPerPixel);
|
||||
return 0;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
for (y = 0; y < nHeight; y++)
|
||||
@@ -438,10 +439,10 @@ static int BitBlt_DSPDxax_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWi
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int BitBlt_PSDPxax_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
static BOOL BitBlt_PSDPxax_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
{
|
||||
int x, y;
|
||||
UINT16* srcp;
|
||||
@@ -450,7 +451,7 @@ static int BitBlt_PSDPxax_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWi
|
||||
UINT16 color16;
|
||||
|
||||
if (!hdcSrc || !hdcDest)
|
||||
return 0;
|
||||
return FALSE;
|
||||
|
||||
/* D = (S & D) | (~S & P) */
|
||||
|
||||
@@ -495,10 +496,10 @@ static int BitBlt_PSDPxax_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWi
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int BitBlt_SPna_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
static BOOL BitBlt_SPna_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
{
|
||||
int x, y;
|
||||
UINT16* srcp;
|
||||
@@ -506,7 +507,7 @@ static int BitBlt_SPna_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth
|
||||
UINT16* patp;
|
||||
|
||||
if (!hdcSrc || !hdcDest)
|
||||
return 0;
|
||||
return FALSE;
|
||||
|
||||
for (y = 0; y < nHeight; y++)
|
||||
{
|
||||
@@ -525,10 +526,10 @@ static int BitBlt_SPna_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int BitBlt_DPa_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight)
|
||||
static BOOL BitBlt_DPa_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight)
|
||||
{
|
||||
int x, y;
|
||||
UINT16* dstp;
|
||||
@@ -550,10 +551,10 @@ static int BitBlt_DPa_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth,
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int BitBlt_PDxn_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight)
|
||||
static BOOL BitBlt_PDxn_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight)
|
||||
{
|
||||
int x, y;
|
||||
UINT16* dstp;
|
||||
@@ -574,17 +575,17 @@ static int BitBlt_PDxn_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int BitBlt_DSna_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
static BOOL BitBlt_DSna_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
{
|
||||
int x, y;
|
||||
UINT16* srcp;
|
||||
UINT16* dstp;
|
||||
|
||||
if (!hdcSrc || !hdcDest)
|
||||
return 0;
|
||||
return FALSE;
|
||||
|
||||
for (y = 0; y < nHeight; y++)
|
||||
{
|
||||
@@ -602,11 +603,11 @@ static int BitBlt_DSna_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
static int BitBlt_MERGECOPY_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
static BOOL BitBlt_MERGECOPY_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
{
|
||||
int x, y;
|
||||
UINT16* srcp;
|
||||
@@ -614,7 +615,7 @@ static int BitBlt_MERGECOPY_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int n
|
||||
UINT16* patp;
|
||||
|
||||
if (!hdcSrc || !hdcDest)
|
||||
return 0;
|
||||
return FALSE;
|
||||
|
||||
for (y = 0; y < nHeight; y++)
|
||||
{
|
||||
@@ -633,17 +634,17 @@ static int BitBlt_MERGECOPY_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int n
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int BitBlt_MERGEPAINT_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
static BOOL BitBlt_MERGEPAINT_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
{
|
||||
int x, y;
|
||||
UINT16* srcp;
|
||||
UINT16* dstp;
|
||||
|
||||
if (!hdcSrc || !hdcDest)
|
||||
return 0;
|
||||
return FALSE;
|
||||
|
||||
for (y = 0; y < nHeight; y++)
|
||||
{
|
||||
@@ -661,10 +662,10 @@ static int BitBlt_MERGEPAINT_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int BitBlt_PATCOPY_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight)
|
||||
static BOOL BitBlt_PATCOPY_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight)
|
||||
{
|
||||
int x, y, xOffset, yOffset;
|
||||
UINT16* dstp;
|
||||
@@ -720,10 +721,10 @@ static int BitBlt_PATCOPY_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWi
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int BitBlt_PATINVERT_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight)
|
||||
static BOOL BitBlt_PATINVERT_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight)
|
||||
{
|
||||
int x, y;
|
||||
UINT16* dstp;
|
||||
@@ -766,10 +767,10 @@ static int BitBlt_PATINVERT_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int n
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int BitBlt_PATPAINT_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
static BOOL BitBlt_PATPAINT_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
{
|
||||
int x, y;
|
||||
UINT16* srcp;
|
||||
@@ -777,7 +778,7 @@ static int BitBlt_PATPAINT_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nW
|
||||
UINT16* patp;
|
||||
|
||||
if (!hdcSrc || !hdcDest)
|
||||
return 0;
|
||||
return FALSE;
|
||||
|
||||
for (y = 0; y < nHeight; y++)
|
||||
{
|
||||
@@ -796,27 +797,27 @@ static int BitBlt_PATPAINT_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nW
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
int BitBlt_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc, int rop)
|
||||
BOOL BitBlt_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc, DWORD rop)
|
||||
{
|
||||
if (!hdcDest)
|
||||
return 0;
|
||||
return FALSE;
|
||||
|
||||
if (hdcSrc != NULL)
|
||||
{
|
||||
if (gdi_ClipCoords(hdcDest, &nXDest, &nYDest, &nWidth, &nHeight, &nXSrc, &nYSrc) == 0)
|
||||
return 1;
|
||||
if (!gdi_ClipCoords(hdcDest, &nXDest, &nYDest, &nWidth, &nHeight, &nXSrc, &nYSrc))
|
||||
return TRUE;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (gdi_ClipCoords(hdcDest, &nXDest, &nYDest, &nWidth, &nHeight, NULL, NULL) == 0)
|
||||
return 1;
|
||||
if (!gdi_ClipCoords(hdcDest, &nXDest, &nYDest, &nWidth, &nHeight, NULL, NULL))
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
if (!gdi_InvalidateRegion(hdcDest, nXDest, nYDest, nWidth, nHeight))
|
||||
return 0;
|
||||
return FALSE;
|
||||
|
||||
switch (rop)
|
||||
{
|
||||
@@ -879,16 +880,16 @@ int BitBlt_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeigh
|
||||
}
|
||||
|
||||
WLog_ERR(TAG, "BitBlt: unknown rop: 0x%08X", rop);
|
||||
return 1;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
int PatBlt_16bpp(HGDI_DC hdc, int nXLeft, int nYLeft, int nWidth, int nHeight, int rop)
|
||||
BOOL PatBlt_16bpp(HGDI_DC hdc, int nXLeft, int nYLeft, int nWidth, int nHeight, DWORD rop)
|
||||
{
|
||||
if (gdi_ClipCoords(hdc, &nXLeft, &nYLeft, &nWidth, &nHeight, NULL, NULL) == 0)
|
||||
return 1;
|
||||
if (!gdi_ClipCoords(hdc, &nXLeft, &nYLeft, &nWidth, &nHeight, NULL, NULL))
|
||||
return TRUE;
|
||||
|
||||
if (!gdi_InvalidateRegion(hdc, nXLeft, nYLeft, nWidth, nHeight))
|
||||
return 0;
|
||||
return FALSE;
|
||||
|
||||
switch (rop)
|
||||
{
|
||||
@@ -918,7 +919,7 @@ int PatBlt_16bpp(HGDI_DC hdc, int nXLeft, int nYLeft, int nWidth, int nHeight, i
|
||||
}
|
||||
|
||||
WLog_ERR(TAG, "PatBlt: unknown rop: 0x%08X", rop);
|
||||
return 1;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static INLINE void SetPixel_BLACK_16bpp(UINT16 *pixel, UINT16 *pen)
|
||||
@@ -1140,15 +1141,15 @@ pLineTo_16bpp LineTo_ROP2_16bpp[32] =
|
||||
LineTo_WHITE_16bpp
|
||||
};
|
||||
|
||||
int LineTo_16bpp(HGDI_DC hdc, int nXEnd, int nYEnd)
|
||||
BOOL LineTo_16bpp(HGDI_DC hdc, int nXEnd, int nYEnd)
|
||||
{
|
||||
pLineTo_16bpp _LineTo;
|
||||
int rop2 = gdi_GetROP2(hdc) - 1;
|
||||
|
||||
_LineTo = LineTo_ROP2_16bpp[rop2];
|
||||
|
||||
if (_LineTo != NULL)
|
||||
return _LineTo(hdc, nXEnd, nYEnd);
|
||||
else
|
||||
return 0;
|
||||
if (_LineTo == NULL)
|
||||
return FALSE;
|
||||
|
||||
return _LineTo(hdc, nXEnd, nYEnd);
|
||||
}
|
||||
|
||||
@@ -61,7 +61,7 @@ UINT32 gdi_get_color_32bpp(HGDI_DC hdc, GDI_COLOR color)
|
||||
return color32;
|
||||
}
|
||||
|
||||
int FillRect_32bpp(HGDI_DC hdc, HGDI_RECT rect, HGDI_BRUSH hbr)
|
||||
BOOL FillRect_32bpp(HGDI_DC hdc, HGDI_RECT rect, HGDI_BRUSH hbr)
|
||||
{
|
||||
int x, y;
|
||||
UINT32 *dstp;
|
||||
@@ -71,8 +71,8 @@ int FillRect_32bpp(HGDI_DC hdc, HGDI_RECT rect, HGDI_BRUSH hbr)
|
||||
|
||||
gdi_RectToCRgn(rect, &nXDest, &nYDest, &nWidth, &nHeight);
|
||||
|
||||
if (gdi_ClipCoords(hdc, &nXDest, &nYDest, &nWidth, &nHeight, NULL, NULL) == 0)
|
||||
return 1;
|
||||
if (!gdi_ClipCoords(hdc, &nXDest, &nYDest, &nWidth, &nHeight, NULL, NULL))
|
||||
return TRUE;
|
||||
|
||||
color32 = gdi_get_color_32bpp(hdc, hbr->color);
|
||||
|
||||
@@ -91,11 +91,12 @@ int FillRect_32bpp(HGDI_DC hdc, HGDI_RECT rect, HGDI_BRUSH hbr)
|
||||
}
|
||||
|
||||
if (!gdi_InvalidateRegion(hdc, nXDest, nYDest, nWidth, nHeight))
|
||||
return 0;
|
||||
return 1;
|
||||
return FALSE;
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int BitBlt_BLACKNESS_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight)
|
||||
static BOOL BitBlt_BLACKNESS_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight)
|
||||
{
|
||||
if (hdcDest->alpha)
|
||||
{
|
||||
@@ -139,10 +140,10 @@ static int BitBlt_BLACKNESS_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int n
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int BitBlt_WHITENESS_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight)
|
||||
static BOOL BitBlt_WHITENESS_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight)
|
||||
{
|
||||
int y;
|
||||
BYTE* dstp;
|
||||
@@ -155,20 +156,20 @@ static int BitBlt_WHITENESS_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int n
|
||||
memset(dstp, 0xFF, nWidth * hdcDest->bytesPerPixel);
|
||||
}
|
||||
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int BitBlt_SRCCOPY_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
static BOOL BitBlt_SRCCOPY_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
{
|
||||
int y;
|
||||
BYTE* srcp;
|
||||
BYTE* dstp;
|
||||
|
||||
if (!hdcDest || !hdcSrc)
|
||||
return 0;
|
||||
return FALSE;
|
||||
|
||||
if ((hdcDest->selectedObject != hdcSrc->selectedObject) ||
|
||||
gdi_CopyOverlap(nXDest, nYDest, nWidth, nHeight, nXSrc, nYSrc) == 0)
|
||||
!gdi_CopyOverlap(nXDest, nYDest, nWidth, nHeight, nXSrc, nYSrc))
|
||||
{
|
||||
for (y = 0; y < nHeight; y++)
|
||||
{
|
||||
@@ -179,7 +180,7 @@ static int BitBlt_SRCCOPY_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWi
|
||||
memmove(dstp, srcp, nWidth * hdcDest->bytesPerPixel);
|
||||
}
|
||||
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
if (nYSrc < nYDest)
|
||||
@@ -219,17 +220,17 @@ static int BitBlt_SRCCOPY_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWi
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int BitBlt_NOTSRCCOPY_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
static BOOL BitBlt_NOTSRCCOPY_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
{
|
||||
int x, y;
|
||||
UINT32* srcp;
|
||||
UINT32* dstp;
|
||||
|
||||
if (!hdcDest || !hdcSrc)
|
||||
return 0;
|
||||
return FALSE;
|
||||
|
||||
for (y = 0; y < nHeight; y++)
|
||||
{
|
||||
@@ -247,10 +248,10 @@ static int BitBlt_NOTSRCCOPY_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int BitBlt_DSTINVERT_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight)
|
||||
static BOOL BitBlt_DSTINVERT_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight)
|
||||
{
|
||||
int x, y;
|
||||
UINT32* dstp;
|
||||
@@ -269,17 +270,17 @@ static int BitBlt_DSTINVERT_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int n
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int BitBlt_SRCERASE_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
static BOOL BitBlt_SRCERASE_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
{
|
||||
int x, y;
|
||||
UINT32* srcp;
|
||||
UINT32* dstp;
|
||||
|
||||
if (!hdcDest || !hdcSrc)
|
||||
return 0;
|
||||
return FALSE;
|
||||
|
||||
for (y = 0; y < nHeight; y++)
|
||||
{
|
||||
@@ -297,17 +298,17 @@ static int BitBlt_SRCERASE_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nW
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int BitBlt_NOTSRCERASE_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
static BOOL BitBlt_NOTSRCERASE_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
{
|
||||
int x, y;
|
||||
UINT32* srcp;
|
||||
UINT32* dstp;
|
||||
|
||||
if (!hdcDest || !hdcSrc)
|
||||
return 0;
|
||||
return FALSE;
|
||||
|
||||
for (y = 0; y < nHeight; y++)
|
||||
{
|
||||
@@ -325,17 +326,17 @@ static int BitBlt_NOTSRCERASE_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int BitBlt_SRCINVERT_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
static BOOL BitBlt_SRCINVERT_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
{
|
||||
int x, y;
|
||||
UINT32* srcp;
|
||||
UINT32* dstp;
|
||||
|
||||
if (!hdcDest || !hdcSrc)
|
||||
return 0;
|
||||
return FALSE;
|
||||
|
||||
for (y = 0; y < nHeight; y++)
|
||||
{
|
||||
@@ -353,17 +354,17 @@ static int BitBlt_SRCINVERT_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int n
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int BitBlt_SRCAND_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
static BOOL BitBlt_SRCAND_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
{
|
||||
int x, y;
|
||||
UINT32* srcp;
|
||||
UINT32* dstp;
|
||||
|
||||
if (!hdcDest || !hdcSrc)
|
||||
return 0;
|
||||
return FALSE;
|
||||
|
||||
for (y = 0; y < nHeight; y++)
|
||||
{
|
||||
@@ -381,17 +382,17 @@ static int BitBlt_SRCAND_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWid
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int BitBlt_SRCPAINT_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
static BOOL BitBlt_SRCPAINT_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
{
|
||||
int x, y;
|
||||
UINT32* srcp;
|
||||
UINT32* dstp;
|
||||
|
||||
if (!hdcDest || !hdcSrc)
|
||||
return 0;
|
||||
return FALSE;
|
||||
|
||||
for (y = 0; y < nHeight; y++)
|
||||
{
|
||||
@@ -409,10 +410,10 @@ static int BitBlt_SRCPAINT_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nW
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int BitBlt_DSPDxax_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
static BOOL BitBlt_DSPDxax_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
{
|
||||
int x, y;
|
||||
UINT32* srcp;
|
||||
@@ -424,7 +425,7 @@ static int BitBlt_DSPDxax_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWi
|
||||
HGDI_BITMAP hSrcBmp;
|
||||
|
||||
if (!hdcDest || !hdcSrc)
|
||||
return 0;
|
||||
return FALSE;
|
||||
|
||||
/* D = (S & P) | (~S & D) */
|
||||
|
||||
@@ -477,10 +478,10 @@ static int BitBlt_DSPDxax_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWi
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int BitBlt_PSDPxax_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
static BOOL BitBlt_PSDPxax_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
{
|
||||
int x, y;
|
||||
UINT32* srcp;
|
||||
@@ -489,7 +490,7 @@ static int BitBlt_PSDPxax_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWi
|
||||
UINT32 color32;
|
||||
|
||||
if (!hdcDest || !hdcSrc)
|
||||
return 0;
|
||||
return FALSE;
|
||||
|
||||
/* D = (S & D) | (~S & P) */
|
||||
|
||||
@@ -534,10 +535,10 @@ static int BitBlt_PSDPxax_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWi
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int BitBlt_SPDSxax_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
static BOOL BitBlt_SPDSxax_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
{
|
||||
int x, y;
|
||||
UINT32* srcp;
|
||||
@@ -546,7 +547,7 @@ static int BitBlt_SPDSxax_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWi
|
||||
UINT32 color32;
|
||||
|
||||
if (!hdcDest || !hdcSrc)
|
||||
return 0;
|
||||
return FALSE;
|
||||
|
||||
/* D = S ^ (P & (D ^ S)) */
|
||||
|
||||
@@ -591,10 +592,10 @@ static int BitBlt_SPDSxax_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWi
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int BitBlt_SPna_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
static BOOL BitBlt_SPna_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
{
|
||||
int x, y;
|
||||
UINT32* srcp;
|
||||
@@ -602,7 +603,7 @@ static int BitBlt_SPna_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth
|
||||
UINT32* patp;
|
||||
|
||||
if (!hdcDest || !hdcSrc)
|
||||
return 0;
|
||||
return FALSE;
|
||||
|
||||
for (y = 0; y < nHeight; y++)
|
||||
{
|
||||
@@ -622,17 +623,17 @@ static int BitBlt_SPna_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int BitBlt_DSna_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
static BOOL BitBlt_DSna_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
{
|
||||
int x, y;
|
||||
UINT32* srcp;
|
||||
UINT32* dstp;
|
||||
|
||||
if (!hdcDest || !hdcSrc)
|
||||
return 0;
|
||||
return FALSE;
|
||||
|
||||
for (y = 0; y < nHeight; y++)
|
||||
{
|
||||
@@ -650,10 +651,10 @@ static int BitBlt_DSna_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int BitBlt_DPa_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight)
|
||||
static BOOL BitBlt_DPa_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight)
|
||||
{
|
||||
int x, y;
|
||||
UINT32* dstp;
|
||||
@@ -675,10 +676,10 @@ static int BitBlt_DPa_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth,
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int BitBlt_PDxn_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight)
|
||||
static BOOL BitBlt_PDxn_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight)
|
||||
{
|
||||
int x, y;
|
||||
UINT32* dstp;
|
||||
@@ -700,10 +701,10 @@ static int BitBlt_PDxn_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int BitBlt_MERGECOPY_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
static BOOL BitBlt_MERGECOPY_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
{
|
||||
int x, y;
|
||||
UINT32* srcp;
|
||||
@@ -711,7 +712,7 @@ static int BitBlt_MERGECOPY_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int n
|
||||
UINT32* patp;
|
||||
|
||||
if (!hdcDest || !hdcSrc)
|
||||
return 0;
|
||||
return FALSE;
|
||||
|
||||
for (y = 0; y < nHeight; y++)
|
||||
{
|
||||
@@ -731,17 +732,17 @@ static int BitBlt_MERGECOPY_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int n
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int BitBlt_MERGEPAINT_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
static BOOL BitBlt_MERGEPAINT_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
{
|
||||
int x, y;
|
||||
UINT32* srcp;
|
||||
UINT32* dstp;
|
||||
|
||||
if (!hdcDest || !hdcSrc)
|
||||
return 0;
|
||||
return FALSE;
|
||||
|
||||
for (y = 0; y < nHeight; y++)
|
||||
{
|
||||
@@ -759,10 +760,10 @@ static int BitBlt_MERGEPAINT_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int BitBlt_PATCOPY_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight)
|
||||
static BOOL BitBlt_PATCOPY_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight)
|
||||
{
|
||||
int x, y, xOffset, yOffset;
|
||||
UINT32* dstp;
|
||||
@@ -818,10 +819,10 @@ static int BitBlt_PATCOPY_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWi
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int BitBlt_PATINVERT_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight)
|
||||
static BOOL BitBlt_PATINVERT_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight)
|
||||
{
|
||||
int x, y;
|
||||
UINT32* dstp;
|
||||
@@ -864,10 +865,10 @@ static int BitBlt_PATINVERT_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int n
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int BitBlt_PATPAINT_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
static BOOL BitBlt_PATPAINT_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
{
|
||||
int x, y;
|
||||
UINT32* srcp;
|
||||
@@ -875,7 +876,7 @@ static int BitBlt_PATPAINT_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nW
|
||||
UINT32* patp;
|
||||
|
||||
if (!hdcDest || !hdcSrc)
|
||||
return 0;
|
||||
return FALSE;
|
||||
|
||||
for (y = 0; y < nHeight; y++)
|
||||
{
|
||||
@@ -894,27 +895,27 @@ static int BitBlt_PATPAINT_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nW
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
int BitBlt_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc, int rop)
|
||||
BOOL BitBlt_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc, DWORD rop)
|
||||
{
|
||||
if (!hdcDest)
|
||||
return 0;
|
||||
return FALSE;
|
||||
|
||||
if (hdcSrc != NULL)
|
||||
{
|
||||
if (gdi_ClipCoords(hdcDest, &nXDest, &nYDest, &nWidth, &nHeight, &nXSrc, &nYSrc) == 0)
|
||||
return 1;
|
||||
if (!gdi_ClipCoords(hdcDest, &nXDest, &nYDest, &nWidth, &nHeight, &nXSrc, &nYSrc))
|
||||
return TRUE;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (gdi_ClipCoords(hdcDest, &nXDest, &nYDest, &nWidth, &nHeight, NULL, NULL) == 0)
|
||||
return 1;
|
||||
if (!gdi_ClipCoords(hdcDest, &nXDest, &nYDest, &nWidth, &nHeight, NULL, NULL))
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
if (!gdi_InvalidateRegion(hdcDest, nXDest, nYDest, nWidth, nHeight))
|
||||
return 0;
|
||||
return FALSE;
|
||||
|
||||
switch (rop)
|
||||
{
|
||||
@@ -980,16 +981,16 @@ int BitBlt_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeigh
|
||||
}
|
||||
|
||||
WLog_ERR(TAG, "BitBlt: unknown rop: 0x%08X", rop);
|
||||
return 1;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
int PatBlt_32bpp(HGDI_DC hdc, int nXLeft, int nYLeft, int nWidth, int nHeight, int rop)
|
||||
BOOL PatBlt_32bpp(HGDI_DC hdc, int nXLeft, int nYLeft, int nWidth, int nHeight, DWORD rop)
|
||||
{
|
||||
if (gdi_ClipCoords(hdc, &nXLeft, &nYLeft, &nWidth, &nHeight, NULL, NULL) == 0)
|
||||
return 1;
|
||||
if (!gdi_ClipCoords(hdc, &nXLeft, &nYLeft, &nWidth, &nHeight, NULL, NULL))
|
||||
return TRUE;
|
||||
|
||||
if (!gdi_InvalidateRegion(hdc, nXLeft, nYLeft, nWidth, nHeight))
|
||||
return 0;
|
||||
return FALSE;
|
||||
|
||||
switch (rop)
|
||||
{
|
||||
@@ -1019,7 +1020,7 @@ int PatBlt_32bpp(HGDI_DC hdc, int nXLeft, int nYLeft, int nWidth, int nHeight, i
|
||||
}
|
||||
|
||||
WLog_ERR(TAG, "PatBlt: unknown rop: 0x%08X", rop);
|
||||
return 1;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static INLINE void SetPixel_BLACK_32bpp(UINT32* pixel, UINT32* pen)
|
||||
@@ -1241,15 +1242,15 @@ pLineTo_32bpp LineTo_ROP2_32bpp[32] =
|
||||
LineTo_WHITE_32bpp
|
||||
};
|
||||
|
||||
int LineTo_32bpp(HGDI_DC hdc, int nXEnd, int nYEnd)
|
||||
BOOL LineTo_32bpp(HGDI_DC hdc, int nXEnd, int nYEnd)
|
||||
{
|
||||
pLineTo_32bpp _LineTo;
|
||||
int rop2 = gdi_GetROP2(hdc) - 1;
|
||||
|
||||
_LineTo = LineTo_ROP2_32bpp[rop2];
|
||||
|
||||
if (_LineTo != NULL)
|
||||
return _LineTo(hdc, nXEnd, nYEnd);
|
||||
else
|
||||
return 0;
|
||||
if (_LineTo == NULL)
|
||||
return FALSE;
|
||||
|
||||
return _LineTo(hdc, nXEnd, nYEnd);
|
||||
}
|
||||
|
||||
@@ -44,16 +44,18 @@
|
||||
BYTE gdi_get_color_8bpp(HGDI_DC hdc, GDI_COLOR color)
|
||||
{
|
||||
/* TODO: Implement 8bpp gdi_get_color_8bpp() */
|
||||
WLog_ERR(TAG, "%s: not implemented", __FUNCTION__);
|
||||
return 1;
|
||||
}
|
||||
|
||||
int FillRect_8bpp(HGDI_DC hdc, HGDI_RECT rect, HGDI_BRUSH hbr)
|
||||
BOOL FillRect_8bpp(HGDI_DC hdc, HGDI_RECT rect, HGDI_BRUSH hbr)
|
||||
{
|
||||
/* TODO: Implement 8bpp FillRect() */
|
||||
return 1;
|
||||
WLog_ERR(TAG, "%s: not implemented", __FUNCTION__);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int BitBlt_BLACKNESS_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight)
|
||||
static BOOL BitBlt_BLACKNESS_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight)
|
||||
{
|
||||
int y;
|
||||
BYTE* dstp;
|
||||
@@ -66,10 +68,10 @@ static int BitBlt_BLACKNESS_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nW
|
||||
memset(dstp, 0, nWidth * hdcDest->bytesPerPixel);
|
||||
}
|
||||
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int BitBlt_WHITENESS_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight)
|
||||
static BOOL BitBlt_WHITENESS_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight)
|
||||
{
|
||||
int y;
|
||||
BYTE* dstp;
|
||||
@@ -82,20 +84,20 @@ static int BitBlt_WHITENESS_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nW
|
||||
memset(dstp, 0xFF, nWidth * hdcDest->bytesPerPixel);
|
||||
}
|
||||
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int BitBlt_SRCCOPY_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
static BOOL BitBlt_SRCCOPY_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
{
|
||||
int y;
|
||||
BYTE* srcp;
|
||||
BYTE* dstp;
|
||||
|
||||
if (!hdcSrc || !hdcDest)
|
||||
return 0;
|
||||
return FALSE;
|
||||
|
||||
if ((hdcDest->selectedObject != hdcSrc->selectedObject) ||
|
||||
gdi_CopyOverlap(nXDest, nYDest, nWidth, nHeight, nXSrc, nYSrc) == 0)
|
||||
!gdi_CopyOverlap(nXDest, nYDest, nWidth, nHeight, nXSrc, nYSrc))
|
||||
{
|
||||
for (y = 0; y < nHeight; y++)
|
||||
{
|
||||
@@ -106,7 +108,7 @@ static int BitBlt_SRCCOPY_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWid
|
||||
memcpy(dstp, srcp, nWidth * hdcDest->bytesPerPixel);
|
||||
}
|
||||
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
if (nYSrc < nYDest)
|
||||
@@ -146,17 +148,17 @@ static int BitBlt_SRCCOPY_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWid
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int BitBlt_NOTSRCCOPY_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
static BOOL BitBlt_NOTSRCCOPY_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
{
|
||||
int x, y;
|
||||
BYTE* srcp;
|
||||
BYTE* dstp;
|
||||
|
||||
if (!hdcSrc || !hdcDest)
|
||||
return 0;
|
||||
return FALSE;
|
||||
|
||||
for (y = 0; y < nHeight; y++)
|
||||
{
|
||||
@@ -174,10 +176,10 @@ static int BitBlt_NOTSRCCOPY_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int n
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int BitBlt_DSTINVERT_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight)
|
||||
static BOOL BitBlt_DSTINVERT_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight)
|
||||
{
|
||||
int x, y;
|
||||
BYTE* dstp;
|
||||
@@ -196,17 +198,17 @@ static int BitBlt_DSTINVERT_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nW
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int BitBlt_SRCERASE_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
static BOOL BitBlt_SRCERASE_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
{
|
||||
int x, y;
|
||||
BYTE* srcp;
|
||||
BYTE* dstp;
|
||||
|
||||
if (!hdcSrc || !hdcDest)
|
||||
return 0;
|
||||
return FALSE;
|
||||
|
||||
for (y = 0; y < nHeight; y++)
|
||||
{
|
||||
@@ -224,17 +226,17 @@ static int BitBlt_SRCERASE_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWi
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int BitBlt_NOTSRCERASE_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
static BOOL BitBlt_NOTSRCERASE_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
{
|
||||
int x, y;
|
||||
BYTE* srcp;
|
||||
BYTE* dstp;
|
||||
|
||||
if (!hdcSrc || !hdcDest)
|
||||
return 0;
|
||||
return FALSE;
|
||||
|
||||
for (y = 0; y < nHeight; y++)
|
||||
{
|
||||
@@ -252,17 +254,17 @@ static int BitBlt_NOTSRCERASE_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int BitBlt_SRCINVERT_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
static BOOL BitBlt_SRCINVERT_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
{
|
||||
int x, y;
|
||||
BYTE* srcp;
|
||||
BYTE* dstp;
|
||||
|
||||
if (!hdcSrc || !hdcDest)
|
||||
return 0;
|
||||
return FALSE;
|
||||
|
||||
for (y = 0; y < nHeight; y++)
|
||||
{
|
||||
@@ -280,17 +282,17 @@ static int BitBlt_SRCINVERT_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nW
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int BitBlt_SRCAND_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
static BOOL BitBlt_SRCAND_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
{
|
||||
int x, y;
|
||||
BYTE* srcp;
|
||||
BYTE* dstp;
|
||||
|
||||
if (!hdcSrc || !hdcDest)
|
||||
return 0;
|
||||
return FALSE;
|
||||
|
||||
for (y = 0; y < nHeight; y++)
|
||||
{
|
||||
@@ -308,17 +310,17 @@ static int BitBlt_SRCAND_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidt
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int BitBlt_SRCPAINT_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
static BOOL BitBlt_SRCPAINT_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
{
|
||||
int x, y;
|
||||
BYTE* srcp;
|
||||
BYTE* dstp;
|
||||
|
||||
if (!hdcSrc || !hdcDest)
|
||||
return 0;
|
||||
return FALSE;
|
||||
|
||||
for (y = 0; y < nHeight; y++)
|
||||
{
|
||||
@@ -336,19 +338,20 @@ static int BitBlt_SRCPAINT_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWi
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int BitBlt_DSPDxax_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
static BOOL BitBlt_DSPDxax_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
{
|
||||
if (!hdcSrc || !hdcDest)
|
||||
return 0;
|
||||
return FALSE;
|
||||
|
||||
/* TODO: Implement 8bpp DSPDxax BitBlt */
|
||||
return 1;
|
||||
WLog_ERR(TAG, "%s: not implemented", __FUNCTION__);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int BitBlt_PSDPxax_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
static BOOL BitBlt_PSDPxax_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
{
|
||||
int x, y;
|
||||
BYTE* srcp;
|
||||
@@ -357,7 +360,7 @@ static int BitBlt_PSDPxax_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWid
|
||||
BYTE color8;
|
||||
|
||||
if (!hdcSrc || !hdcDest)
|
||||
return 0;
|
||||
return FALSE;
|
||||
|
||||
/* D = (S & D) | (~S & P) */
|
||||
|
||||
@@ -402,10 +405,10 @@ static int BitBlt_PSDPxax_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWid
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int BitBlt_SPna_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
static BOOL BitBlt_SPna_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
{
|
||||
int x, y;
|
||||
BYTE* srcp;
|
||||
@@ -413,7 +416,7 @@ static int BitBlt_SPna_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth,
|
||||
BYTE* patp;
|
||||
|
||||
if (!hdcSrc || !hdcDest)
|
||||
return 0;
|
||||
return FALSE;
|
||||
|
||||
for (y = 0; y < nHeight; y++)
|
||||
{
|
||||
@@ -434,10 +437,10 @@ static int BitBlt_SPna_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth,
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int BitBlt_DPa_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight)
|
||||
static BOOL BitBlt_DPa_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight)
|
||||
{
|
||||
int x, y;
|
||||
BYTE* dstp;
|
||||
@@ -459,10 +462,10 @@ static int BitBlt_DPa_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth,
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int BitBlt_PDxn_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight)
|
||||
static BOOL BitBlt_PDxn_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight)
|
||||
{
|
||||
int x, y;
|
||||
BYTE* dstp;
|
||||
@@ -485,17 +488,17 @@ static int BitBlt_PDxn_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth,
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int BitBlt_DSna_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
static BOOL BitBlt_DSna_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
{
|
||||
int x, y;
|
||||
BYTE* srcp;
|
||||
BYTE* dstp;
|
||||
|
||||
if (!hdcSrc || !hdcDest)
|
||||
return 0;
|
||||
return FALSE;
|
||||
|
||||
for (y = 0; y < nHeight; y++)
|
||||
{
|
||||
@@ -513,10 +516,10 @@ static int BitBlt_DSna_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth,
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int BitBlt_MERGECOPY_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
static BOOL BitBlt_MERGECOPY_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
{
|
||||
int x, y;
|
||||
BYTE* srcp;
|
||||
@@ -524,7 +527,7 @@ static int BitBlt_MERGECOPY_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nW
|
||||
BYTE* patp;
|
||||
|
||||
if (!hdcSrc || !hdcDest)
|
||||
return 0;
|
||||
return FALSE;
|
||||
|
||||
for (y = 0; y < nHeight; y++)
|
||||
{
|
||||
@@ -545,17 +548,17 @@ static int BitBlt_MERGECOPY_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nW
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int BitBlt_MERGEPAINT_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
static BOOL BitBlt_MERGEPAINT_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
{
|
||||
int x, y;
|
||||
BYTE* srcp;
|
||||
BYTE* dstp;
|
||||
|
||||
if (!hdcSrc || !hdcDest)
|
||||
return 0;
|
||||
return FALSE;
|
||||
|
||||
for (y = 0; y < nHeight; y++)
|
||||
{
|
||||
@@ -573,10 +576,10 @@ static int BitBlt_MERGEPAINT_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int n
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int BitBlt_PATCOPY_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight)
|
||||
static BOOL BitBlt_PATCOPY_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight)
|
||||
{
|
||||
int x, y, xOffset, yOffset;
|
||||
BYTE* dstp;
|
||||
@@ -632,10 +635,10 @@ static int BitBlt_PATCOPY_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWid
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int BitBlt_PATINVERT_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight)
|
||||
static BOOL BitBlt_PATINVERT_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight)
|
||||
{
|
||||
int x, y;
|
||||
BYTE* dstp;
|
||||
@@ -678,10 +681,10 @@ static int BitBlt_PATINVERT_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nW
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int BitBlt_PATPAINT_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
static BOOL BitBlt_PATPAINT_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||
{
|
||||
int x, y;
|
||||
BYTE* srcp;
|
||||
@@ -689,7 +692,7 @@ static int BitBlt_PATPAINT_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWi
|
||||
BYTE* patp;
|
||||
|
||||
if (!hdcSrc || !hdcDest)
|
||||
return 0;
|
||||
return FALSE;
|
||||
|
||||
for (y = 0; y < nHeight; y++)
|
||||
{
|
||||
@@ -710,27 +713,27 @@ static int BitBlt_PATPAINT_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWi
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
int BitBlt_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc, int rop)
|
||||
BOOL BitBlt_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc, DWORD rop)
|
||||
{
|
||||
if (!hdcDest)
|
||||
return 0;
|
||||
return FALSE;
|
||||
|
||||
if (hdcSrc != NULL)
|
||||
{
|
||||
if (gdi_ClipCoords(hdcDest, &nXDest, &nYDest, &nWidth, &nHeight, &nXSrc, &nYSrc) == 0)
|
||||
return 1;
|
||||
if (!gdi_ClipCoords(hdcDest, &nXDest, &nYDest, &nWidth, &nHeight, &nXSrc, &nYSrc))
|
||||
return TRUE;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (gdi_ClipCoords(hdcDest, &nXDest, &nYDest, &nWidth, &nHeight, NULL, NULL) == 0)
|
||||
return 1;
|
||||
if (!gdi_ClipCoords(hdcDest, &nXDest, &nYDest, &nWidth, &nHeight, NULL, NULL))
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
if (!gdi_InvalidateRegion(hdcDest, nXDest, nYDest, nWidth, nHeight))
|
||||
return 0;
|
||||
return FALSE;
|
||||
|
||||
switch (rop)
|
||||
{
|
||||
@@ -793,16 +796,16 @@ int BitBlt_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight
|
||||
}
|
||||
|
||||
WLog_ERR(TAG, "BitBlt: unknown rop: 0x%08X", rop);
|
||||
return 1;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
int PatBlt_8bpp(HGDI_DC hdc, int nXLeft, int nYLeft, int nWidth, int nHeight, int rop)
|
||||
BOOL PatBlt_8bpp(HGDI_DC hdc, int nXLeft, int nYLeft, int nWidth, int nHeight, DWORD rop)
|
||||
{
|
||||
if (gdi_ClipCoords(hdc, &nXLeft, &nYLeft, &nWidth, &nHeight, NULL, NULL) == 0)
|
||||
return 1;
|
||||
if (!gdi_ClipCoords(hdc, &nXLeft, &nYLeft, &nWidth, &nHeight, NULL, NULL))
|
||||
return TRUE;
|
||||
|
||||
if (!gdi_InvalidateRegion(hdc, nXLeft, nYLeft, nWidth, nHeight))
|
||||
return 0;
|
||||
return FALSE;
|
||||
|
||||
switch (rop)
|
||||
{
|
||||
@@ -1054,15 +1057,15 @@ pLineTo_8bpp LineTo_ROP2_8bpp[32] =
|
||||
LineTo_WHITE_8bpp
|
||||
};
|
||||
|
||||
int LineTo_8bpp(HGDI_DC hdc, int nXEnd, int nYEnd)
|
||||
BOOL LineTo_8bpp(HGDI_DC hdc, int nXEnd, int nYEnd)
|
||||
{
|
||||
pLineTo_8bpp _LineTo;
|
||||
int rop2 = gdi_GetROP2(hdc) - 1;
|
||||
|
||||
_LineTo = LineTo_ROP2_8bpp[rop2];
|
||||
|
||||
if (_LineTo != NULL)
|
||||
return _LineTo(hdc, nXEnd, nYEnd);
|
||||
else
|
||||
return 0;
|
||||
if (_LineTo == NULL)
|
||||
return FALSE;
|
||||
|
||||
return _LineTo(hdc, nXEnd, nYEnd);
|
||||
}
|
||||
|
||||
@@ -198,12 +198,12 @@ HGDI_BITMAP gdi_CreateCompatibleBitmap(HGDI_DC hdc, int nWidth, int nHeight)
|
||||
* @return 0 on failure, non-zero otherwise
|
||||
*/
|
||||
|
||||
int gdi_BitBlt(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc, int rop)
|
||||
BOOL gdi_BitBlt(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc, DWORD rop)
|
||||
{
|
||||
p_BitBlt _BitBlt = BitBlt_[IBPP(hdcDest->bitsPerPixel)];
|
||||
|
||||
if (_BitBlt != NULL)
|
||||
return _BitBlt(hdcDest, nXDest, nYDest, nWidth, nHeight, hdcSrc, nXSrc, nYSrc, rop);
|
||||
else
|
||||
return 0;
|
||||
if (_BitBlt == NULL)
|
||||
return FALSE;
|
||||
|
||||
return _BitBlt(hdcDest, nXDest, nYDest, nWidth, nHeight, hdcSrc, nXSrc, nYSrc, rop);
|
||||
}
|
||||
|
||||
@@ -100,15 +100,15 @@ HGDI_BRUSH gdi_CreateHatchBrush(HGDI_BITMAP hbmp)
|
||||
* @param nWidth width
|
||||
* @param nHeight height
|
||||
* @param rop raster operation code
|
||||
* @return 1 if successful, 0 otherwise
|
||||
* @return nonzero if successful, 0 otherwise
|
||||
*/
|
||||
|
||||
int gdi_PatBlt(HGDI_DC hdc, int nXLeft, int nYLeft, int nWidth, int nHeight, int rop)
|
||||
BOOL gdi_PatBlt(HGDI_DC hdc, int nXLeft, int nYLeft, int nWidth, int nHeight, DWORD rop)
|
||||
{
|
||||
p_PatBlt _PatBlt = PatBlt_[IBPP(hdc->bitsPerPixel)];
|
||||
|
||||
if (_PatBlt != NULL)
|
||||
return _PatBlt(hdc, nXLeft, nYLeft, nWidth, nHeight, rop);
|
||||
else
|
||||
return 0;
|
||||
if (_PatBlt == NULL)
|
||||
return FALSE;
|
||||
|
||||
return _PatBlt(hdc, nXLeft, nYLeft, nWidth, nHeight, rop);
|
||||
}
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
|
||||
#include <freerdp/gdi/clipping.h>
|
||||
|
||||
int gdi_SetClipRgn(HGDI_DC hdc, int nXLeft, int nYLeft, int nWidth, int nHeight)
|
||||
BOOL gdi_SetClipRgn(HGDI_DC hdc, int nXLeft, int nYLeft, int nWidth, int nHeight)
|
||||
{
|
||||
return gdi_SetRgn(hdc->clip, nXLeft, nYLeft, nWidth, nHeight);
|
||||
}
|
||||
@@ -52,14 +52,14 @@ HGDI_RGN gdi_GetClipRgn(HGDI_DC hdc)
|
||||
/**
|
||||
* Set the current clipping region to null.
|
||||
* @param hdc device context
|
||||
* @return
|
||||
* @return nonzero on success, 0 otherwise
|
||||
*/
|
||||
|
||||
int gdi_SetNullClipRgn(HGDI_DC hdc)
|
||||
BOOL gdi_SetNullClipRgn(HGDI_DC hdc)
|
||||
{
|
||||
gdi_SetClipRgn(hdc, 0, 0, 0, 0);
|
||||
hdc->clip->null = 1;
|
||||
return 0;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -71,10 +71,10 @@ int gdi_SetNullClipRgn(HGDI_DC hdc)
|
||||
* @param h height
|
||||
* @param srcx source x1
|
||||
* @param srcy source y1
|
||||
* @return 1 if there is something to draw, 0 otherwise
|
||||
* @return nonzero if there is something to draw, 0 otherwise
|
||||
*/
|
||||
|
||||
int gdi_ClipCoords(HGDI_DC hdc, int *x, int *y, int *w, int *h, int *srcx, int *srcy)
|
||||
BOOL gdi_ClipCoords(HGDI_DC hdc, int *x, int *y, int *w, int *h, int *srcx, int *srcy)
|
||||
{
|
||||
GDI_RECT bmp;
|
||||
GDI_RECT clip;
|
||||
@@ -83,10 +83,10 @@ int gdi_ClipCoords(HGDI_DC hdc, int *x, int *y, int *w, int *h, int *srcx, int *
|
||||
|
||||
int dx = 0;
|
||||
int dy = 0;
|
||||
int draw = 1;
|
||||
BOOL draw = TRUE;
|
||||
|
||||
if (hdc == NULL)
|
||||
return 0;
|
||||
return FALSE;
|
||||
|
||||
hBmp = (HGDI_BITMAP) hdc->selectedObject;
|
||||
|
||||
@@ -152,7 +152,7 @@ int gdi_ClipCoords(HGDI_DC hdc, int *x, int *y, int *w, int *h, int *srcx, int *
|
||||
coords.right = 0;
|
||||
coords.top = 0;
|
||||
coords.bottom = 0;
|
||||
draw = 0;
|
||||
draw = FALSE;
|
||||
}
|
||||
|
||||
if (srcx != NULL)
|
||||
|
||||
@@ -189,13 +189,13 @@ HGDIOBJECT gdi_SelectObject(HGDI_DC hdc, HGDIOBJECT hgdiobject)
|
||||
* Delete a GDI object.\n
|
||||
* @msdn{dd183539}
|
||||
* @param hgdiobject GDI object
|
||||
* @return 1 if successful, 0 otherwise
|
||||
* @return nonzero if successful, 0 otherwise
|
||||
*/
|
||||
|
||||
int gdi_DeleteObject(HGDIOBJECT hgdiobject)
|
||||
BOOL gdi_DeleteObject(HGDIOBJECT hgdiobject)
|
||||
{
|
||||
if (!hgdiobject)
|
||||
return 0;
|
||||
return FALSE;
|
||||
|
||||
if (hgdiobject->objectType == GDIOBJECT_BITMAP)
|
||||
{
|
||||
@@ -235,20 +235,20 @@ int gdi_DeleteObject(HGDIOBJECT hgdiobject)
|
||||
{
|
||||
/* Unknown GDI Object Type */
|
||||
free(hgdiobject);
|
||||
return 0;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/**
|
||||
* Delete device context.\n
|
||||
* @msdn{dd183533}
|
||||
* @param hdc device context
|
||||
* @return 1 if successful, 0 otherwise
|
||||
* @return nonzero if successful, 0 otherwise
|
||||
*/
|
||||
|
||||
int gdi_DeleteDC(HGDI_DC hdc)
|
||||
BOOL gdi_DeleteDC(HGDI_DC hdc)
|
||||
{
|
||||
if (hdc)
|
||||
{
|
||||
@@ -262,5 +262,5 @@ int gdi_DeleteDC(HGDI_DC hdc)
|
||||
free(hdc);
|
||||
}
|
||||
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@@ -107,16 +107,17 @@ int gdi_GetBkMode(HGDI_DC hdc)
|
||||
* @msdn{dd162965}
|
||||
* @param hdc device context
|
||||
* @param iBkMode background mode
|
||||
* @return
|
||||
* @return previous background mode on success, 0 on failure
|
||||
*/
|
||||
|
||||
int gdi_SetBkMode(HGDI_DC hdc, int iBkMode)
|
||||
{
|
||||
if (iBkMode == GDI_OPAQUE || iBkMode == GDI_TRANSPARENT)
|
||||
{
|
||||
int previousBkMode = hdc->bkMode;
|
||||
hdc->bkMode = iBkMode;
|
||||
else
|
||||
hdc->bkMode = GDI_OPAQUE;
|
||||
|
||||
return previousBkMode;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
#define TAG FREERDP_TAG("gdi")
|
||||
|
||||
/* Ternary Raster Operation Table */
|
||||
static const UINT32 rop3_code_table[] =
|
||||
static const DWORD rop3_code_table[] =
|
||||
{
|
||||
0x00000042, /* 0 */
|
||||
0x00010289, /* DPSoon */
|
||||
@@ -318,7 +318,7 @@ static BYTE GDI_BS_HATCHED_PATTERNS[] =
|
||||
|
||||
/* GDI Helper Functions */
|
||||
|
||||
INLINE UINT32 gdi_rop3_code(BYTE code)
|
||||
INLINE DWORD gdi_rop3_code(BYTE code)
|
||||
{
|
||||
return rop3_code_table[code];
|
||||
}
|
||||
@@ -585,10 +585,9 @@ static BOOL gdi_dstblt(rdpContext* context, DSTBLT_ORDER* dstblt)
|
||||
{
|
||||
rdpGdi* gdi = context->gdi;
|
||||
|
||||
if (gdi_BitBlt(gdi->drawing->hdc, dstblt->nLeftRect, dstblt->nTopRect,
|
||||
dstblt->nWidth, dstblt->nHeight, NULL, 0, 0, gdi_rop3_code(dstblt->bRop)) == 0)
|
||||
return FALSE;
|
||||
return TRUE;
|
||||
return gdi_BitBlt(gdi->drawing->hdc, dstblt->nLeftRect, dstblt->nTopRect,
|
||||
dstblt->nWidth, dstblt->nHeight, NULL, 0, 0,
|
||||
gdi_rop3_code(dstblt->bRop));
|
||||
}
|
||||
|
||||
static BOOL gdi_patblt(rdpContext* context, PATBLT_ORDER* patblt)
|
||||
@@ -620,9 +619,11 @@ static BOOL gdi_patblt(rdpContext* context, PATBLT_ORDER* patblt)
|
||||
goto out_error;
|
||||
}
|
||||
|
||||
if (gdi_PatBlt(gdi->drawing->hdc, patblt->nLeftRect, patblt->nTopRect,
|
||||
patblt->nWidth, patblt->nHeight, gdi_rop3_code(patblt->bRop)) == 0)
|
||||
if (!gdi_PatBlt(gdi->drawing->hdc, patblt->nLeftRect, patblt->nTopRect,
|
||||
patblt->nWidth, patblt->nHeight, gdi_rop3_code(patblt->bRop)))
|
||||
{
|
||||
ret = FALSE;
|
||||
}
|
||||
|
||||
gdi_DeleteObject((HGDIOBJECT) gdi->drawing->hdc->brush);
|
||||
gdi->drawing->hdc->brush = originalBrush;
|
||||
@@ -661,9 +662,11 @@ static BOOL gdi_patblt(rdpContext* context, PATBLT_ORDER* patblt)
|
||||
goto out_error;
|
||||
}
|
||||
|
||||
if (gdi_PatBlt(gdi->drawing->hdc, patblt->nLeftRect, patblt->nTopRect,
|
||||
patblt->nWidth, patblt->nHeight, gdi_rop3_code(patblt->bRop)) == 0)
|
||||
if (!gdi_PatBlt(gdi->drawing->hdc, patblt->nLeftRect, patblt->nTopRect,
|
||||
patblt->nWidth, patblt->nHeight, gdi_rop3_code(patblt->bRop)))
|
||||
{
|
||||
ret = FALSE;
|
||||
}
|
||||
|
||||
gdi_DeleteObject((HGDIOBJECT) gdi->drawing->hdc->brush);
|
||||
gdi->drawing->hdc->brush = originalBrush;
|
||||
@@ -717,9 +720,11 @@ static BOOL gdi_patblt(rdpContext* context, PATBLT_ORDER* patblt)
|
||||
goto out_error;
|
||||
}
|
||||
|
||||
if (gdi_PatBlt(gdi->drawing->hdc, patblt->nLeftRect, patblt->nTopRect,
|
||||
patblt->nWidth, patblt->nHeight, gdi_rop3_code(patblt->bRop)) == 0)
|
||||
if (!gdi_PatBlt(gdi->drawing->hdc, patblt->nLeftRect, patblt->nTopRect,
|
||||
patblt->nWidth, patblt->nHeight, gdi_rop3_code(patblt->bRop)))
|
||||
{
|
||||
ret = FALSE;
|
||||
}
|
||||
|
||||
gdi_DeleteObject((HGDIOBJECT) gdi->drawing->hdc->brush);
|
||||
gdi->drawing->hdc->brush = originalBrush;
|
||||
@@ -738,11 +743,9 @@ static BOOL gdi_scrblt(rdpContext* context, SCRBLT_ORDER* scrblt)
|
||||
{
|
||||
rdpGdi* gdi = context->gdi;
|
||||
|
||||
if (gdi_BitBlt(gdi->drawing->hdc, scrblt->nLeftRect, scrblt->nTopRect,
|
||||
return gdi_BitBlt(gdi->drawing->hdc, scrblt->nLeftRect, scrblt->nTopRect,
|
||||
scrblt->nWidth, scrblt->nHeight, gdi->primary->hdc,
|
||||
scrblt->nXSrc, scrblt->nYSrc, gdi_rop3_code(scrblt->bRop)) == 0)
|
||||
return FALSE;
|
||||
return TRUE;
|
||||
scrblt->nXSrc, scrblt->nYSrc, gdi_rop3_code(scrblt->bRop));
|
||||
}
|
||||
|
||||
static BOOL gdi_opaque_rect(rdpContext* context, OPAQUE_RECT_ORDER* opaque_rect)
|
||||
@@ -751,20 +754,19 @@ static BOOL gdi_opaque_rect(rdpContext* context, OPAQUE_RECT_ORDER* opaque_rect)
|
||||
HGDI_BRUSH hBrush;
|
||||
UINT32 brush_color;
|
||||
rdpGdi* gdi = context->gdi;
|
||||
BOOL ret = FALSE;
|
||||
BOOL ret;
|
||||
|
||||
gdi_CRgnToRect(opaque_rect->nLeftRect, opaque_rect->nTopRect,
|
||||
opaque_rect->nWidth, opaque_rect->nHeight, &rect);
|
||||
|
||||
brush_color = freerdp_convert_gdi_order_color(opaque_rect->color, gdi->srcBpp, gdi->format, gdi->palette);
|
||||
|
||||
hBrush = gdi_CreateSolidBrush(brush_color);
|
||||
if (hBrush)
|
||||
{
|
||||
if (gdi_FillRect(gdi->drawing->hdc, &rect, hBrush) == 0)
|
||||
ret = TRUE;
|
||||
gdi_DeleteObject((HGDIOBJECT) hBrush);
|
||||
}
|
||||
if (!(hBrush = gdi_CreateSolidBrush(brush_color)))
|
||||
return FALSE;
|
||||
|
||||
ret = gdi_FillRect(gdi->drawing->hdc, &rect, hBrush);
|
||||
gdi_DeleteObject((HGDIOBJECT) hBrush);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -807,9 +809,9 @@ static BOOL gdi_line_to(rdpContext* context, LINE_TO_ORDER* lineTo)
|
||||
rdpGdi* gdi = context->gdi;
|
||||
|
||||
color = freerdp_convert_gdi_order_color(lineTo->penColor, gdi->srcBpp, gdi->format, gdi->palette);
|
||||
hPen = gdi_CreatePen(lineTo->penStyle, lineTo->penWidth, (GDI_COLOR) color);
|
||||
if (!hPen)
|
||||
if (!(hPen = gdi_CreatePen(lineTo->penStyle, lineTo->penWidth, (GDI_COLOR) color)))
|
||||
return FALSE;
|
||||
|
||||
gdi_SelectObject(gdi->drawing->hdc, (HGDIOBJECT) hPen);
|
||||
gdi_SetROP2(gdi->drawing->hdc, lineTo->bRop2);
|
||||
|
||||
@@ -831,9 +833,9 @@ static BOOL gdi_polyline(rdpContext* context, POLYLINE_ORDER* polyline)
|
||||
rdpGdi* gdi = context->gdi;
|
||||
|
||||
color = freerdp_convert_gdi_order_color(polyline->penColor, gdi->srcBpp, gdi->format, gdi->palette);
|
||||
hPen = gdi_CreatePen(GDI_PS_SOLID, 1, (GDI_COLOR) color);
|
||||
if (!hPen)
|
||||
if (!(hPen = gdi_CreatePen(GDI_PS_SOLID, 1, (GDI_COLOR) color)))
|
||||
return FALSE;
|
||||
|
||||
gdi_SelectObject(gdi->drawing->hdc, (HGDIOBJECT) hPen);
|
||||
gdi_SetROP2(gdi->drawing->hdc, polyline->bRop2);
|
||||
|
||||
@@ -861,11 +863,9 @@ static BOOL gdi_memblt(rdpContext* context, MEMBLT_ORDER* memblt)
|
||||
|
||||
bitmap = (gdiBitmap*) memblt->bitmap;
|
||||
|
||||
if (gdi_BitBlt(gdi->drawing->hdc, memblt->nLeftRect, memblt->nTopRect,
|
||||
return gdi_BitBlt(gdi->drawing->hdc, memblt->nLeftRect, memblt->nTopRect,
|
||||
memblt->nWidth, memblt->nHeight, bitmap->hdc,
|
||||
memblt->nXSrc, memblt->nYSrc, gdi_rop3_code(memblt->bRop)) == 0)
|
||||
return FALSE;
|
||||
return TRUE;
|
||||
memblt->nXSrc, memblt->nYSrc, gdi_rop3_code(memblt->bRop));
|
||||
}
|
||||
|
||||
static BOOL gdi_mem3blt(rdpContext* context, MEM3BLT_ORDER* mem3blt)
|
||||
@@ -972,25 +972,25 @@ out_fail:
|
||||
|
||||
static BOOL gdi_polygon_sc(rdpContext* context, POLYGON_SC_ORDER* polygon_sc)
|
||||
{
|
||||
WLog_VRB(TAG, "not implemented");
|
||||
WLog_VRB(TAG, "%s: not implemented", __FUNCTION__);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static BOOL gdi_polygon_cb(rdpContext* context, POLYGON_CB_ORDER* polygon_cb)
|
||||
{
|
||||
WLog_VRB(TAG, "not implemented");
|
||||
WLog_VRB(TAG, "%s: not implemented", __FUNCTION__);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static BOOL gdi_ellipse_sc(rdpContext* context, ELLIPSE_SC_ORDER* ellipse_sc)
|
||||
{
|
||||
WLog_VRB(TAG, "not implemented");
|
||||
WLog_VRB(TAG, "%s: not implemented", __FUNCTION__);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static BOOL gdi_ellipse_cb(rdpContext* context, ELLIPSE_CB_ORDER* ellipse_cb)
|
||||
{
|
||||
WLog_VRB(TAG, "not implemented");
|
||||
WLog_VRB(TAG, "%s: not implemented", __FUNCTION__);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
@@ -143,10 +143,8 @@ BOOL gdi_Bitmap_Paint(rdpContext* context, rdpBitmap* bitmap)
|
||||
width = bitmap->right - bitmap->left + 1;
|
||||
height = bitmap->bottom - bitmap->top + 1;
|
||||
|
||||
if (gdi_BitBlt(context->gdi->primary->hdc, bitmap->left, bitmap->top,
|
||||
width, height, gdi_bitmap->hdc, 0, 0, GDI_SRCCOPY) == 0)
|
||||
return FALSE;
|
||||
return TRUE;
|
||||
return gdi_BitBlt(context->gdi->primary->hdc, bitmap->left, bitmap->top,
|
||||
width, height, gdi_bitmap->hdc, 0, 0, GDI_SRCCOPY);
|
||||
}
|
||||
|
||||
BOOL gdi_Bitmap_Decompress(rdpContext* context, rdpBitmap* bitmap,
|
||||
@@ -279,10 +277,8 @@ BOOL gdi_Glyph_Draw(rdpContext* context, rdpGlyph* glyph, int x, int y)
|
||||
|
||||
gdi_glyph = (gdiGlyph*) glyph;
|
||||
|
||||
if (gdi_BitBlt(gdi->drawing->hdc, x, y, gdi_glyph->bitmap->width,
|
||||
gdi_glyph->bitmap->height, gdi_glyph->hdc, 0, 0, GDI_DSPDxax) == 0)
|
||||
return FALSE;
|
||||
return TRUE;
|
||||
return gdi_BitBlt(gdi->drawing->hdc, x, y, gdi_glyph->bitmap->width,
|
||||
gdi_glyph->bitmap->height, gdi_glyph->hdc, 0, 0, GDI_DSPDxax);
|
||||
}
|
||||
|
||||
BOOL gdi_Glyph_BeginDraw(rdpContext* context, int x, int y, int width, int height, UINT32 bgcolor, UINT32 fgcolor, BOOL fOpRedundant)
|
||||
@@ -290,27 +286,23 @@ BOOL gdi_Glyph_BeginDraw(rdpContext* context, int x, int y, int width, int heigh
|
||||
GDI_RECT rect;
|
||||
HGDI_BRUSH brush;
|
||||
rdpGdi* gdi = context->gdi;
|
||||
int ret = 0;
|
||||
BOOL ret = FALSE;
|
||||
|
||||
/* TODO: handle fOpRedundant! See xf_Glyph_BeginDraw() */
|
||||
|
||||
bgcolor = freerdp_convert_gdi_order_color(bgcolor, gdi->srcBpp, gdi->format, gdi->palette);
|
||||
fgcolor = freerdp_convert_gdi_order_color(fgcolor, gdi->srcBpp, gdi->format, gdi->palette);
|
||||
|
||||
brush = gdi_CreateSolidBrush(fgcolor);
|
||||
if (!brush)
|
||||
goto out_fail;
|
||||
if (!(brush = gdi_CreateSolidBrush(fgcolor)))
|
||||
goto out;
|
||||
|
||||
gdi_CRgnToRect(x, y, width, height, &rect);
|
||||
ret = gdi_FillRect(gdi->drawing->hdc, &rect, brush);
|
||||
gdi_DeleteObject((HGDIOBJECT) brush);
|
||||
|
||||
out_fail:
|
||||
out:
|
||||
gdi->textColor = gdi_SetTextColor(gdi->drawing->hdc, bgcolor);
|
||||
|
||||
if (ret == 0)
|
||||
return FALSE;
|
||||
return TRUE;
|
||||
return ret;
|
||||
}
|
||||
|
||||
BOOL gdi_Glyph_EndDraw(rdpContext* context, int x, int y, int width, int height, UINT32 bgcolor, UINT32 fgcolor)
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
|
||||
/* do not include this file directly! */
|
||||
|
||||
int LINE_TO(HGDI_DC hdc, int nXEnd, int nYEnd)
|
||||
BOOL LINE_TO(HGDI_DC hdc, int nXEnd, int nYEnd)
|
||||
{
|
||||
int x, y;
|
||||
int x1, y1;
|
||||
@@ -72,7 +72,7 @@ int LINE_TO(HGDI_DC hdc, int nXEnd, int nYEnd)
|
||||
by2 = MIN(by2, bmp->height - 1);
|
||||
|
||||
if (!gdi_InvalidateRegion(hdc, bx1, by1, bx2 - bx1 + 1, by2 - by1 + 1))
|
||||
return 0;
|
||||
return FALSE;
|
||||
|
||||
pen = GDI_GET_PEN_COLOR(hdc->pen);
|
||||
|
||||
@@ -106,7 +106,7 @@ int LINE_TO(HGDI_DC hdc, int nXEnd, int nYEnd)
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
@@ -49,17 +49,17 @@ p_LineTo LineTo_[5] =
|
||||
* @param hdc device context
|
||||
* @param nXEnd ending x position
|
||||
* @param nYEnd ending y position
|
||||
* @return 1 if successful, 0 otherwise
|
||||
* @return nonzero if successful, 0 otherwise
|
||||
*/
|
||||
|
||||
int gdi_LineTo(HGDI_DC hdc, int nXEnd, int nYEnd)
|
||||
BOOL gdi_LineTo(HGDI_DC hdc, int nXEnd, int nYEnd)
|
||||
{
|
||||
p_LineTo _LineTo = LineTo_[IBPP(hdc->bitsPerPixel)];
|
||||
|
||||
if (_LineTo != NULL)
|
||||
return _LineTo(hdc, nXEnd, nYEnd);
|
||||
else
|
||||
return 0;
|
||||
if (_LineTo == NULL)
|
||||
return FALSE;
|
||||
|
||||
return _LineTo(hdc, nXEnd, nYEnd);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -67,19 +67,21 @@ int gdi_LineTo(HGDI_DC hdc, int nXEnd, int nYEnd)
|
||||
* @param hdc device context
|
||||
* @param lppt array of points
|
||||
* @param cCount number of points
|
||||
* @return
|
||||
* @return nonzero on success, 0 otherwise
|
||||
*/
|
||||
int gdi_PolylineTo(HGDI_DC hdc, GDI_POINT *lppt, int cCount)
|
||||
BOOL gdi_PolylineTo(HGDI_DC hdc, GDI_POINT *lppt, DWORD cCount)
|
||||
{
|
||||
int i;
|
||||
DWORD i;
|
||||
|
||||
for (i = 0; i < cCount; i++)
|
||||
{
|
||||
gdi_LineTo(hdc, lppt[i].x, lppt[i].y);
|
||||
gdi_MoveToEx(hdc, lppt[i].x, lppt[i].y, NULL);
|
||||
if (!gdi_LineTo(hdc, lppt[i].x, lppt[i].y))
|
||||
return FALSE;
|
||||
if (!gdi_MoveToEx(hdc, lppt[i].x, lppt[i].y, NULL))
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -87,27 +89,31 @@ int gdi_PolylineTo(HGDI_DC hdc, GDI_POINT *lppt, int cCount)
|
||||
* @param hdc device context
|
||||
* @param lppt array of points
|
||||
* @param cPoints number of points
|
||||
* @return
|
||||
* @return nonzero on success, 0 otherwise
|
||||
*/
|
||||
int gdi_Polyline(HGDI_DC hdc, GDI_POINT *lppt, int cPoints)
|
||||
BOOL gdi_Polyline(HGDI_DC hdc, GDI_POINT *lppt, int cPoints)
|
||||
{
|
||||
if (cPoints > 0)
|
||||
{
|
||||
int i;
|
||||
GDI_POINT pt;
|
||||
|
||||
gdi_MoveToEx(hdc, lppt[0].x, lppt[0].y, &pt);
|
||||
if (!gdi_MoveToEx(hdc, lppt[0].x, lppt[0].y, &pt))
|
||||
return FALSE;
|
||||
|
||||
for (i = 0; i < cPoints; i++)
|
||||
{
|
||||
gdi_LineTo(hdc, lppt[i].x, lppt[i].y);
|
||||
gdi_MoveToEx(hdc, lppt[i].x, lppt[i].y, NULL);
|
||||
if (!gdi_LineTo(hdc, lppt[i].x, lppt[i].y))
|
||||
return FALSE;
|
||||
if (!gdi_MoveToEx(hdc, lppt[i].x, lppt[i].y, NULL))
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
gdi_MoveToEx(hdc, pt.x, pt.y, NULL);
|
||||
if (!gdi_MoveToEx(hdc, pt.x, pt.y, NULL))
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -116,21 +122,22 @@ int gdi_Polyline(HGDI_DC hdc, GDI_POINT *lppt, int cPoints)
|
||||
* @param lppt array of points
|
||||
* @param lpdwPolyPoints array of numbers of points per series
|
||||
* @param cCount count of entries in lpdwPolyPoints
|
||||
* @return
|
||||
* @return nonzero on success, 0 otherwise
|
||||
*/
|
||||
int gdi_PolyPolyline(HGDI_DC hdc, GDI_POINT *lppt, int *lpdwPolyPoints, int cCount)
|
||||
BOOL gdi_PolyPolyline(HGDI_DC hdc, GDI_POINT *lppt, int *lpdwPolyPoints, DWORD cCount)
|
||||
{
|
||||
int cPoints;
|
||||
int i, j = 0;
|
||||
DWORD i, j = 0;
|
||||
|
||||
for (i = 0; i < cCount; i++)
|
||||
{
|
||||
cPoints = lpdwPolyPoints[i];
|
||||
gdi_Polyline(hdc, &lppt[j], cPoints);
|
||||
if (!gdi_Polyline(hdc, &lppt[j], cPoints))
|
||||
return FALSE;
|
||||
j += cPoints;
|
||||
}
|
||||
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -138,10 +145,10 @@ int gdi_PolyPolyline(HGDI_DC hdc, GDI_POINT *lppt, int *lpdwPolyPoints, int cCou
|
||||
* @param hdc device context
|
||||
* @param X x position
|
||||
* @param Y y position
|
||||
* @return 1 if successful, 0 otherwise
|
||||
* @return nonzero on success, 0 otherwise
|
||||
*/
|
||||
|
||||
int gdi_MoveToEx(HGDI_DC hdc, int X, int Y, HGDI_POINT lpPoint)
|
||||
BOOL gdi_MoveToEx(HGDI_DC hdc, int X, int Y, HGDI_POINT lpPoint)
|
||||
{
|
||||
if (lpPoint != NULL)
|
||||
{
|
||||
@@ -152,5 +159,5 @@ int gdi_MoveToEx(HGDI_DC hdc, int X, int Y, HGDI_POINT lpPoint)
|
||||
hdc->pen->posX = X;
|
||||
hdc->pen->posY = Y;
|
||||
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@@ -223,10 +223,10 @@ INLINE void gdi_CRgnToCRect(int x, int y, int w, int h, int *left, int *top, int
|
||||
* @param height height
|
||||
* @param srcx source x1
|
||||
* @param srcy source y1
|
||||
* @return 1 if there is an overlap, 0 otherwise
|
||||
* @return nonzero if there is an overlap, 0 otherwise
|
||||
*/
|
||||
|
||||
INLINE int gdi_CopyOverlap(int x, int y, int width, int height, int srcx, int srcy)
|
||||
INLINE BOOL gdi_CopyOverlap(int x, int y, int width, int height, int srcx, int srcy)
|
||||
{
|
||||
GDI_RECT dst;
|
||||
GDI_RECT src;
|
||||
@@ -235,7 +235,7 @@ INLINE int gdi_CopyOverlap(int x, int y, int width, int height, int srcx, int sr
|
||||
gdi_CRgnToRect(srcx, srcy, width, height, &src);
|
||||
|
||||
return (dst.right > src.left && dst.left < src.right &&
|
||||
dst.bottom > src.top && dst.top < src.bottom) ? 1 : 0;
|
||||
dst.bottom > src.top && dst.top < src.bottom) ? TRUE : FALSE;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -246,16 +246,16 @@ INLINE int gdi_CopyOverlap(int x, int y, int width, int height, int srcx, int sr
|
||||
* @param yTop y1
|
||||
* @param xRight x2
|
||||
* @param yBottom y2
|
||||
* @return 1 if successful, 0 otherwise
|
||||
* @return nonzero if successful, 0 otherwise
|
||||
*/
|
||||
|
||||
INLINE int gdi_SetRect(HGDI_RECT rc, int xLeft, int yTop, int xRight, int yBottom)
|
||||
INLINE BOOL gdi_SetRect(HGDI_RECT rc, int xLeft, int yTop, int xRight, int yBottom)
|
||||
{
|
||||
rc->left = xLeft;
|
||||
rc->top = yTop;
|
||||
rc->right = xRight;
|
||||
rc->bottom = yBottom;
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -265,17 +265,17 @@ INLINE int gdi_SetRect(HGDI_RECT rc, int xLeft, int yTop, int xRight, int yBotto
|
||||
* @param nYLeft y1
|
||||
* @param nWidth width
|
||||
* @param nHeight height
|
||||
* @return
|
||||
* @return nonzero if successful, 0 otherwise
|
||||
*/
|
||||
|
||||
INLINE int gdi_SetRgn(HGDI_RGN hRgn, int nXLeft, int nYLeft, int nWidth, int nHeight)
|
||||
INLINE BOOL gdi_SetRgn(HGDI_RGN hRgn, int nXLeft, int nYLeft, int nWidth, int nHeight)
|
||||
{
|
||||
hRgn->x = nXLeft;
|
||||
hRgn->y = nYLeft;
|
||||
hRgn->w = nWidth;
|
||||
hRgn->h = nHeight;
|
||||
hRgn->null = 0;
|
||||
return 0;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -285,14 +285,14 @@ INLINE int gdi_SetRgn(HGDI_RGN hRgn, int nXLeft, int nYLeft, int nWidth, int nHe
|
||||
* @param nTopRect y1
|
||||
* @param nRightRect x2
|
||||
* @param nBottomRect y2
|
||||
* @return
|
||||
* @return nonzero if successful, 0 otherwise
|
||||
*/
|
||||
|
||||
INLINE int gdi_SetRectRgn(HGDI_RGN hRgn, int nLeftRect, int nTopRect, int nRightRect, int nBottomRect)
|
||||
INLINE BOOL gdi_SetRectRgn(HGDI_RGN hRgn, int nLeftRect, int nTopRect, int nRightRect, int nBottomRect)
|
||||
{
|
||||
gdi_CRectToRgn(nLeftRect, nTopRect, nRightRect, nBottomRect, hRgn);
|
||||
hRgn->null = 0;
|
||||
return 0;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -300,36 +300,37 @@ INLINE int gdi_SetRectRgn(HGDI_RGN hRgn, int nLeftRect, int nTopRect, int nRight
|
||||
* @msdn{dd162700}
|
||||
* @param hSrcRgn1 first region
|
||||
* @param hSrcRgn2 second region
|
||||
* @return 1 if both regions are equal, 0 otherwise
|
||||
* @return nonzero if both regions are equal, 0 otherwise
|
||||
*/
|
||||
|
||||
INLINE int gdi_EqualRgn(HGDI_RGN hSrcRgn1, HGDI_RGN hSrcRgn2)
|
||||
INLINE BOOL gdi_EqualRgn(HGDI_RGN hSrcRgn1, HGDI_RGN hSrcRgn2)
|
||||
{
|
||||
if ((hSrcRgn1->x == hSrcRgn2->x) &&
|
||||
(hSrcRgn1->y == hSrcRgn2->y) &&
|
||||
(hSrcRgn1->w == hSrcRgn2->w) &&
|
||||
(hSrcRgn1->h == hSrcRgn2->h))
|
||||
{
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return 0;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/**
|
||||
* Copy coordinates from a rectangle to another rectangle
|
||||
* @msdn{dd183481}
|
||||
* @param dst destination rectangle
|
||||
* @param src source rectangle
|
||||
* @return 1 if successful, 0 otherwise
|
||||
* @return nonzero if successful, 0 otherwise
|
||||
*/
|
||||
|
||||
INLINE int gdi_CopyRect(HGDI_RECT dst, HGDI_RECT src)
|
||||
INLINE BOOL gdi_CopyRect(HGDI_RECT dst, HGDI_RECT src)
|
||||
{
|
||||
dst->left = src->left;
|
||||
dst->top = src->top;
|
||||
dst->right = src->right;
|
||||
dst->bottom = src->bottom;
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -338,10 +339,10 @@ INLINE int gdi_CopyRect(HGDI_RECT dst, HGDI_RECT src)
|
||||
* @param rc rectangle
|
||||
* @param x point x position
|
||||
* @param y point y position
|
||||
* @return 1 if the point is inside, 0 otherwise
|
||||
* @return nonzero if the point is inside, 0 otherwise
|
||||
*/
|
||||
|
||||
INLINE int gdi_PtInRect(HGDI_RECT rc, int x, int y)
|
||||
INLINE BOOL gdi_PtInRect(HGDI_RECT rc, int x, int y)
|
||||
{
|
||||
/*
|
||||
* points on the left and top sides are considered in,
|
||||
@@ -352,11 +353,11 @@ INLINE int gdi_PtInRect(HGDI_RECT rc, int x, int y)
|
||||
{
|
||||
if (y >= rc->top && y <= rc->bottom)
|
||||
{
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -367,7 +368,7 @@ INLINE int gdi_PtInRect(HGDI_RECT rc, int x, int y)
|
||||
* @param y y1
|
||||
* @param w width
|
||||
* @param h height
|
||||
* @return FALSE on error
|
||||
* @return nonzero on success, 0 otherwise
|
||||
*/
|
||||
|
||||
INLINE BOOL gdi_InvalidateRegion(HGDI_DC hdc, int x, int y, int w, int h)
|
||||
|
||||
@@ -156,17 +156,18 @@ static void Ellipse_Bresenham(HGDI_DC hdc, int x1, int y1, int x2, int y2)
|
||||
|
||||
/**
|
||||
* Draw an ellipse
|
||||
* @msdn{dd162510}
|
||||
* @param hdc device context
|
||||
* @param nLeftRect x1
|
||||
* @param nTopRect y1
|
||||
* @param nRightRect x2
|
||||
* @param nBottomRect y2
|
||||
* @return
|
||||
* @return nonzero if successful, 0 otherwise
|
||||
*/
|
||||
int gdi_Ellipse(HGDI_DC hdc, int nLeftRect, int nTopRect, int nRightRect, int nBottomRect)
|
||||
BOOL gdi_Ellipse(HGDI_DC hdc, int nLeftRect, int nTopRect, int nRightRect, int nBottomRect)
|
||||
{
|
||||
Ellipse_Bresenham(hdc, nLeftRect, nTopRect, nRightRect, nBottomRect);
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -175,54 +176,57 @@ int gdi_Ellipse(HGDI_DC hdc, int nLeftRect, int nTopRect, int nRightRect, int nB
|
||||
* @param hdc device context
|
||||
* @param rect rectangle
|
||||
* @param hbr brush
|
||||
* @return 1 if successful, 0 otherwise
|
||||
* @return nonzero if successful, 0 otherwise
|
||||
*/
|
||||
|
||||
int gdi_FillRect(HGDI_DC hdc, HGDI_RECT rect, HGDI_BRUSH hbr)
|
||||
BOOL gdi_FillRect(HGDI_DC hdc, HGDI_RECT rect, HGDI_BRUSH hbr)
|
||||
{
|
||||
p_FillRect _FillRect = FillRect_[IBPP(hdc->bitsPerPixel)];
|
||||
|
||||
if (_FillRect != NULL)
|
||||
return _FillRect(hdc, rect, hbr);
|
||||
else
|
||||
return 0;
|
||||
if (_FillRect == NULL)
|
||||
return FALSE;
|
||||
|
||||
return _FillRect(hdc, rect, hbr);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* Draw a polygon
|
||||
* @msdn{dd162814}
|
||||
* @param hdc device context
|
||||
* @param lpPoints array of points
|
||||
* @param nCount number of points
|
||||
* @return
|
||||
* @return nonzero if successful, 0 otherwise
|
||||
*/
|
||||
int gdi_Polygon(HGDI_DC hdc, GDI_POINT *lpPoints, int nCount)
|
||||
BOOL gdi_Polygon(HGDI_DC hdc, GDI_POINT *lpPoints, int nCount)
|
||||
{
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/**
|
||||
* Draw a series of closed polygons
|
||||
* @msdn{dd162818}
|
||||
* @param hdc device context
|
||||
* @param lpPoints array of series of points
|
||||
* @param lpPolyCounts array of number of points in each series
|
||||
* @param nCount count of number of points in lpPolyCounts
|
||||
* @return
|
||||
* @return nonzero if successful, 0 otherwise
|
||||
*/
|
||||
int gdi_PolyPolygon(HGDI_DC hdc, GDI_POINT *lpPoints, int *lpPolyCounts, int nCount)
|
||||
BOOL gdi_PolyPolygon(HGDI_DC hdc, GDI_POINT *lpPoints, int *lpPolyCounts, int nCount)
|
||||
{
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/**
|
||||
* Draw a rectangle
|
||||
* @msdn{dd162898}
|
||||
* @param hdc device context
|
||||
* @param nLeftRect x1
|
||||
* @param nTopRect y1
|
||||
* @param nRightRect x2
|
||||
* @param nBottomRect y2
|
||||
* @return
|
||||
* @return nonzero if successful, 0 otherwise
|
||||
*/
|
||||
int gdi_Rectangle(HGDI_DC hdc, int nLeftRect, int nTopRect, int nRightRect, int nBottomRect)
|
||||
BOOL gdi_Rectangle(HGDI_DC hdc, int nLeftRect, int nTopRect, int nRightRect, int nBottomRect)
|
||||
{
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@@ -652,106 +652,184 @@ int test_gdi_BitBlt_32bpp(void)
|
||||
gdi_SelectObject(hdcDst, (HGDIOBJECT) hBmpDst);
|
||||
|
||||
/* SRCCOPY */
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (test_assert_bitmaps_equal(hBmpDst, hBmp_SRCCOPY, "SRCCOPY") < 0)
|
||||
return -1;
|
||||
|
||||
/* restore original destination bitmap */
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpDstOriginal);
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpSrc);
|
||||
|
||||
/* BLACKNESS */
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_BLACKNESS);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_BLACKNESS))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (test_assert_bitmaps_equal(hBmpDst, hBmp_BLACKNESS, "BLACKNESS") < 0)
|
||||
return -1;
|
||||
|
||||
/* restore original destination bitmap */
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpDstOriginal);
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpSrc);
|
||||
|
||||
/* WHITENESS */
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_WHITENESS);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_WHITENESS))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (test_assert_bitmaps_equal(hBmpDst, hBmp_WHITENESS, "WHITENESS") < 0)
|
||||
return -1;
|
||||
|
||||
/* restore original destination bitmap */
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpDstOriginal);
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpSrc);
|
||||
|
||||
/* SRCAND */
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCAND);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCAND))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (test_assert_bitmaps_equal(hBmpDst, hBmp_SRCAND, "SRCAND") < 0)
|
||||
return -1;
|
||||
|
||||
/* restore original destination bitmap */
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpDstOriginal);
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpSrc);
|
||||
|
||||
/* SRCPAINT */
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCPAINT);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCPAINT))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (test_assert_bitmaps_equal(hBmpDst, hBmp_SRCPAINT, "SRCPAINT") < 0)
|
||||
return -1;
|
||||
|
||||
/* restore original destination bitmap */
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpDstOriginal);
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpSrc);
|
||||
|
||||
/* SRCINVERT */
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCINVERT);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCINVERT))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (test_assert_bitmaps_equal(hBmpDst, hBmp_SRCINVERT, "SRCINVERT") < 0)
|
||||
return -1;
|
||||
|
||||
/* restore original destination bitmap */
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpDstOriginal);
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpSrc);
|
||||
|
||||
/* SRCERASE */
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCERASE);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCERASE))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (test_assert_bitmaps_equal(hBmpDst, hBmp_SRCERASE, "SRCERASE") < 0)
|
||||
return -1;
|
||||
|
||||
/* restore original destination bitmap */
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpDstOriginal);
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpSrc);
|
||||
|
||||
/* NOTSRCCOPY */
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_NOTSRCCOPY);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_NOTSRCCOPY))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
//if (test_assert_bitmaps_equal(hBmpDst, hBmp_NOTSRCCOPY, "NOTSRCCOPY") < 0)
|
||||
// return -1;
|
||||
|
||||
/* restore original destination bitmap */
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpDstOriginal);
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpSrc);
|
||||
|
||||
/* NOTSRCERASE */
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_NOTSRCERASE);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_NOTSRCERASE))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
//if (test_assert_bitmaps_equal(hBmpDst, hBmp_NOTSRCERASE, "NOTSRCERASE") < 0)
|
||||
// return -1;
|
||||
|
||||
/* restore original destination bitmap */
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpDstOriginal);
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpSrc);
|
||||
|
||||
/* DSTINVERT */
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_DSTINVERT);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_DSTINVERT))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
//if (test_assert_bitmaps_equal(hBmpDst, hBmp_DSTINVERT, "DSTINVERT") < 0)
|
||||
// return -1;
|
||||
@@ -762,66 +840,114 @@ int test_gdi_BitBlt_32bpp(void)
|
||||
|
||||
/* restore original destination bitmap */
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpDstOriginal);
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpSrc);
|
||||
|
||||
/* MERGECOPY */
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_MERGECOPY);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_MERGECOPY))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (test_assert_bitmaps_equal(hBmpDst, hBmp_MERGECOPY, "MERGECOPY") < 0)
|
||||
return -1;
|
||||
|
||||
/* restore original destination bitmap */
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpDstOriginal);
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpSrc);
|
||||
|
||||
/* MERGEPAINT */
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_MERGEPAINT);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_MERGEPAINT))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
//if (test_assert_bitmaps_equal(hBmpDst, hBmp_MERGEPAINT, "MERGEPAINT") < 0)
|
||||
// return -1;
|
||||
|
||||
/* restore original destination bitmap */
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpDstOriginal);
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpSrc);
|
||||
|
||||
/* PATCOPY */
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_PATCOPY);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_PATCOPY))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (test_assert_bitmaps_equal(hBmpDst, hBmp_PATCOPY, "PATCOPY") < 0)
|
||||
return -1;
|
||||
|
||||
/* restore original destination bitmap */
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpDstOriginal);
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpSrc);
|
||||
|
||||
/* PATINVERT */
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_PATINVERT);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_PATINVERT))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (test_assert_bitmaps_equal(hBmpDst, hBmp_PATINVERT, "PATINVERT") < 0)
|
||||
return -1;
|
||||
|
||||
/* restore original destination bitmap */
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpDstOriginal);
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpSrc);
|
||||
|
||||
/* PATPAINT */
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_PATPAINT);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_PATPAINT))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
//if (test_assert_bitmaps_equal(hBmpDst, hBmp_PATPAINT, "PATPAINT") < 0)
|
||||
// return -1;
|
||||
|
||||
/* restore original destination bitmap */
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpDstOriginal);
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpSrc);
|
||||
|
||||
/* SPna */
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SPna);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SPna))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (test_assert_bitmaps_equal(hBmpDst, hBmp_SPna, "SPna") < 0)
|
||||
return -1;
|
||||
@@ -950,106 +1076,182 @@ int test_gdi_BitBlt_16bpp(void)
|
||||
gdi_SelectObject(hdcDst, (HGDIOBJECT) hBmpDst);
|
||||
|
||||
/* SRCCOPY */
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (test_assert_bitmaps_equal(hBmpDst, hBmp_SRCCOPY, "SRCCOPY") < 0)
|
||||
return -1;
|
||||
|
||||
/* restore original destination bitmap */
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpDstOriginal);
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpSrc);
|
||||
|
||||
/* BLACKNESS */
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_BLACKNESS);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_BLACKNESS))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (test_assert_bitmaps_equal(hBmpDst, hBmp_BLACKNESS, "BLACKNESS") < 0)
|
||||
return -1;
|
||||
|
||||
/* restore original destination bitmap */
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpDstOriginal);
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpSrc);
|
||||
|
||||
/* WHITENESS */
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_WHITENESS);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_WHITENESS))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
//if (test_assert_bitmaps_equal(hBmpDst, hBmp_WHITENESS, "WHITENESS") < 0)
|
||||
// return -1;
|
||||
|
||||
/* restore original destination bitmap */
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpDstOriginal);
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpSrc);
|
||||
|
||||
/* SRCAND */
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCAND);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCAND))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (test_assert_bitmaps_equal(hBmpDst, hBmp_SRCAND, "SRCAND") < 0)
|
||||
return -1;
|
||||
|
||||
/* restore original destination bitmap */
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpDstOriginal);
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpSrc);
|
||||
|
||||
/* SRCPAINT */
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCPAINT);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCPAINT))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (test_assert_bitmaps_equal(hBmpDst, hBmp_SRCPAINT, "SRCPAINT") < 0)
|
||||
return -1;
|
||||
|
||||
/* restore original destination bitmap */
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpDstOriginal);
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpSrc);
|
||||
|
||||
/* SRCINVERT */
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCINVERT);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCINVERT))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (test_assert_bitmaps_equal(hBmpDst, hBmp_SRCINVERT, "SRCINVERT") < 0)
|
||||
return -1;
|
||||
|
||||
/* restore original destination bitmap */
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpDstOriginal);
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpSrc);
|
||||
|
||||
/* SRCERASE */
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCERASE);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCERASE))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (test_assert_bitmaps_equal(hBmpDst, hBmp_SRCERASE, "SRCERASE") < 0)
|
||||
return -1;
|
||||
|
||||
/* restore original destination bitmap */
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpDstOriginal);
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpSrc);
|
||||
|
||||
/* NOTSRCCOPY */
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_NOTSRCCOPY);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_NOTSRCCOPY))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
//if (test_assert_bitmaps_equal(hBmpDst, hBmp_NOTSRCCOPY, "NOTSRCCOPY") < 0)
|
||||
// return -1;
|
||||
|
||||
/* restore original destination bitmap */
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpDstOriginal);
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpSrc);
|
||||
|
||||
/* NOTSRCERASE */
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_NOTSRCERASE);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_NOTSRCERASE))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
//if (test_assert_bitmaps_equal(hBmpDst, hBmp_NOTSRCERASE, "NOTSRCERASE") < 0)
|
||||
// return -1;
|
||||
|
||||
/* restore original destination bitmap */
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpDstOriginal);
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpSrc);
|
||||
|
||||
/* DSTINVERT */
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_DSTINVERT);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_DSTINVERT))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
//if (test_assert_bitmaps_equal(hBmpDst, hBmp_DSTINVERT, "DSTINVERT") < 0)
|
||||
// return -1;
|
||||
@@ -1060,66 +1262,114 @@ int test_gdi_BitBlt_16bpp(void)
|
||||
|
||||
/* restore original destination bitmap */
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpDstOriginal);
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpSrc);
|
||||
|
||||
/* MERGECOPY */
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_MERGECOPY);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_MERGECOPY))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (test_assert_bitmaps_equal(hBmpDst, hBmp_MERGECOPY, "MERGECOPY") < 0)
|
||||
return -1;
|
||||
|
||||
/* restore original destination bitmap */
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpDstOriginal);
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpSrc);
|
||||
|
||||
/* MERGEPAINT */
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_MERGEPAINT);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_MERGEPAINT))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
//if (test_assert_bitmaps_equal(hBmpDst, hBmp_MERGEPAINT, "MERGEPAINT") < 0)
|
||||
// return -1;
|
||||
|
||||
/* restore original destination bitmap */
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpDstOriginal);
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpSrc);
|
||||
|
||||
/* PATCOPY */
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_PATCOPY);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_PATCOPY))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (test_assert_bitmaps_equal(hBmpDst, hBmp_PATCOPY, "PATCOPY") < 0)
|
||||
return -1;
|
||||
|
||||
/* restore original destination bitmap */
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpDstOriginal);
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpSrc);
|
||||
|
||||
/* PATINVERT */
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_PATINVERT);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_PATINVERT))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (test_assert_bitmaps_equal(hBmpDst, hBmp_PATINVERT, "PATINVERT") < 0)
|
||||
return -1;
|
||||
|
||||
/* restore original destination bitmap */
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpDstOriginal);
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpSrc);
|
||||
|
||||
/* PATPAINT */
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_PATPAINT);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_PATPAINT))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
//if (test_assert_bitmaps_equal(hBmpDst, hBmp_PATPAINT, "PATPAINT") < 0)
|
||||
// return -1;
|
||||
|
||||
/* restore original destination bitmap */
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpDstOriginal);
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpSrc);
|
||||
|
||||
/* SPna */
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SPna);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SPna))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (test_assert_bitmaps_equal(hBmpDst, hBmp_SPna, "SPna") < 0)
|
||||
return -1;
|
||||
@@ -1248,106 +1498,182 @@ int test_gdi_BitBlt_8bpp(void)
|
||||
gdi_SelectObject(hdcDst, (HGDIOBJECT) hBmpDst);
|
||||
|
||||
/* SRCCOPY */
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (CompareBitmaps(hBmpDst, hBmp_SRCCOPY) != 1)
|
||||
return -1;
|
||||
|
||||
/* restore original destination bitmap */
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpDstOriginal);
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpSrc);
|
||||
|
||||
/* BLACKNESS */
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_BLACKNESS);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_BLACKNESS))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (test_assert_bitmaps_equal(hBmpDst, hBmp_BLACKNESS, "BLACKNESS") < 0)
|
||||
return -1;
|
||||
|
||||
/* restore original destination bitmap */
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpDstOriginal);
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpSrc);
|
||||
|
||||
/* WHITENESS */
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_WHITENESS);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_WHITENESS))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
//if (test_assert_bitmaps_equal(hBmpDst, hBmp_WHITENESS, "WHITENESS") < 0)
|
||||
// return -1;
|
||||
|
||||
/* restore original destination bitmap */
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpDstOriginal);
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpSrc);
|
||||
|
||||
/* SRCAND */
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCAND);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCAND))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (test_assert_bitmaps_equal(hBmpDst, hBmp_SRCAND, "SRCAND") < 0)
|
||||
return -1;
|
||||
|
||||
/* restore original destination bitmap */
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpDstOriginal);
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpSrc);
|
||||
|
||||
/* SRCPAINT */
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCPAINT);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCPAINT))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (test_assert_bitmaps_equal(hBmpDst, hBmp_SRCPAINT, "SRCPAINT") < 0)
|
||||
return -1;
|
||||
|
||||
/* restore original destination bitmap */
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpDstOriginal);
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpSrc);
|
||||
|
||||
/* SRCINVERT */
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCINVERT);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCINVERT))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (test_assert_bitmaps_equal(hBmpDst, hBmp_SRCINVERT, "SRCINVERT") < 0)
|
||||
return -1;
|
||||
|
||||
/* restore original destination bitmap */
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpDstOriginal);
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpSrc);
|
||||
|
||||
/* SRCERASE */
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCERASE);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCERASE))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (test_assert_bitmaps_equal(hBmpDst, hBmp_SRCERASE, "SRCERASE") < 0)
|
||||
return -1;
|
||||
|
||||
/* restore original destination bitmap */
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpDstOriginal);
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpSrc);
|
||||
|
||||
/* NOTSRCCOPY */
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_NOTSRCCOPY);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_NOTSRCCOPY))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (test_assert_bitmaps_equal(hBmpDst, hBmp_NOTSRCCOPY, "NOTSRCCOPY") < 0)
|
||||
return -1;
|
||||
|
||||
/* restore original destination bitmap */
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpDstOriginal);
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpSrc);
|
||||
|
||||
/* NOTSRCERASE */
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_NOTSRCERASE);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_NOTSRCERASE))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (test_assert_bitmaps_equal(hBmpDst, hBmp_NOTSRCERASE, "NOTSRCERASE") < 0)
|
||||
return -1;
|
||||
|
||||
/* restore original destination bitmap */
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpDstOriginal);
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpSrc);
|
||||
|
||||
/* DSTINVERT */
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_DSTINVERT);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_DSTINVERT))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (test_assert_bitmaps_equal(hBmpDst, hBmp_DSTINVERT, "DSTINVERT") < 0)
|
||||
return -1;
|
||||
@@ -1358,66 +1684,114 @@ int test_gdi_BitBlt_8bpp(void)
|
||||
|
||||
/* restore original destination bitmap */
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpDstOriginal);
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpSrc);
|
||||
|
||||
/* MERGECOPY */
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_MERGECOPY);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_MERGECOPY))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (test_assert_bitmaps_equal(hBmpDst, hBmp_MERGECOPY, "MERGECOPY") < 0)
|
||||
return -1;
|
||||
|
||||
/* restore original destination bitmap */
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpDstOriginal);
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpSrc);
|
||||
|
||||
/* MERGEPAINT */
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_MERGEPAINT);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_MERGEPAINT))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (test_assert_bitmaps_equal(hBmpDst, hBmp_MERGEPAINT, "MERGEPAINT") < 0)
|
||||
return -1;
|
||||
|
||||
/* restore original destination bitmap */
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpDstOriginal);
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpSrc);
|
||||
|
||||
/* PATCOPY */
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_PATCOPY);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_PATCOPY))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (test_assert_bitmaps_equal(hBmpDst, hBmp_PATCOPY, "PATCOPY") < 0)
|
||||
return -1;
|
||||
|
||||
/* restore original destination bitmap */
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpDstOriginal);
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpSrc);
|
||||
|
||||
/* PATINVERT */
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_PATINVERT);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_PATINVERT))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (test_assert_bitmaps_equal(hBmpDst, hBmp_PATINVERT, "PATINVERT") < 0)
|
||||
return -1;
|
||||
|
||||
/* restore original destination bitmap */
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpDstOriginal);
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpSrc);
|
||||
|
||||
/* PATPAINT */
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_PATPAINT);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_PATPAINT))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (test_assert_bitmaps_equal(hBmpDst, hBmp_PATPAINT, "PATPAINT") < 0)
|
||||
return -1;
|
||||
|
||||
/* restore original destination bitmap */
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpDstOriginal);
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SRCCOPY))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
gdi_SelectObject(hdcSrc, (HGDIOBJECT) hBmpSrc);
|
||||
|
||||
/* SPna */
|
||||
gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SPna);
|
||||
if (!gdi_BitBlt(hdcDst, 0, 0, 16, 16, hdcSrc, 0, 0, GDI_SPna))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (test_assert_bitmaps_equal(hBmpDst, hBmp_SPna, "SPna") < 0)
|
||||
return -1;
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
|
||||
int test_gdi_ClipCoords(void)
|
||||
{
|
||||
int draw;
|
||||
BOOL draw;
|
||||
HGDI_DC hdc;
|
||||
HGDI_RGN rgn1;
|
||||
HGDI_RGN rgn2;
|
||||
@@ -44,7 +44,7 @@ int test_gdi_ClipCoords(void)
|
||||
|
||||
gdi_ClipCoords(hdc, &(rgn1->x), &(rgn1->y), &(rgn1->w), &(rgn1->h), NULL, NULL);
|
||||
|
||||
if (gdi_EqualRgn(rgn1, rgn2) != 1)
|
||||
if (!gdi_EqualRgn(rgn1, rgn2))
|
||||
return -1;
|
||||
|
||||
/* region all inside clipping region */
|
||||
@@ -54,7 +54,7 @@ int test_gdi_ClipCoords(void)
|
||||
|
||||
gdi_ClipCoords(hdc, &(rgn1->x), &(rgn1->y), &(rgn1->w), &(rgn1->h), NULL, NULL);
|
||||
|
||||
if (gdi_EqualRgn(rgn1, rgn2) != 1)
|
||||
if (!gdi_EqualRgn(rgn1, rgn2))
|
||||
return -1;
|
||||
|
||||
/* region all outside clipping region, on the left */
|
||||
@@ -64,7 +64,7 @@ int test_gdi_ClipCoords(void)
|
||||
|
||||
draw = gdi_ClipCoords(hdc, &(rgn1->x), &(rgn1->y), &(rgn1->w), &(rgn1->h), NULL, NULL);
|
||||
|
||||
if (draw != 0)
|
||||
if (draw)
|
||||
return -1;
|
||||
|
||||
/* region all outside clipping region, on the right */
|
||||
@@ -74,7 +74,7 @@ int test_gdi_ClipCoords(void)
|
||||
|
||||
draw = gdi_ClipCoords(hdc, &(rgn1->x), &(rgn1->y), &(rgn1->w), &(rgn1->h), NULL, NULL);
|
||||
|
||||
if (draw != 0)
|
||||
if (draw)
|
||||
return -1;
|
||||
|
||||
/* region all outside clipping region, on top */
|
||||
@@ -84,7 +84,7 @@ int test_gdi_ClipCoords(void)
|
||||
|
||||
draw = gdi_ClipCoords(hdc, &(rgn1->x), &(rgn1->y), &(rgn1->w), &(rgn1->h), NULL, NULL);
|
||||
|
||||
if (draw != 0)
|
||||
if (draw)
|
||||
return -1;
|
||||
|
||||
/* region all outside clipping region, at the bottom */
|
||||
@@ -94,7 +94,7 @@ int test_gdi_ClipCoords(void)
|
||||
|
||||
draw = gdi_ClipCoords(hdc, &(rgn1->x), &(rgn1->y), &(rgn1->w), &(rgn1->h), NULL, NULL);
|
||||
|
||||
if (draw != 0)
|
||||
if (draw)
|
||||
return -1;
|
||||
|
||||
/* left outside, right = clip, top = clip, bottom = clip */
|
||||
@@ -104,7 +104,7 @@ int test_gdi_ClipCoords(void)
|
||||
|
||||
gdi_ClipCoords(hdc, &(rgn1->x), &(rgn1->y), &(rgn1->w), &(rgn1->h), NULL, NULL);
|
||||
|
||||
if (gdi_EqualRgn(rgn1, rgn2) != 1)
|
||||
if (!gdi_EqualRgn(rgn1, rgn2))
|
||||
return -1;
|
||||
|
||||
/* left outside, right inside, top = clip, bottom = clip */
|
||||
@@ -114,7 +114,7 @@ int test_gdi_ClipCoords(void)
|
||||
|
||||
gdi_ClipCoords(hdc, &(rgn1->x), &(rgn1->y), &(rgn1->w), &(rgn1->h), NULL, NULL);
|
||||
|
||||
if (gdi_EqualRgn(rgn1, rgn2) != 1)
|
||||
if (!gdi_EqualRgn(rgn1, rgn2))
|
||||
return -1;
|
||||
|
||||
/* left = clip, right outside, top = clip, bottom = clip */
|
||||
@@ -124,7 +124,7 @@ int test_gdi_ClipCoords(void)
|
||||
|
||||
gdi_ClipCoords(hdc, &(rgn1->x), &(rgn1->y), &(rgn1->w), &(rgn1->h), NULL, NULL);
|
||||
|
||||
if (gdi_EqualRgn(rgn1, rgn2) != 1)
|
||||
if (!gdi_EqualRgn(rgn1, rgn2))
|
||||
return -1;
|
||||
|
||||
/* left inside, right outside, top = clip, bottom = clip */
|
||||
@@ -134,7 +134,7 @@ int test_gdi_ClipCoords(void)
|
||||
|
||||
gdi_ClipCoords(hdc, &(rgn1->x), &(rgn1->y), &(rgn1->w), &(rgn1->h), NULL, NULL);
|
||||
|
||||
if (gdi_EqualRgn(rgn1, rgn2) != 1)
|
||||
if (!gdi_EqualRgn(rgn1, rgn2))
|
||||
return -1;
|
||||
|
||||
/* top outside, bottom = clip, left = clip, right = clip */
|
||||
@@ -144,7 +144,7 @@ int test_gdi_ClipCoords(void)
|
||||
|
||||
gdi_ClipCoords(hdc, &(rgn1->x), &(rgn1->y), &(rgn1->w), &(rgn1->h), NULL, NULL);
|
||||
|
||||
if (gdi_EqualRgn(rgn1, rgn2) != 1)
|
||||
if (!gdi_EqualRgn(rgn1, rgn2))
|
||||
return -1;
|
||||
|
||||
/* top = clip, bottom outside, left = clip, right = clip */
|
||||
@@ -154,7 +154,7 @@ int test_gdi_ClipCoords(void)
|
||||
|
||||
gdi_ClipCoords(hdc, &(rgn1->x), &(rgn1->y), &(rgn1->w), &(rgn1->h), NULL, NULL);
|
||||
|
||||
if (gdi_EqualRgn(rgn1, rgn2) != 1)
|
||||
if (!gdi_EqualRgn(rgn1, rgn2))
|
||||
return -1;
|
||||
|
||||
/* top = clip, bottom = clip, top = clip, bottom = clip */
|
||||
@@ -164,7 +164,7 @@ int test_gdi_ClipCoords(void)
|
||||
|
||||
gdi_ClipCoords(hdc, &(rgn1->x), &(rgn1->y), &(rgn1->w), &(rgn1->h), NULL, NULL);
|
||||
|
||||
if (gdi_EqualRgn(rgn1, rgn2) != 1)
|
||||
if (!gdi_EqualRgn(rgn1, rgn2))
|
||||
return -1;
|
||||
|
||||
return 0;
|
||||
@@ -210,7 +210,7 @@ int test_gdi_InvalidateRegion(void)
|
||||
|
||||
gdi_InvalidateRegion(hdc, rgn1->x, rgn1->y, rgn1->w, rgn1->h);
|
||||
|
||||
if (gdi_EqualRgn(invalid, rgn2) != 1)
|
||||
if (!gdi_EqualRgn(invalid, rgn2))
|
||||
return -1;
|
||||
|
||||
/* region same as invalid region */
|
||||
@@ -220,7 +220,7 @@ int test_gdi_InvalidateRegion(void)
|
||||
|
||||
gdi_InvalidateRegion(hdc, rgn1->x, rgn1->y, rgn1->w, rgn1->h);
|
||||
|
||||
if (gdi_EqualRgn(invalid, rgn2) != 1)
|
||||
if (!gdi_EqualRgn(invalid, rgn2))
|
||||
return -1;
|
||||
|
||||
/* left outside */
|
||||
@@ -230,7 +230,7 @@ int test_gdi_InvalidateRegion(void)
|
||||
|
||||
gdi_InvalidateRegion(hdc, rgn1->x, rgn1->y, rgn1->w, rgn1->h);
|
||||
|
||||
if (gdi_EqualRgn(invalid, rgn2) != 1)
|
||||
if (!gdi_EqualRgn(invalid, rgn2))
|
||||
return -1;
|
||||
|
||||
/* right outside */
|
||||
@@ -240,7 +240,7 @@ int test_gdi_InvalidateRegion(void)
|
||||
|
||||
gdi_InvalidateRegion(hdc, rgn1->x, rgn1->y, rgn1->w, rgn1->h);
|
||||
|
||||
if (gdi_EqualRgn(invalid, rgn2) != 1)
|
||||
if (!gdi_EqualRgn(invalid, rgn2))
|
||||
return -1;
|
||||
|
||||
/* top outside */
|
||||
@@ -250,7 +250,7 @@ int test_gdi_InvalidateRegion(void)
|
||||
|
||||
gdi_InvalidateRegion(hdc, rgn1->x, rgn1->y, rgn1->w, rgn1->h);
|
||||
|
||||
if (gdi_EqualRgn(invalid, rgn2) != 1)
|
||||
if (!gdi_EqualRgn(invalid, rgn2))
|
||||
return -1;
|
||||
|
||||
/* bottom outside */
|
||||
@@ -260,7 +260,7 @@ int test_gdi_InvalidateRegion(void)
|
||||
|
||||
gdi_InvalidateRegion(hdc, rgn1->x, rgn1->y, rgn1->w, rgn1->h);
|
||||
|
||||
if (gdi_EqualRgn(invalid, rgn2) != 1)
|
||||
if (!gdi_EqualRgn(invalid, rgn2))
|
||||
return -1;
|
||||
|
||||
/* left outside, right outside */
|
||||
@@ -270,7 +270,7 @@ int test_gdi_InvalidateRegion(void)
|
||||
|
||||
gdi_InvalidateRegion(hdc, rgn1->x, rgn1->y, rgn1->w, rgn1->h);
|
||||
|
||||
if (gdi_EqualRgn(invalid, rgn2) != 1)
|
||||
if (!gdi_EqualRgn(invalid, rgn2))
|
||||
return -1;
|
||||
|
||||
/* top outside, bottom outside */
|
||||
@@ -280,7 +280,7 @@ int test_gdi_InvalidateRegion(void)
|
||||
|
||||
gdi_InvalidateRegion(hdc, rgn1->x, rgn1->y, rgn1->w, rgn1->h);
|
||||
|
||||
if (gdi_EqualRgn(invalid, rgn2) != 1)
|
||||
if (!gdi_EqualRgn(invalid, rgn2))
|
||||
return -1;
|
||||
|
||||
/* all outside, left */
|
||||
@@ -290,7 +290,7 @@ int test_gdi_InvalidateRegion(void)
|
||||
|
||||
gdi_InvalidateRegion(hdc, rgn1->x, rgn1->y, rgn1->w, rgn1->h);
|
||||
|
||||
if (gdi_EqualRgn(invalid, rgn2) != 1)
|
||||
if (!gdi_EqualRgn(invalid, rgn2))
|
||||
return -1;
|
||||
|
||||
/* all outside, right */
|
||||
@@ -300,7 +300,7 @@ int test_gdi_InvalidateRegion(void)
|
||||
|
||||
gdi_InvalidateRegion(hdc, rgn1->x, rgn1->y, rgn1->w, rgn1->h);
|
||||
|
||||
if (gdi_EqualRgn(invalid, rgn2) != 1)
|
||||
if (!gdi_EqualRgn(invalid, rgn2))
|
||||
return -1;
|
||||
|
||||
/* all outside, top */
|
||||
@@ -310,7 +310,7 @@ int test_gdi_InvalidateRegion(void)
|
||||
|
||||
gdi_InvalidateRegion(hdc, rgn1->x, rgn1->y, rgn1->w, rgn1->h);
|
||||
|
||||
if (gdi_EqualRgn(invalid, rgn2) != 1)
|
||||
if (!gdi_EqualRgn(invalid, rgn2))
|
||||
return -1;
|
||||
|
||||
/* all outside, bottom */
|
||||
@@ -320,7 +320,7 @@ int test_gdi_InvalidateRegion(void)
|
||||
|
||||
gdi_InvalidateRegion(hdc, rgn1->x, rgn1->y, rgn1->w, rgn1->h);
|
||||
|
||||
if (gdi_EqualRgn(invalid, rgn2) != 1)
|
||||
if (!gdi_EqualRgn(invalid, rgn2))
|
||||
return -1;
|
||||
|
||||
/* all outside */
|
||||
@@ -330,7 +330,7 @@ int test_gdi_InvalidateRegion(void)
|
||||
|
||||
gdi_InvalidateRegion(hdc, rgn1->x, rgn1->y, rgn1->w, rgn1->h);
|
||||
|
||||
if (gdi_EqualRgn(invalid, rgn2) != 1)
|
||||
if (!gdi_EqualRgn(invalid, rgn2))
|
||||
return -1;
|
||||
|
||||
/* everything */
|
||||
@@ -340,7 +340,7 @@ int test_gdi_InvalidateRegion(void)
|
||||
|
||||
gdi_InvalidateRegion(hdc, rgn1->x, rgn1->y, rgn1->w, rgn1->h);
|
||||
|
||||
if (gdi_EqualRgn(invalid, rgn2) != 1)
|
||||
if (!gdi_EqualRgn(invalid, rgn2))
|
||||
return -1;
|
||||
|
||||
return 0;
|
||||
|
||||
@@ -48,7 +48,11 @@ int test_gdi_CreateCompatibleDC(void)
|
||||
hdc->bitsPerPixel = 16;
|
||||
hdc->drawMode = GDI_R2_XORPEN;
|
||||
|
||||
chdc = gdi_CreateCompatibleDC(hdc);
|
||||
if (!(chdc = gdi_CreateCompatibleDC(hdc)))
|
||||
{
|
||||
printf("gdi_CreateCompatibleDC failed\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (chdc->bytesPerPixel != hdc->bytesPerPixel)
|
||||
return -1;
|
||||
@@ -73,8 +77,17 @@ int test_gdi_CreateBitmap(void)
|
||||
bpp = 32;
|
||||
width = 32;
|
||||
height = 16;
|
||||
data = (BYTE*) malloc(width * height * 4);
|
||||
hBitmap = gdi_CreateBitmap(width, height, bpp, data);
|
||||
if (!(data = (BYTE*) _aligned_malloc(width * height * 4, 16)))
|
||||
{
|
||||
printf("failed to allocate aligned bitmap data memory\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (!(hBitmap = gdi_CreateBitmap(width, height, bpp, data)))
|
||||
{
|
||||
printf("gdi_CreateBitmap failed\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (hBitmap->objectType != GDIOBJECT_BITMAP)
|
||||
return -1;
|
||||
@@ -143,6 +156,12 @@ int test_gdi_CreatePen(void)
|
||||
{
|
||||
HGDI_PEN hPen = gdi_CreatePen(GDI_PS_SOLID, 8, 0xAABBCCDD);
|
||||
|
||||
if (!hPen)
|
||||
{
|
||||
printf("gdi_CreatePen failed\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (hPen->style != GDI_PS_SOLID)
|
||||
return -1;
|
||||
|
||||
@@ -231,14 +250,17 @@ int test_gdi_CreateRectRgn(void)
|
||||
|
||||
int test_gdi_CreateRect(void)
|
||||
{
|
||||
HGDI_RECT hRect;
|
||||
int x1 = 32;
|
||||
int y1 = 64;
|
||||
int x2 = 128;
|
||||
int y2 = 256;
|
||||
|
||||
HGDI_RECT hRect = gdi_CreateRect(x1, y1, x2, y2);
|
||||
if (!hRect)
|
||||
if (!(hRect = gdi_CreateRect(x1, y1, x2, y2)))
|
||||
{
|
||||
printf("gdi_CreateRect failed\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (hRect->objectType != GDIOBJECT_RECT)
|
||||
return -1;
|
||||
@@ -356,7 +378,12 @@ int test_gdi_MoveToEx(void)
|
||||
return -1;
|
||||
}
|
||||
|
||||
hPen = gdi_CreatePen(GDI_PS_SOLID, 8, 0xAABBCCDD);
|
||||
if (!(hPen = gdi_CreatePen(GDI_PS_SOLID, 8, 0xAABBCCDD)))
|
||||
{
|
||||
printf("gdi_CreatePen failed\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
gdi_SelectObject(hdc, (HGDIOBJECT) hPen);
|
||||
gdi_MoveToEx(hdc, 128, 256, NULL);
|
||||
|
||||
|
||||
@@ -101,7 +101,12 @@ int TestGdiEllipse(int argc, char* argv[])
|
||||
hdc->bytesPerPixel = bytesPerPixel;
|
||||
gdi_SetNullClipRgn(hdc);
|
||||
|
||||
pen = gdi_CreatePen(1, 1, 0);
|
||||
if (!(pen = gdi_CreatePen(1, 1, 0)))
|
||||
{
|
||||
printf("gdi_CreatePen failed\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
gdi_SelectObject(hdc, (HGDIOBJECT) pen);
|
||||
|
||||
hBmp = gdi_CreateCompatibleBitmap(hdc, 16, 16);
|
||||
@@ -124,7 +129,11 @@ int TestGdiEllipse(int argc, char* argv[])
|
||||
hBmp_Ellipse_3 = gdi_CreateBitmap(16, 16, bitsPerPixel, data);
|
||||
|
||||
/* Test Case 1: (0,0) -> (16, 16) */
|
||||
gdi_BitBlt(hdc, 0, 0, 16, 16, hdc, 0, 0, GDI_WHITENESS);
|
||||
if (!gdi_BitBlt(hdc, 0, 0, 16, 16, hdc, 0, 0, GDI_WHITENESS))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
gdi_Ellipse(hdc, 0, 0, 16, 16);
|
||||
|
||||
return 0;
|
||||
|
||||
@@ -648,7 +648,12 @@ int TestGdiLine(int argc, char* argv[])
|
||||
hdc->bytesPerPixel = bytesPerPixel;
|
||||
gdi_SetNullClipRgn(hdc);
|
||||
|
||||
pen = gdi_CreatePen(1, 1, 0);
|
||||
if (!(pen = gdi_CreatePen(1, 1, 0)))
|
||||
{
|
||||
printf("gdi_CreatePen failed\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
gdi_SelectObject(hdc, (HGDIOBJECT) pen);
|
||||
|
||||
hBmp = gdi_CreateCompatibleBitmap(hdc, 16, 16);
|
||||
@@ -746,7 +751,11 @@ int TestGdiLine(int argc, char* argv[])
|
||||
hBmp_LineTo_R2_WHITE = gdi_CreateBitmap(16, 16, bitsPerPixel, data);
|
||||
|
||||
/* Test Case 1: (0,0) -> (15, 15) */
|
||||
gdi_BitBlt(hdc, 0, 0, 16, 16, hdc, 0, 0, GDI_WHITENESS);
|
||||
if (!gdi_BitBlt(hdc, 0, 0, 16, 16, hdc, 0, 0, GDI_WHITENESS))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
gdi_MoveToEx(hdc, 0, 0, NULL);
|
||||
gdi_LineTo(hdc, 15, 15);
|
||||
|
||||
@@ -754,7 +763,11 @@ int TestGdiLine(int argc, char* argv[])
|
||||
return -1;
|
||||
|
||||
/* Test Case 2: (15,15) -> (0,0) */
|
||||
gdi_BitBlt(hdc, 0, 0, 16, 16, hdc, 0, 0, GDI_WHITENESS);
|
||||
if (!gdi_BitBlt(hdc, 0, 0, 16, 16, hdc, 0, 0, GDI_WHITENESS))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
gdi_MoveToEx(hdc, 15, 15, NULL);
|
||||
gdi_LineTo(hdc, 0, 0);
|
||||
|
||||
@@ -762,7 +775,11 @@ int TestGdiLine(int argc, char* argv[])
|
||||
return -1;
|
||||
|
||||
/* Test Case 3: (15,0) -> (0,15) */
|
||||
gdi_BitBlt(hdc, 0, 0, 16, 16, hdc, 0, 0, GDI_WHITENESS);
|
||||
if (!gdi_BitBlt(hdc, 0, 0, 16, 16, hdc, 0, 0, GDI_WHITENESS))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
gdi_MoveToEx(hdc, 15, 0, NULL);
|
||||
gdi_LineTo(hdc, 0, 15);
|
||||
|
||||
@@ -770,7 +787,11 @@ int TestGdiLine(int argc, char* argv[])
|
||||
return -1;
|
||||
|
||||
/* Test Case 4: (0,15) -> (15,0) */
|
||||
gdi_BitBlt(hdc, 0, 0, 16, 16, hdc, 0, 0, GDI_WHITENESS);
|
||||
if (!gdi_BitBlt(hdc, 0, 0, 16, 16, hdc, 0, 0, GDI_WHITENESS))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
gdi_MoveToEx(hdc, 0, 15, NULL);
|
||||
gdi_LineTo(hdc, 15, 0);
|
||||
|
||||
@@ -778,7 +799,11 @@ int TestGdiLine(int argc, char* argv[])
|
||||
return -1;
|
||||
|
||||
/* Test Case 5: (0,8) -> (15,8) */
|
||||
gdi_BitBlt(hdc, 0, 0, 16, 16, hdc, 0, 0, GDI_WHITENESS);
|
||||
if (!gdi_BitBlt(hdc, 0, 0, 16, 16, hdc, 0, 0, GDI_WHITENESS))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
gdi_MoveToEx(hdc, 0, 8, NULL);
|
||||
gdi_LineTo(hdc, 15, 8);
|
||||
|
||||
@@ -786,7 +811,11 @@ int TestGdiLine(int argc, char* argv[])
|
||||
return -1;
|
||||
|
||||
/* Test Case 6: (15,8) -> (0,8) */
|
||||
gdi_BitBlt(hdc, 0, 0, 16, 16, hdc, 0, 0, GDI_WHITENESS);
|
||||
if (!gdi_BitBlt(hdc, 0, 0, 16, 16, hdc, 0, 0, GDI_WHITENESS))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
gdi_MoveToEx(hdc, 15, 8, NULL);
|
||||
gdi_LineTo(hdc, 0, 8);
|
||||
|
||||
@@ -794,7 +823,11 @@ int TestGdiLine(int argc, char* argv[])
|
||||
return -1;
|
||||
|
||||
/* Test Case 7: (8,0) -> (8,15) */
|
||||
gdi_BitBlt(hdc, 0, 0, 16, 16, hdc, 0, 0, GDI_WHITENESS);
|
||||
if (!gdi_BitBlt(hdc, 0, 0, 16, 16, hdc, 0, 0, GDI_WHITENESS))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
gdi_MoveToEx(hdc, 8, 0, NULL);
|
||||
gdi_LineTo(hdc, 8, 15);
|
||||
|
||||
@@ -802,7 +835,11 @@ int TestGdiLine(int argc, char* argv[])
|
||||
return -1;
|
||||
|
||||
/* Test Case 8: (8,15) -> (8,0) */
|
||||
gdi_BitBlt(hdc, 0, 0, 16, 16, hdc, 0, 0, GDI_WHITENESS);
|
||||
if (!gdi_BitBlt(hdc, 0, 0, 16, 16, hdc, 0, 0, GDI_WHITENESS))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
gdi_MoveToEx(hdc, 8, 15, NULL);
|
||||
gdi_LineTo(hdc, 8, 0);
|
||||
|
||||
@@ -810,7 +847,11 @@ int TestGdiLine(int argc, char* argv[])
|
||||
return -1;
|
||||
|
||||
/* Test Case 9: (4,4) -> (12,12) */
|
||||
gdi_BitBlt(hdc, 0, 0, 16, 16, hdc, 0, 0, GDI_WHITENESS);
|
||||
if (!gdi_BitBlt(hdc, 0, 0, 16, 16, hdc, 0, 0, GDI_WHITENESS))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
gdi_MoveToEx(hdc, 4, 4, NULL);
|
||||
gdi_LineTo(hdc, 12, 12);
|
||||
|
||||
@@ -818,7 +859,11 @@ int TestGdiLine(int argc, char* argv[])
|
||||
return -1;
|
||||
|
||||
/* Test Case 10: (12,12) -> (4,4) */
|
||||
gdi_BitBlt(hdc, 0, 0, 16, 16, hdc, 0, 0, GDI_WHITENESS);
|
||||
if (!gdi_BitBlt(hdc, 0, 0, 16, 16, hdc, 0, 0, GDI_WHITENESS))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
gdi_MoveToEx(hdc, 12, 12, NULL);
|
||||
gdi_LineTo(hdc, 4, 4);
|
||||
|
||||
@@ -826,7 +871,11 @@ int TestGdiLine(int argc, char* argv[])
|
||||
return -1;
|
||||
|
||||
/* Test Case 11: (0,0) -> (+10,+10) */
|
||||
gdi_BitBlt(hdc, 0, 0, 16, 16, hdc, 0, 0, GDI_WHITENESS);
|
||||
if (!gdi_BitBlt(hdc, 0, 0, 16, 16, hdc, 0, 0, GDI_WHITENESS))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
gdi_SetClipRgn(hdc, 0, 0, 16, 16);
|
||||
gdi_MoveToEx(hdc, 0, 0, NULL);
|
||||
gdi_LineTo(hdc, 16 + 10, 16 + 10);
|
||||
@@ -835,7 +884,11 @@ int TestGdiLine(int argc, char* argv[])
|
||||
return -1;
|
||||
|
||||
/* Test Case 12: (0,0) -> (16,16), R2_BLACK */
|
||||
gdi_BitBlt(hdc, 0, 0, 16, 16, hdc, 0, 0, GDI_WHITENESS);
|
||||
if (!gdi_BitBlt(hdc, 0, 0, 16, 16, hdc, 0, 0, GDI_WHITENESS))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
gdi_SetClipRgn(hdc, 0, 0, 16, 16);
|
||||
gdi_MoveToEx(hdc, 0, 0, NULL);
|
||||
gdi_SetROP2(hdc, GDI_R2_BLACK);
|
||||
@@ -845,7 +898,11 @@ int TestGdiLine(int argc, char* argv[])
|
||||
return -1;
|
||||
|
||||
/* Test Case 13: (0,0) -> (16,16), R2_NOTMERGEPEN */
|
||||
gdi_BitBlt(hdc, 0, 0, 16, 16, hdc, 0, 0, GDI_WHITENESS);
|
||||
if (!gdi_BitBlt(hdc, 0, 0, 16, 16, hdc, 0, 0, GDI_WHITENESS))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
gdi_SetClipRgn(hdc, 0, 0, 16, 16);
|
||||
gdi_MoveToEx(hdc, 0, 0, NULL);
|
||||
gdi_SetROP2(hdc, GDI_R2_NOTMERGEPEN);
|
||||
@@ -855,7 +912,11 @@ int TestGdiLine(int argc, char* argv[])
|
||||
return -1;
|
||||
|
||||
/* Test Case 14: (0,0) -> (16,16), R2_MASKNOTPEN */
|
||||
gdi_BitBlt(hdc, 0, 0, 16, 16, hdc, 0, 0, GDI_WHITENESS);
|
||||
if (!gdi_BitBlt(hdc, 0, 0, 16, 16, hdc, 0, 0, GDI_WHITENESS))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
gdi_SetClipRgn(hdc, 0, 0, 16, 16);
|
||||
gdi_MoveToEx(hdc, 0, 0, NULL);
|
||||
gdi_SetROP2(hdc, GDI_R2_MASKNOTPEN);
|
||||
@@ -865,7 +926,11 @@ int TestGdiLine(int argc, char* argv[])
|
||||
return -1;
|
||||
|
||||
/* Test Case 15: (0,0) -> (16,16), R2_NOTCOPYPEN */
|
||||
gdi_BitBlt(hdc, 0, 0, 16, 16, hdc, 0, 0, GDI_WHITENESS);
|
||||
if (!gdi_BitBlt(hdc, 0, 0, 16, 16, hdc, 0, 0, GDI_WHITENESS))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
gdi_SetClipRgn(hdc, 0, 0, 16, 16);
|
||||
gdi_MoveToEx(hdc, 0, 0, NULL);
|
||||
gdi_SetROP2(hdc, GDI_R2_NOTCOPYPEN);
|
||||
@@ -875,7 +940,11 @@ int TestGdiLine(int argc, char* argv[])
|
||||
return -1;
|
||||
|
||||
/* Test Case 16: (0,0) -> (16,16), R2_MASKPENNOT */
|
||||
gdi_BitBlt(hdc, 0, 0, 16, 16, hdc, 0, 0, GDI_WHITENESS);
|
||||
if (!gdi_BitBlt(hdc, 0, 0, 16, 16, hdc, 0, 0, GDI_WHITENESS))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
gdi_SetClipRgn(hdc, 0, 0, 16, 16);
|
||||
gdi_MoveToEx(hdc, 0, 0, NULL);
|
||||
gdi_SetROP2(hdc, GDI_R2_MASKPENNOT);
|
||||
@@ -885,7 +954,11 @@ int TestGdiLine(int argc, char* argv[])
|
||||
return -1;
|
||||
|
||||
/* Test Case 17: (0,0) -> (16,16), R2_NOT */
|
||||
gdi_BitBlt(hdc, 0, 0, 16, 16, hdc, 0, 0, GDI_WHITENESS);
|
||||
if (!gdi_BitBlt(hdc, 0, 0, 16, 16, hdc, 0, 0, GDI_WHITENESS))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
gdi_SetClipRgn(hdc, 0, 0, 16, 16);
|
||||
gdi_MoveToEx(hdc, 0, 0, NULL);
|
||||
gdi_SetROP2(hdc, GDI_R2_NOT);
|
||||
@@ -895,7 +968,11 @@ int TestGdiLine(int argc, char* argv[])
|
||||
return -1;
|
||||
|
||||
/* Test Case 18: (0,0) -> (16,16), R2_XORPEN */
|
||||
gdi_BitBlt(hdc, 0, 0, 16, 16, hdc, 0, 0, GDI_WHITENESS);
|
||||
if (!gdi_BitBlt(hdc, 0, 0, 16, 16, hdc, 0, 0, GDI_WHITENESS))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
gdi_SetClipRgn(hdc, 0, 0, 16, 16);
|
||||
gdi_MoveToEx(hdc, 0, 0, NULL);
|
||||
gdi_SetROP2(hdc, GDI_R2_XORPEN);
|
||||
@@ -905,7 +982,11 @@ int TestGdiLine(int argc, char* argv[])
|
||||
return -1;
|
||||
|
||||
/* Test Case 19: (0,0) -> (16,16), R2_NOTMASKPEN */
|
||||
gdi_BitBlt(hdc, 0, 0, 16, 16, hdc, 0, 0, GDI_WHITENESS);
|
||||
if (!gdi_BitBlt(hdc, 0, 0, 16, 16, hdc, 0, 0, GDI_WHITENESS))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
gdi_SetClipRgn(hdc, 0, 0, 16, 16);
|
||||
gdi_MoveToEx(hdc, 0, 0, NULL);
|
||||
gdi_SetROP2(hdc, GDI_R2_NOTMASKPEN);
|
||||
@@ -915,7 +996,11 @@ int TestGdiLine(int argc, char* argv[])
|
||||
return -1;
|
||||
|
||||
/* Test Case 20: (0,0) -> (16,16), R2_MASKPEN */
|
||||
gdi_BitBlt(hdc, 0, 0, 16, 16, hdc, 0, 0, GDI_WHITENESS);
|
||||
if (!gdi_BitBlt(hdc, 0, 0, 16, 16, hdc, 0, 0, GDI_WHITENESS))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
gdi_SetClipRgn(hdc, 0, 0, 16, 16);
|
||||
gdi_MoveToEx(hdc, 0, 0, NULL);
|
||||
gdi_SetROP2(hdc, GDI_R2_MASKPEN);
|
||||
@@ -925,7 +1010,11 @@ int TestGdiLine(int argc, char* argv[])
|
||||
return -1;
|
||||
|
||||
/* Test Case 21: (0,0) -> (16,16), R2_NOTXORPEN */
|
||||
gdi_BitBlt(hdc, 0, 0, 16, 16, hdc, 0, 0, GDI_WHITENESS);
|
||||
if (!gdi_BitBlt(hdc, 0, 0, 16, 16, hdc, 0, 0, GDI_WHITENESS))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
gdi_SetClipRgn(hdc, 0, 0, 16, 16);
|
||||
gdi_MoveToEx(hdc, 0, 0, NULL);
|
||||
gdi_SetROP2(hdc, GDI_R2_NOTXORPEN);
|
||||
@@ -935,7 +1024,11 @@ int TestGdiLine(int argc, char* argv[])
|
||||
return -1;
|
||||
|
||||
/* Test Case 22: (0,0) -> (16,16), R2_NOP */
|
||||
gdi_BitBlt(hdc, 0, 0, 16, 16, hdc, 0, 0, GDI_WHITENESS);
|
||||
if (!gdi_BitBlt(hdc, 0, 0, 16, 16, hdc, 0, 0, GDI_WHITENESS))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
gdi_SetClipRgn(hdc, 0, 0, 16, 16);
|
||||
gdi_MoveToEx(hdc, 0, 0, NULL);
|
||||
gdi_SetROP2(hdc, GDI_R2_NOP);
|
||||
@@ -945,7 +1038,11 @@ int TestGdiLine(int argc, char* argv[])
|
||||
return -1;
|
||||
|
||||
/* Test Case 23: (0,0) -> (16,16), R2_MERGENOTPEN */
|
||||
gdi_BitBlt(hdc, 0, 0, 16, 16, hdc, 0, 0, GDI_WHITENESS);
|
||||
if (!gdi_BitBlt(hdc, 0, 0, 16, 16, hdc, 0, 0, GDI_WHITENESS))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
gdi_SetClipRgn(hdc, 0, 0, 16, 16);
|
||||
gdi_MoveToEx(hdc, 0, 0, NULL);
|
||||
gdi_SetROP2(hdc, GDI_R2_MERGENOTPEN);
|
||||
@@ -955,7 +1052,11 @@ int TestGdiLine(int argc, char* argv[])
|
||||
return -1;
|
||||
|
||||
/* Test Case 24: (0,0) -> (16,16), R2_COPYPEN */
|
||||
gdi_BitBlt(hdc, 0, 0, 16, 16, hdc, 0, 0, GDI_WHITENESS);
|
||||
if (!gdi_BitBlt(hdc, 0, 0, 16, 16, hdc, 0, 0, GDI_WHITENESS))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
gdi_SetClipRgn(hdc, 0, 0, 16, 16);
|
||||
gdi_MoveToEx(hdc, 0, 0, NULL);
|
||||
gdi_SetROP2(hdc, GDI_R2_COPYPEN);
|
||||
@@ -965,7 +1066,11 @@ int TestGdiLine(int argc, char* argv[])
|
||||
return -1;
|
||||
|
||||
/* Test Case 25: (0,0) -> (16,16), R2_MERGEPENNOT */
|
||||
gdi_BitBlt(hdc, 0, 0, 16, 16, hdc, 0, 0, GDI_WHITENESS);
|
||||
if (!gdi_BitBlt(hdc, 0, 0, 16, 16, hdc, 0, 0, GDI_WHITENESS))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
gdi_SetClipRgn(hdc, 0, 0, 16, 16);
|
||||
gdi_MoveToEx(hdc, 0, 0, NULL);
|
||||
gdi_SetROP2(hdc, GDI_R2_MERGEPENNOT);
|
||||
@@ -975,7 +1080,11 @@ int TestGdiLine(int argc, char* argv[])
|
||||
return -1;
|
||||
|
||||
/* Test Case 26: (0,0) -> (16,16), R2_MERGEPEN */
|
||||
gdi_BitBlt(hdc, 0, 0, 16, 16, hdc, 0, 0, GDI_WHITENESS);
|
||||
if (!gdi_BitBlt(hdc, 0, 0, 16, 16, hdc, 0, 0, GDI_WHITENESS))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
gdi_SetClipRgn(hdc, 0, 0, 16, 16);
|
||||
gdi_MoveToEx(hdc, 0, 0, NULL);
|
||||
gdi_SetROP2(hdc, GDI_R2_MERGEPEN);
|
||||
@@ -985,7 +1094,11 @@ int TestGdiLine(int argc, char* argv[])
|
||||
return -1;
|
||||
|
||||
/* Test Case 27: (0,0) -> (16,16), R2_WHITE */
|
||||
gdi_BitBlt(hdc, 0, 0, 16, 16, hdc, 0, 0, GDI_WHITENESS);
|
||||
if (!gdi_BitBlt(hdc, 0, 0, 16, 16, hdc, 0, 0, GDI_WHITENESS))
|
||||
{
|
||||
printf("gdi_BitBlt failed (line #%u)\n", __LINE__);
|
||||
return -1;
|
||||
}
|
||||
gdi_SetClipRgn(hdc, 0, 0, 16, 16);
|
||||
gdi_MoveToEx(hdc, 0, 0, NULL);
|
||||
gdi_SetROP2(hdc, GDI_R2_WHITE);
|
||||
|
||||
@@ -24,33 +24,37 @@ int test_gdi_PtInRect(void)
|
||||
int right = 60;
|
||||
int bottom = 80;
|
||||
|
||||
hRect = gdi_CreateRect(left, top, right, bottom);
|
||||
if (!(hRect = gdi_CreateRect(left, top, right, bottom)))
|
||||
{
|
||||
printf("gdi_CreateRect failed\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (gdi_PtInRect(hRect, 0, 0) != 0)
|
||||
if (gdi_PtInRect(hRect, 0, 0))
|
||||
return -1;
|
||||
|
||||
if (gdi_PtInRect(hRect, 500, 500) != 0)
|
||||
if (gdi_PtInRect(hRect, 500, 500))
|
||||
return -1;
|
||||
|
||||
if (gdi_PtInRect(hRect, 40, 100) != 0)
|
||||
if (gdi_PtInRect(hRect, 40, 100))
|
||||
return -1;
|
||||
|
||||
if (gdi_PtInRect(hRect, 10, 40) != 0)
|
||||
if (gdi_PtInRect(hRect, 10, 40))
|
||||
return -1;
|
||||
|
||||
if (gdi_PtInRect(hRect, 30, 50) != 1)
|
||||
if (!gdi_PtInRect(hRect, 30, 50))
|
||||
return -1;
|
||||
|
||||
if (gdi_PtInRect(hRect, left, top) != 1)
|
||||
if (!gdi_PtInRect(hRect, left, top))
|
||||
return -1;
|
||||
|
||||
if (gdi_PtInRect(hRect, right, bottom) != 1)
|
||||
if (!gdi_PtInRect(hRect, right, bottom))
|
||||
return -1;
|
||||
|
||||
if (gdi_PtInRect(hRect, right, 60) != 1)
|
||||
if (!gdi_PtInRect(hRect, right, 60))
|
||||
return -1;
|
||||
|
||||
if (gdi_PtInRect(hRect, 40, bottom) != 1)
|
||||
if (!gdi_PtInRect(hRect, 40, bottom))
|
||||
return -1;
|
||||
|
||||
return 0;
|
||||
@@ -86,7 +90,11 @@ int test_gdi_FillRect(void)
|
||||
hdc->bytesPerPixel = 4;
|
||||
hdc->bitsPerPixel = 32;
|
||||
|
||||
hRect = gdi_CreateRect(left, top, right, bottom);
|
||||
if (!(hRect = gdi_CreateRect(left, top, right, bottom)))
|
||||
{
|
||||
printf("gdi_CreateRect failed\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
hBitmap = gdi_CreateCompatibleBitmap(hdc, width, height);
|
||||
ZeroMemory(hBitmap->data, width * height * hdc->bytesPerPixel);
|
||||
|
||||
Reference in New Issue
Block a user