36#include "wine/winternl.h"
57#define HANDLE_LIST_INC 20
129 short param3,
short param4 )
145 short param3,
short param4,
short param5 )
162 short param3,
short param4,
short param5,
181 short param3,
short param4,
short param5,
182 short param6,
short param7,
short param8)
345 xstart, ystart, xend, yend );
352 xstart, ystart, xend, yend );
359 xstart, ystart, xend, yend );
376 ell_width, ell_height );
410 if(!pts)
return FALSE;
429 if(!pts)
return FALSE;
448 INT16 totalpoint16 = 0;
451 for (
i = 0;
i < polygons;
i++)
452 totalpoint16 += counts[
i];
459 for (
i = 0;
i < polygons;
i++)
460 pointcounts[
i] = counts[
i];
463 for (
j = totalpoint16;
j--;)
470 totalpoint16 *
sizeof(*pts);
483 memcpy( mr->
rdParm + 1+polygons, pts , totalpoint16 *
sizeof(*pts) );
603 RECT *cur_rect, *end_rect;
604 WORD bands = 0, max_bounds = 0;
611 WARN(
"Can't alloc rgndata buffer\n" );
623 WARN(
"Can't alloc METARECORD buffer\n" );
632 for (cur_rect = (
RECT *)rgndata->
Buffer; cur_rect < end_rect; cur_rect++)
634 if (start_band && cur_rect->
top == start_band[1])
643 *start_band =
param - start_band - 3;
644 *
param++ = *start_band;
645 if (*start_band > max_bounds)
646 max_bounds = *start_band;
649 start_band =
param++;
659 *start_band =
param - start_band - 3;
660 *
param++ = *start_band;
661 if (*start_band > max_bounds)
662 max_bounds = *start_band;
672 mr->
rdParm[6] = max_bounds;
684 WARN(
"MFDRV_WriteRecord failed\n");
718 if (rgn == -1)
return FALSE;
731 if (rgn == -1)
return FALSE;
749 int i = 0, bitmap_offset;
761 else if (
bpp == 16 ||
bpp == 32)
782 if (bitmap_offset > 8)
817 INT height_src,
const void *
bits,
831 mr->
rdParm[3] = height_src;
832 mr->
rdParm[4] = width_src;
835 mr->
rdParm[7] = height_dst;
836 mr->
rdParm[8] = width_dst;
861 mr->
rdParm[2] = startscan;
972 for (
i =
j = 0;
i <
len; )
975 lpdx16[
i++] =
dx[
j++];
979 lpdx16[
i++] =
dx[
j++];
998 if(rgn == -1)
return ERROR;
1024 WARN(
"deleting selected object %p\n",
obj );
1042 mr.
rdSize =
sizeof mr / 2;
1151 if (!
size)
return 0;
1197 if (!mr)
return FALSE;
1230 if (!
count)
return 0;
1234 if (!log_palette)
return 0;
1275 if (output_size)
return FALSE;
1277 len =
sizeof(*mr) +
sizeof(
WORD) + ((input_size + 1) & ~1);
1282 mr->
rdParm[1] = input_size;
1300 TRACE(
" unsupported capability %d, will return 0\n",
cap );
1427 DWORD bytes_written;
1441 &bytes_written,
NULL ))
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
#define ERROR_INVALID_FUNCTION
#define INVALID_HANDLE_VALUE
static __inline const char * debugstr_an(const char *s, int n)
#define HeapFree(x, y, z)
#define ERROR_INVALID_HANDLE
#define WideCharToMultiByte
#define MultiByteToWideChar
BOOL WINAPI WriteFile(IN HANDLE hFile, IN LPCVOID lpBuffer, IN DWORD nNumberOfBytesToWrite OPTIONAL, OUT LPDWORD lpNumberOfBytesWritten, IN LPOVERLAPPED lpOverlapped OPTIONAL)
BOOL WINAPI IsDBCSLeadByteEx(UINT codepage, BYTE testchar)
UINT WINAPI GetOEMCP(void)
unsigned short(__cdecl typeof(TIFFCurrentDirectory))(struct tiff *)
int align(int length, int align)
HGDIOBJ WINAPI GdiCreateClientObj(_In_ PVOID pvObject, _In_ GDILOOBJTYPE eObjType)
PVOID WINAPI GdiGetClientObjLink(_In_ HGDIOBJ hobj)
PVOID WINAPI GdiDeleteClientObj(_In_ HGDIOBJ hobj)
#define GDI_HANDLE_GET_TYPE(h)
BOOL WINAPI SetVirtualResolution(HDC hdc, DWORD horz_res, DWORD vert_res, DWORD horz_size, DWORD vert_size)
#define get_full_gdi_handle
void GDI_hdc_using_object(HGDIOBJ obj, HDC hdc) DECLSPEC_HIDDEN
void GDI_hdc_not_using_object(HGDIOBJ obj, HDC hdc) DECLSPEC_HIDDEN
static int get_dib_info_size(const BITMAPINFO *info, UINT coloruse)
HMETAFILE MF_Create_HMETAFILE(METAHEADER *mh) DECLSPEC_HIDDEN
@ GDILoObjType_LO_FONT_TYPE
@ GDILoObjType_LO_BRUSH_TYPE
@ GDILoObjType_LO_METADC16_TYPE
@ GDILoObjType_LO_EXTPEN_TYPE
@ GDILoObjType_LO_PEN_TYPE
BOOL get_brush_bitmap_info(HBRUSH handle, BITMAPINFO *info, void *bits, UINT *usage) DECLSPEC_HIDDEN
GLint GLint GLint GLint GLint x
GLuint GLuint GLsizei GLenum type
GLint GLint GLint GLint GLint GLint y
GLuint GLuint GLsizei count
GLint GLint GLsizei GLsizei height
GLdouble GLdouble GLdouble r
GLint GLint GLsizei width
GLdouble GLdouble GLdouble GLdouble top
GLenum GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * bits
GLenum GLenum GLenum input
GLsizeiptr const GLvoid GLenum usage
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint GLint GLint j
#define RTL_FIELD_SIZE(type, field)
#define memcpy(s1, s2, n)
static const WCHAR filenameW[]
static DWORD *static HFONT(WINAPI *pCreateFontIndirectExA)(const ENUMLOGFONTEXDVA *)
static const unsigned char metafile[]
static int rop(int rop, int src, int dst)
CHAR lfFaceName[LF_FACESIZE]
WCHAR lfFaceName[LF_FACESIZE]
BITMAPINFOHEADER bmiHeader
#define FIELD_OFFSET(t, f)
UINT WINAPI GetPaletteEntries(HPALETTE hpal, UINT iStartIndex, UINT cEntries, LPPALETTEENTRY ppe)
SIZE_T WINAPI HeapSize(HANDLE, DWORD, LPCVOID)
#define META_CREATEBRUSHINDIRECT
#define META_DIBSTRETCHBLT
#define META_SETTEXTCOLOR
#define META_SCALEVIEWPORTEXT
HGDIOBJ WINAPI GetStockObject(_In_ int)
#define META_REALIZEPALETTE
int WINAPI GetObjectW(_In_ HANDLE h, _In_ int c, _Out_writes_bytes_opt_(c) LPVOID pv)
#define META_SETTEXTCHAREXTRA
struct tagPALETTEENTRY PALETTEENTRY
struct tagMETAHEADER METAHEADER
#define META_CREATEFONTINDIRECT
int WINAPI GetObjectA(_In_ HANDLE h, _In_ int c, _Out_writes_bytes_opt_(c) LPVOID pv)
int WINAPI GetDIBits(_In_ HDC hdc, _In_ HBITMAP hbm, _In_ UINT start, _In_ UINT cLines, _Out_opt_ LPVOID lpvBits, _At_((LPBITMAPINFOHEADER) lpbmi, _Inout_) LPBITMAPINFO lpbmi, _In_ UINT usage)
#define META_SELECTPALETTE
#define META_SETSTRETCHBLTMODE
#define META_EXCLUDECLIPRECT
#define META_SETPOLYFILLMODE
#define META_CREATEPENINDIRECT
struct tagLOGPALETTE LOGPALETTE
HGDIOBJ WINAPI GetCurrentObject(_In_ HDC, _In_ UINT)
#define META_SETTEXTALIGN
int WINAPI GetTextCharset(_In_ HDC)
#define META_EXTFLOODFILL
#define META_SCALEWINDOWEXT
#define META_SETWINDOWORG
#define META_DELETEOBJECT
#define META_CREATEPALETTE
#define META_SETWINDOWEXT
#define META_SELECTOBJECT
#define META_SETVIEWPORTEXT
#define META_SETVIEWPORTORG
#define META_OFFSETCLIPRGN
#define META_SETTEXTJUSTIFICATION
DWORD WINAPI GetRegionData(_In_ HRGN hrgn, _In_ DWORD nCount, _Out_writes_bytes_to_opt_(nCount, return) LPRGNDATA lpRgnData)
#define META_OFFSETWINDOWORG
#define META_CREATEREGION
#define META_SETMAPPERFLAGS
#define META_OFFSETVIEWPORTORG
struct tagMETARECORD METARECORD
#define META_DIBCREATEPATTERNBRUSH
#define DEVICE_DEFAULT_FONT
BOOL WINAPI TranslateCharsetInfo(_Inout_ PDWORD, _Out_ LPCHARSETINFO, _In_ DWORD)
#define META_INVERTREGION
#define META_INTERSECTCLIPRECT