mirror of
https://github.com/reactos/reactos.git
synced 2024-07-02 02:34:53 +00:00
- Gdi32: Update metafile structure.
svn path=/trunk/; revision=42901
This commit is contained in:
parent
c1854b985e
commit
69dffc5810
|
@ -42,32 +42,42 @@ typedef INT
|
|||
/* TYPES *********************************************************************/
|
||||
|
||||
// Based on wmfapi.h and Wine.
|
||||
typedef struct tagMETAFILEDC {
|
||||
PVOID pvMetaBuffer;
|
||||
HANDLE hFile;
|
||||
DWORD Size;
|
||||
METAHEADER mh;
|
||||
UINT handles_size, cur_handles;
|
||||
HGDIOBJ *handles;
|
||||
|
||||
// more DC object stuff.
|
||||
HGDIOBJ Pen;
|
||||
HGDIOBJ Brush;
|
||||
HGDIOBJ Palette;
|
||||
HGDIOBJ Font;
|
||||
|
||||
WCHAR Filename[MAX_PATH+2];
|
||||
// Add more later.
|
||||
typedef struct tagMETAFILEDC
|
||||
{
|
||||
PVOID pvMetaBuffer;
|
||||
HANDLE hFile;
|
||||
DWORD Size;
|
||||
DWORD dwWritten;
|
||||
METAHEADER mh;
|
||||
WORD reserved;
|
||||
HLOCAL MFObjList;
|
||||
HPEN hPen;
|
||||
HBRUSH hBrush;
|
||||
HDC hDc;
|
||||
HGDIOBJ hMetaDc;
|
||||
HPALETTE hPalette;
|
||||
HFONT hFont;
|
||||
HBITMAP hBitmap;
|
||||
HRGN hRegion;
|
||||
HGDIOBJ hMetafile;
|
||||
HGDIOBJ hMemDc;
|
||||
HPEN hExtPen;
|
||||
HGDIOBJ hEnhMetaDc;
|
||||
HGDIOBJ hEnhMetaFile;
|
||||
HCOLORSPACE hColorSpace;
|
||||
WCHAR Filename[MAX_PATH+2];
|
||||
} METAFILEDC,*PMETAFILEDC;
|
||||
|
||||
// Metafile Entry handle
|
||||
typedef struct tagMF_ENTRY {
|
||||
typedef struct tagMF_ENTRY
|
||||
{
|
||||
LIST_ENTRY List;
|
||||
HGDIOBJ hmDC; // Handle return from NtGdiCreateClientObj.
|
||||
PMETAFILEDC pmfDC;
|
||||
} MF_ENTRY, *PMF_ENTRY;
|
||||
|
||||
typedef struct tagENHMETAFILE {
|
||||
typedef struct tagENHMETAFILE
|
||||
{
|
||||
PVOID pvMetaBuffer;
|
||||
HANDLE hFile; /* Handle for disk based MetaFile */
|
||||
DWORD Size;
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
/* $Id$
|
||||
*
|
||||
/*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS system libraries
|
||||
* FILE: lib/gdi32/object/font.c
|
||||
|
|
|
@ -143,7 +143,6 @@ CreateMetaFileW(
|
|||
{
|
||||
HANDLE hFile;
|
||||
HDC hmDC;
|
||||
DWORD dwWritten;
|
||||
PMETAFILEDC pmfDC = LocalAlloc(LMEM_ZEROINIT, sizeof(METAFILEDC));
|
||||
if (!pmfDC) return NULL;
|
||||
|
||||
|
@ -151,6 +150,12 @@ CreateMetaFileW(
|
|||
pmfDC->mh.mtVersion = 0x0300;
|
||||
pmfDC->mh.mtSize = pmfDC->mh.mtHeaderSize;
|
||||
|
||||
pmfDC->hPen = GetStockObject(BLACK_PEN);
|
||||
pmfDC->hBrush = GetStockObject(WHITE_BRUSH);
|
||||
pmfDC->hFont = GetStockObject(DEVICE_DEFAULT_FONT);
|
||||
pmfDC->hBitmap = GetStockObject(DEFAULT_BITMAP);
|
||||
pmfDC->hPalette = GetStockObject(DEFAULT_PALETTE);
|
||||
|
||||
if (lpszFile) /* disk based metafile */
|
||||
{
|
||||
pmfDC->mh.mtType = METAFILE_DISK;
|
||||
|
@ -160,7 +165,6 @@ CreateMetaFileW(
|
|||
(LPTSTR) &pmfDC->Filename,
|
||||
(LPTSTR*) &lpszFile))
|
||||
{
|
||||
// MFDRV_DeleteDC( dc->physDev );
|
||||
LocalFree(pmfDC);
|
||||
return NULL;
|
||||
}
|
||||
|
@ -168,14 +172,12 @@ CreateMetaFileW(
|
|||
if ((hFile = CreateFileW(pmfDC->Filename, GENERIC_WRITE, 0, NULL,
|
||||
CREATE_ALWAYS, 0, 0)) == INVALID_HANDLE_VALUE)
|
||||
{
|
||||
// MFDRV_DeleteDC( dc->physDev );
|
||||
LocalFree(pmfDC);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (!WriteFile( hFile, &pmfDC->mh, sizeof(pmfDC->mh), &dwWritten, NULL ))
|
||||
if (!WriteFile( hFile, &pmfDC->mh, sizeof(pmfDC->mh), &pmfDC->dwWritten, NULL ))
|
||||
{
|
||||
// MFDRV_DeleteDC( dc->physDev );
|
||||
LocalFree(pmfDC);
|
||||
return NULL;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue