|
|
1.1 root 1: /*
2:
3: Copyright (c) 1985-91, Microsoft Corporation
4:
5: Module Name:
6:
7: winmeta.h
8:
9: Abstract:
10:
11: Procedure declarations, constant definitions and macros for the
12: Metafile functions.
13:
14: Warning:
15:
16: This file is TEMPORARY and will be folded into wingdi.h when
17: we're allowed to.
18:
19: --*/
20:
21:
22: // Metafile constants
23:
24: #define METAEX_SIGNATURE 0x464D544E // 'NTMF'
25:
26: #define METAEX_FORMAT_10000 0x10000 // Windows NT format
27: #define METAEX_FORMAT_300 0x300 // Windows 3.x format
28:
29:
30: // Metafile type definitions
31:
32: typedef struct tagMETARECORDEX
33: {
34: DWORD iType; // Record type MR_XXX
35: DWORD nSize; // Record size in bytes
36: DWORD dParm[1]; // Parameters
37: } METARECORDEX, *PMETARECORDEX, *LPMETARECORDEX;
38:
39: typedef struct tagMETAHEADEREX
40: {
41: DWORD iType; // Record type MR_METAFILE
42: DWORD nSize; // Record size in bytes
43: RECTL rclBounds; // Inclusive-inclusive bounds in device units
44: RECTL rclFrame; // Inclusive-inclusive Picture Frame of metafile in .01 mm units
45: DWORD dSignature; // Signature. Must be METAEX_SIGNATURE.
46: DWORD nVersion; // Version number
47: DWORD nBytes; // Size of the metafile in bytes
48: DWORD nRecords; // Number of records in the metafile
49: USHORT nHandles; // Number of handles in the handle table
50: // Handle index zero is reserved.
51: USHORT sReserved; // Reserved. Must be zero.
52: DWORD offDescription; // Offset to the metafile description record.
53: // This is zero if there is no metafile description.
54: DWORD nPalEntries; // Number of entries in the metafile palette.
55: DWORD offPalEntries; // Offset to the metafile palette record.
56: // This is zero if there is no metafile palette.
57: SIZEL szlDevice; // Size of the reference device in pels
58: SIZEL szlMillimeters; // Size of the reference device in millimeters
59: } METAHEADEREX, *PMETAHEADEREX, *LPMETAHEADEREX;
60:
61:
62: // Metafile Function Declarations
63:
64: HMF APIENTRY CloseMetaFileEx(IN HDC hDC);
65: #ifdef UNICODE
66: #define CopyMetaFileEx CopyMetaFileExW
67: #else
68: #define CopyMetaFileEx CopyMetaFileExA
69: #endif // !UNICODE
70: HMF APIENTRY CopyMetaFileExA(IN HMF,IN LPSTR);
71: HMF APIENTRY CopyMetaFileExW(IN HMF,IN LPWSTR);
72:
73: #ifdef UNICODE
74: #define CreateMetaFileEx CreateMetaFileExW
75: #else
76: #define CreateMetaFileEx CreateMetaFileExA
77: #endif // !UNICODE
78: HDC APIENTRY CreateMetaFileExA(IN HDC, IN LPSTR, IN LPRECT, IN LPSTR);
79: HDC APIENTRY CreateMetaFileExW(IN HDC, IN LPWSTR, IN LPRECT, IN LPWSTR);
80:
81: BOOL APIENTRY DeleteMetaFileEx(IN HMF);
82: #ifdef UNICODE
83: #define GetMetaFileEx GetMetaFileExW
84: #else
85: #define GetMetaFileEx GetMetaFileExA
86: #endif // !UNICODE
87: HMF APIENTRY GetMetaFileExA(IN LPSTR psz);
88: HMF APIENTRY GetMetaFileExW(IN LPWSTR pwsz);
89:
90: DWORD APIENTRY GetMetaFileBitsEx(IN HMF, IN DWORD, OUT LPBYTE, IN UINT, IN HDC);
91: UINT APIENTRY GetMetaFileHeaderEx(IN HMF, IN UINT, OUT LPMETAHEADEREX OPTIONAL);
92:
93: #ifdef UNICODE
94: #define GetMetaFileDescriptionEx GetMetaFileDescriptionExW
95: #else
96: #define GetMetaFileDescriptionEx GetMetaFileDescriptionExA
97: #endif // !UNICODE
98: UINT APIENTRY GetMetaFileDescriptionExA(IN HMF, IN UINT, OUT LPSTR OPTIONAL);
99: UINT APIENTRY GetMetaFileDescriptionExW(IN HMF, IN UINT, OUT LPWSTR OPTIONAL);
100:
101: UINT APIENTRY GetMetaFilePaletteEntriesEx(IN HMF, IN UINT, OUT LPPALETTEENTRY OPTIONAL);
102: BOOL APIENTRY EnumMetaFileEx(IN HDC hdc, IN HMF hmf, IN PROC pfn, IN LPVOID pv);
103: BOOL APIENTRY PlayMetaFileEx(IN HDC hDC, IN HMF hMF);
104: BOOL APIENTRY PlayMetaFileRecordEx(IN HDC, IN LPHANDLETABLE, IN LPMETARECORDEX, IN UINT);
105: HMF APIENTRY SetMetaFileBitsEx(IN DWORD, IN LPBYTE, IN HDC OPTIONAL, IN LPMETAFILEPICT OPTIONAL);
106:
107: BOOL APIENTRY GdiComment(IN HDC, IN UINT, IN LPBYTE);
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.