source: trunk/Include/Classes/System/Drawing/Imaging/MetafileHeader.ab@ 497

Last change on this file since 497 was 497, checked in by イグトランス (egtra), 16 years ago

インクルードガードとその他不要な前処理定義などの削除

File size: 3.0 KB
Line 
1' Classes/System/Drawing/Imaging/MetafileHeader.ab
2
3Type Align(8) ENHMETAHEADER3
4 iType As DWord
5 nSize As DWord
6
7 rclBounds As RECTL
8 rclFrame As RECTL
9 dSignature As DWord
10 nVersion As DWord
11 nBytes As DWord
12 nRecords As DWord
13 nHandles As Word
14
15 sReserved As Word
16 nDescription As DWord
17
18 offDescription As DWord
19
20 nPalEntries As DWord
21 szlDevice As SIZEL
22 szlMillimeters As SIZEL
23End Type
24
25' Placeable WMFs
26
27Type Align(2) PWMFRect16
28 Left As Word
29 Top As Word
30 Right As Word
31 Bottom As Word
32End Type
33
34Type Align(2) WmfPlaceableFileHeader
35 Key As DWord
36 Hmf As Word
37 BoundingBox As PWMFRect16
38 Inch As Word
39 Reserved As DWord
40 Checksum As Word
41End Type
42
43Const GDIP_EMFPLUSFLAGS_DISPLAY = &h00000001
44
45Class MetafileHeader
46Private
47 mfType As MetafileType
48 Size As DWord
49 version As DWord
50 emfPlusFlags As DWord
51 dpiX As Single
52 dpiY As Single
53 X As Long
54 Y As Long
55 Width As Long
56 Height As Long
57 'Union
58 ' WmfHeader As METAHEADER
59 EmfHeader As ENHMETAHEADER3
60 'End Union
61 emfPlusHeaderSize As Long
62 logicalDpiX As Long
63 logicalDpiY As Long
64Public
65 Function MetafileType() As MetafileType
66 Return mfType
67 End Function
68
69 Function EmfPlusHeaderSize() As DWord
70 Return emfPlusHeaderSize
71 End Function
72
73 Function Version() As DWord
74 Return version
75 End Function
76
77 Function EmfPlusFlags() As DWord
78 Return emfPlusFlags
79 End Function
80
81 Function DpiX() As Single
82 Return dpiX
83 End Function
84
85 Function DpiY() As Single
86 Return dpiY
87 End Function
88
89 Function Bounds() As Rectangle
90 Dim r(X, Y, Width, Height)
91 Return r
92 End Function
93
94 Function LogicalDpiX() As Single
95 Return logicalDpiX
96 End Function
97
98 Function LogicalDpiY() As Single
99 Return logicalDpiY
100 End Function
101
102 Function IsWmf() As BOOL
103 IsWmf = (mfType = MetafileTypeWmf Or mfType = MetafileTypeWmfPlaceable)
104 End Function
105
106 Function IsWmfPlaceable() As BOOL
107 IsWmfPlaceable = (mfType = MetafileTypeWmfPlaceable)
108 End Function
109
110 Function IsEmf() As BOOL
111 IsEmf = (mfType = MetafileTypeEmf)
112 End Function
113
114 Function IsEmfOrEmfPlus() As BOOL
115 IsEmfOrEmfPlus = (mfType >= MetafileTypeEmf)
116 End Function
117
118 Function IsEmfPlus() As BOOL
119 IsEmfPlus = (mfType >= MetafileTypeEmfPlusOnly)
120 End Function
121
122 Function IsEmfPlusDual() As BOOL
123 IsEmfPlusDual = (mfType = MetafileTypeEmfPlusDual)
124 End Function
125
126 Function IsEmfPlusOnly() As BOOL /*const*/
127 IsEmfPlusOnly = (mfType = MetafileTypeEmfPlusOnly)
128 End Function
129
130 Function IsDisplay() As BOOL
131 If IsEmfPlus() <> FALSE And ((EmfPlusFlags And GDIP_EMFPLUSFLAGS_DISPLAY) <> 0) Then
132 IsDisplay = _System_TRUE
133 Else
134 IsDisplay = _System_FALSE
135 End Function
136
137 Function WmfHeader() As *METAHEADER 'const METAHEADER* const
138 If IsWmf() Then
139 Return VarPtr(EmfHeader) 'VarPtr(WmfHeader)
140 Else
141 Return 0
142 End If
143 End Function
144
145 Function GetEmfHeader() As * /*const*/ ENHMETAHEADER3 /*const*/
146 If IsEmfOrEmfPlus() Then
147 Return VarPtr(EmfHeader) 'VarPtr(WmfHeader)
148 Else
149 Return 0
150 End If
151 End Function
152End Class
Note: See TracBrowser for help on using the repository browser.