|  | /* | 
|  | * metafile driver text functions | 
|  | * | 
|  | * Copyright 1993, 1994 Alexandre Julliard | 
|  | * | 
|  | */ | 
|  |  | 
|  | #include <stdlib.h> | 
|  | #include "windows.h" | 
|  | #include "dc.h" | 
|  | #include "gdi.h" | 
|  | #include "callback.h" | 
|  | #include "heap.h" | 
|  | #include "metafile.h" | 
|  | #include "metafiledrv.h" | 
|  | #include "debug.h" | 
|  | #include "xmalloc.h" | 
|  |  | 
|  |  | 
|  | /*********************************************************************** | 
|  | *           MFDRV_ExtTextOut | 
|  | */ | 
|  | BOOL32 | 
|  | MFDRV_ExtTextOut( DC *dc, INT32 x, INT32 y, UINT32 flags, | 
|  | const RECT32 *lprect, LPCSTR str, UINT32 count, | 
|  | const INT32 *lpDx ) | 
|  | { | 
|  | RECT16	rect16; | 
|  | LPINT16	lpdx16 = lpDx?(LPINT16)xmalloc(sizeof(INT16)*count):NULL; | 
|  | BOOL32	ret; | 
|  | int		i; | 
|  |  | 
|  | if (lprect)	CONV_RECT32TO16(lprect,&rect16); | 
|  | if (lpdx16)	for (i=count;i--;) lpdx16[i]=lpDx[i]; | 
|  | ret=MF_ExtTextOut(dc,x,y,flags,lprect?&rect16:NULL,str,count,lpdx16); | 
|  | if (lpdx16)	free(lpdx16); | 
|  | return ret; | 
|  | } |