F:/KPlato/koffice/libs/kwmf/wmfstruct.h

Aller à la documentation de ce fichier.
00001 /* WMF Metafile Structures
00002  * Author: Stefan Taferner <taferner@kde.org>
00003  */
00004 #ifndef wmfstruct_h
00005 #define wmfstruct_h
00006 
00007 typedef short WORD;
00008 typedef int DWORD;
00009 typedef qint32 LONG;
00010 typedef void* _HANDLE;
00011 
00012 typedef struct _RECT
00013 {
00014     WORD left;
00015     WORD top;
00016     WORD right;
00017     WORD bottom;
00018 } RECT;
00019 
00020 typedef struct _RECTL
00021 {
00022     LONG left;
00023     LONG top;
00024     LONG right;
00025     LONG bottom;
00026 } RECTL;
00027 
00028 typedef struct _SIZE
00029 {
00030     WORD width;
00031     WORD height;
00032 } SIZE;
00033 
00034 typedef struct _SIZEL
00035 {
00036     LONG width;
00037     LONG height;
00038 } SIZEL;
00039 
00040 
00041 struct WmfEnhMetaHeader
00042 {
00043     DWORD   iType;              // Record type EMR_HEADER
00044     DWORD   nSize;              // Record size in bytes.  This may be greater
00045     // than the sizeof( ENHMETAHEADER ).
00046     RECTL   rclBounds;          // Inclusive-inclusive bounds in device units
00047     RECTL   rclFrame;           // Inclusive-inclusive Picture Frame of metafile
00048     // in .01 mm units
00049     DWORD   dSignature;         // Signature.  Must be ENHMETA_SIGNATURE.
00050     DWORD   nVersion;           // Version number
00051     DWORD   nBytes;             // Size of the metafile in bytes
00052     DWORD   nRecords;           // Number of records in the metafile
00053     WORD    nHandles;           // Number of handles in the handle table
00054     // Handle index zero is reserved.
00055     WORD    sReserved;          // Reserved.  Must be zero.
00056     DWORD   nDescription;       // Number of chars in the unicode description string
00057     // This is 0 if there is no description string
00058     DWORD   offDescription;     // Offset to the metafile description record.
00059     // This is 0 if there is no description string
00060     DWORD   nPalEntries;        // Number of entries in the metafile palette.
00061     SIZEL   szlDevice;          // Size of the reference device in pels
00062     SIZEL   szlMillimeters;     // Size of the reference device in millimeters
00063 };
00064 #define ENHMETA_SIGNATURE       0x464D4520
00065 
00066 
00067 struct WmfMetaHeader
00068 {
00069     WORD        mtType;
00070     WORD        mtHeaderSize;
00071     WORD        mtVersion;
00072     DWORD       mtSize;
00073     WORD        mtNoObjects;
00074     DWORD       mtMaxRecord;
00075     WORD        mtNoParameters;
00076 };
00077 
00078 
00079 struct WmfPlaceableHeader
00080 {
00081     DWORD key;
00082     WORD hmf;
00083     RECT bbox;
00084     WORD inch;
00085     DWORD reserved;
00086     WORD checksum;
00087 };
00088 #define APMHEADER_KEY 0x9AC6CDD7
00089 
00090 
00091 struct WmfMetaRecord
00092 {
00093     DWORD rdSize;       // Record size ( in words ) of the function
00094     WORD  rdFunction;   // Record function number
00095     WORD  rdParm[ 1 ];  // WORD array of parameters
00096 };
00097 
00098 
00099 struct WmfEnhMetaRecord
00100 {
00101     DWORD iType;        // Record type EMR_xxx
00102     DWORD nSize;        // Record size in bytes
00103     DWORD dParm[ 1 ];   // DWORD array of parameters
00104 };
00105 
00106 
00107 #endif /*wmfstruct_h*/

Généré le Wed Nov 22 23:41:13 2006 pour KPlato par  doxygen 1.5.1-p1