Commit a42e6aef authored by Marcus Meissner's avatar Marcus Meissner Committed by Alexandre Julliard

Added DRAWPATTERNRECT Escape() 16<->32 mapper and stub in WINEPS.

parent f0db7ab0
...@@ -646,11 +646,24 @@ INT16 WINAPI Escape16( HDC16 hdc, INT16 escape, INT16 in_count, SEGPTR in_data, ...@@ -646,11 +646,24 @@ INT16 WINAPI Escape16( HDC16 hdc, INT16 escape, INT16 in_count, SEGPTR in_data,
rc16->bottom = rc.bottom; rc16->bottom = rc.bottom;
return ret; return ret;
} }
/* Escape(hdc,DRAWPATTERNRECT,PRECT_STRUCT*,NULL); */
case DRAWPATTERNRECT:
{
DRAWPATRECT pr;
DRAWPATRECT16 *pr16 = (DRAWPATRECT16*)MapSL(in_data);
pr.ptPosition.x = pr16->ptPosition.x;
pr.ptPosition.y = pr16->ptPosition.y;
pr.ptSize.x = pr16->ptSize.x;
pr.ptSize.y = pr16->ptSize.y;
pr.wStyle = pr16->wStyle;
pr.wPattern = pr16->wPattern;
return Escape( HDC_32(hdc), escape, sizeof(pr), (LPCSTR)&pr, NULL );
}
/* Escape(hdc,ABORTDOC,NULL,NULL); */ /* Escape(hdc,ABORTDOC,NULL,NULL); */
/* Escape(hdc,BANDINFO,BANDINFOSTRUCT*,BANDINFOSTRUCT*); */ /* Escape(hdc,BANDINFO,BANDINFOSTRUCT*,BANDINFOSTRUCT*); */
/* Escape(hdc,BEGIN_PATH,NULL,NULL); */ /* Escape(hdc,BEGIN_PATH,NULL,NULL); */
/* Escape(hdc,DRAWPATTERNRECT,PRECT_STRUCT*,NULL); */
/* Escape(hdc,ENDDOC,NULL,NULL); */ /* Escape(hdc,ENDDOC,NULL,NULL); */
/* Escape(hdc,END_PATH,PATHINFO,NULL); */ /* Escape(hdc,END_PATH,PATHINFO,NULL); */
/* Escape(hdc,EXTTEXTOUT,EXTTEXT_STRUCT*,NULL); */ /* Escape(hdc,EXTTEXTOUT,EXTTEXT_STRUCT*,NULL); */
...@@ -674,7 +687,6 @@ INT16 WINAPI Escape16( HDC16 hdc, INT16 escape, INT16 in_count, SEGPTR in_data, ...@@ -674,7 +687,6 @@ INT16 WINAPI Escape16( HDC16 hdc, INT16 escape, INT16 in_count, SEGPTR in_data,
case ABORTDOC: case ABORTDOC:
case BANDINFO: case BANDINFO:
case BEGIN_PATH: case BEGIN_PATH:
case DRAWPATTERNRECT:
case ENDDOC: case ENDDOC:
case END_PATH: case END_PATH:
case EXTTEXTOUT: case EXTTEXTOUT:
......
...@@ -54,6 +54,7 @@ INT PSDRV_ExtEscape( PSDRV_PDEVICE *physDev, INT nEscape, INT cbInput, LPCVOID i ...@@ -54,6 +54,7 @@ INT PSDRV_ExtEscape( PSDRV_PDEVICE *physDev, INT nEscape, INT cbInput, LPCVOID i
switch(num) { switch(num) {
case NEXTBAND: case NEXTBAND:
/*case BANDINFO:*/
case SETCOPYCOUNT: case SETCOPYCOUNT:
case GETTECHNOLOGY: case GETTECHNOLOGY:
case SETLINECAP: case SETLINECAP:
...@@ -70,13 +71,50 @@ INT PSDRV_ExtEscape( PSDRV_PDEVICE *physDev, INT nEscape, INT cbInput, LPCVOID i ...@@ -70,13 +71,50 @@ INT PSDRV_ExtEscape( PSDRV_PDEVICE *physDev, INT nEscape, INT cbInput, LPCVOID i
case BEGIN_PATH: case BEGIN_PATH:
case CLIP_TO_PATH: case CLIP_TO_PATH:
case END_PATH: case END_PATH:
/*case DRAWPATTERNRECT:*/
return TRUE; return TRUE;
default: default:
FIXME("QUERYESCSUPPORT(%d) - not supported.\n", num);
return FALSE; return FALSE;
} }
} }
case MFCOMMENT:
{
int i;
FIXME("MFCOMMENT(%p, %d)\n", in_data, cbInput);
for (i=0;i<cbInput;i++) MESSAGE("%02x ", ((LPBYTE)in_data)[i]);
MESSAGE("\n");
return 1;
}
case DRAWPATTERNRECT:
{
DRAWPATRECT *dpr = (DRAWPATRECT*)in_data;
FIXME("DRAWPATTERNRECT(pos (%ld,%ld), size %ldx%ld, style %d, pattern %x), stub!\n",
dpr->ptPosition.x, dpr->ptPosition.y,
dpr->ptSize.x, dpr->ptSize.y,
dpr->wStyle, dpr->wPattern
);
return 1;
}
case BANDINFO:
{
BANDINFOSTRUCT *ibi = (BANDINFOSTRUCT*)in_data;
BANDINFOSTRUCT *obi = (BANDINFOSTRUCT*)out_data;
FIXME("BANDINFO(graphics %d, text %d, rect [%ldx%ld-%ldx%ld]), stub!\n",
ibi->GraphicsFlag,
ibi->TextFlag,
ibi->GraphicsRect.top,
ibi->GraphicsRect.bottom,
ibi->GraphicsRect.left,
ibi->GraphicsRect.right
);
memcpy (obi, ibi, sizeof(*ibi));
return 1;
}
case NEXTBAND: case NEXTBAND:
{ {
RECT *r = out_data; RECT *r = out_data;
......
...@@ -141,6 +141,14 @@ typedef struct _tagPAGESIZE { ...@@ -141,6 +141,14 @@ typedef struct _tagPAGESIZE {
} PAGESIZE; } PAGESIZE;
/* For BANDINFO Escape */
typedef struct _BANDINFOSTRUCT
{
BOOL GraphicsFlag;
BOOL TextFlag;
RECT GraphicsRect;
} BANDINFOSTRUCT, *PBANDINFOSTRUCT;
typedef struct _tagOPTIONENTRY { typedef struct _tagOPTIONENTRY {
char *Name; /* eg "True" */ char *Name; /* eg "True" */
char *FullName; /* eg "Installed" */ char *FullName; /* eg "Installed" */
......
...@@ -355,6 +355,15 @@ struct PATH_INFO { ...@@ -355,6 +355,15 @@ struct PATH_INFO {
#define RENDERMODE_OPEN 1 #define RENDERMODE_OPEN 1
#define RENDERMODE_CLOSED 2 #define RENDERMODE_CLOSED 2
/* For DRAWPATTERNRECT Escape, 16bit mode */
typedef struct _DRAWPATRECT16
{
POINT16 ptPosition;
POINT16 ptSize;
WORD wStyle;
WORD wPattern;
} DRAWPATRECT16, *PDRAWPATRECT16;
#include <poppack.h> #include <poppack.h>
......
...@@ -3204,6 +3204,14 @@ typedef struct _BLENDFUNCTION ...@@ -3204,6 +3204,14 @@ typedef struct _BLENDFUNCTION
#define LAYOUT_BITMAPORIENTATIONPRESERVED 0x00000008 #define LAYOUT_BITMAPORIENTATIONPRESERVED 0x00000008
#define NOMIRRORBITMAP 0x80000000 #define NOMIRRORBITMAP 0x80000000
/* For DRAWPATTERNRECT Escape */
typedef struct _DRAWPATRECT
{
POINT ptPosition;
POINT ptSize;
WORD wStyle;
WORD wPattern;
} DRAWPATRECT, *PDRAWPATRECT;
INT WINAPI AbortDoc(HDC); INT WINAPI AbortDoc(HDC);
BOOL WINAPI AbortPath(HDC); BOOL WINAPI AbortPath(HDC);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment