source: trunk/ab5.0/ablib/src/Classes/System/Drawing/Imaging/Metafile.ab@ 705

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

Metafileクラスの追加
(#242)

File size: 11.5 KB
Line 
1' Classes/System/Drawing/Imaging/Metafile.ab
2
3Namespace System
4Namespace Drawing
5Namespace Imaging
6
7Class Metafile
8Inherits Image
9Public
10 Sub Metafile(hWmf As HMETAFILE, ByRef wmfPlaceableFileHeader As WmfPlaceableFileHeader, deleteWmf As BOOL)
11 Image(CreateMetafileFromWmf(hWmf, wmfPlaceableFileHeader, deleteWmf) As *GpImage)
12 End Sub
13
14 Sub Metafile(hEmf As HENHMETAFILE, deleteEmf As BOOL)
15 Image(CreateMetafileFromEmf(hEmf, deleteEmf) As *GpImage)
16 End Sub
17
18 Sub Metafile(filename As PCWSTR)
19 Image(CreateMetafileFromFile(filename) As *GpImage)
20 End Sub
21
22 Sub Metafile(filename As String)
23 Image(CreateMetafileFromFile(ToWCStr(filename)) As *GpImage)
24 End Sub
25
26 Sub Metafile(filename As PCWSTR, ByRef wmfPlaceableFileHeader As WmfPlaceableFileHeader)
27 Image(CreateMetafileFromWmfFile(filename, wmfPlaceableFileHeader) As *GpImage)
28 End Sub
29
30 Sub Metafile(filename As String, ByRef wmfPlaceableFileHeader As WmfPlaceableFileHeader)
31 Image(CreateMetafileFromWmfFile(ToWCStr(filename), wmfPlaceableFileHeader) As *GpImage)
32 End Sub
33
34 Sub Metafile(stream As IStream)
35 Image(CreateMetafileFromStream(stream) As *GpImage)
36 End Sub
37
38 Sub Metafile(referenceHdc As HDC, emfType As EmfType, description As String)
39 Image(RecordMetafile(referenceHdc, NULL, MetafileFrameUnit.GdiCompatible, emfType, ToWCStr(description)) As *GpImage)
40 End Sub
41
42 Sub Metafile(referenceHdc As HDC, emfType As EmfType, description As PCWSTR)
43 Image(RecordMetafile(referenceHdc, NULL, MetafileFrameUnit.GdiCompatible, emfType, description) As *GpImage)
44 End Sub
45
46 Sub Metafile(referenceHdc As HDC, ByRef frameRect As Rectangle, frameUnit As MetafileFrameUnit, emfType As EmfType, description As String)
47 Image(RecordMetafile(referenceHdc, frameRect, frameUnit, emfType, ToWCStr(description)) As *GpImage)
48 End Sub
49
50 Sub Metafile(referenceHdc As HDC, ByRef frameRect As Rectangle, frameUnit As MetafileFrameUnit, emfType As EmfType, description As PCWSTR)
51 Image(RecordMetafile(referenceHdc, frameRect, frameUnit, emfType, description) As *GpImage)
52 End Sub
53
54 Sub Metafile(referenceHdc As HDC, ByRef frameRect As RectangleF, frameUnit As MetafileFrameUnit, emfType As EmfType, description As String)
55 Image(RecordMetafile(referenceHdc, VarPtr(frameRect), frameUnit, emfType, ToWCStr(description)) As *GpImage)
56 End Sub
57
58 Sub Metafile(referenceHdc As HDC, ByRef frameRect As RectangleF, frameUnit As MetafileFrameUnit, emfType As EmfType, description As PCWSTR)
59 Image(RecordMetafile(referenceHdc, VarPtr(frameRect), frameUnit, emfType, description) As *GpImage)
60 End Sub
61
62 Sub Metafile(fileName As PCWSTR, referenceHdc As HDC, emfType As EmfType, description As PCWSTR)
63 Image(RecordMetafileFileName(fileName, referenceHdc, ByVal NULL, MetafileFrameUnit.GdiCompatible, emfType, description) As *GpImage)
64 End Sub
65
66 Sub Metafile(fileName As PCWSTR, referenceHdc As HDC, ByRef frameRect As Rectangle, frameUnit As MetafileFrameUnit, emfType As EmfType, description As String)
67 Image(RecordMetafileFileNameI(fileName, referenceHdc, frameRect, frameUnit, emfType, ToWCStr(description)) As *GpImage)
68 End Sub
69
70 Sub Metafile(fileName As PCWSTR, referenceHdc As HDC, ByRef frameRect As Rectangle, frameUnit As MetafileFrameUnit, emfType As EmfType, description As PCWSTR)
71 Image(RecordMetafileFileNameI(fileName, referenceHdc, frameRect, frameUnit, emfType, description) As *GpImage)
72 End Sub
73
74 Sub Metafile(fileName As PCWSTR, referenceHdc As HDC, ByRef frameRect As RectangleF, frameUnit As MetafileFrameUnit, emfType As EmfType, description As String)
75 Image(RecordMetafileFileName(fileName, referenceHdc, frameRect, frameUnit, emfType, ToWCStr(description)) As *GpImage)
76 End Sub
77
78 Sub Metafile(fileName As PCWSTR, referenceHdc As HDC, ByRef frameRect As RectangleF, frameUnit As MetafileFrameUnit, emfType As EmfType, description As PCWSTR)
79 Image(RecordMetafileFileName(fileName, referenceHdc, frameRect, frameUnit, emfType, description) As *GpImage)
80 End Sub
81
82 Sub Metafile(stream As IStream, referenceHdc As HDC, emfType As EmfType, description As String)
83 Image(RecordMetafileStream(stream, referenceHdc, ByVal NULL, MetafileFrameUnit.GdiCompatible, emfType, ToWCStr(description)) As *GpImage)
84 End Sub
85
86 Sub Metafile(stream As IStream, referenceHdc As HDC, emfType As EmfType, description As PCWSTR)
87 Image(RecordMetafileStream(stream, referenceHdc, ByVal NULL, MetafileFrameUnit.GdiCompatible, emfType, description) As *GpImage)
88 End Sub
89
90 Sub Metafile(stream As IStream, referenceHdc As HDC, ByRef frameRect As Rectangle, frameUnit As MetafileFrameUnit, description As String)
91 Image(RecordMetafileStreamI(stream, referenceHdc, frameRect, frameUnit, EmfType.EmfPlusDual, ToWCStr(description)) As *GpImage)
92 End Sub
93
94 Sub Metafile(stream As IStream, referenceHdc As HDC, ByRef frameRect As Rectangle, frameUnit As MetafileFrameUnit, description As PCWSTR)
95 Image(RecordMetafileStreamI(stream, referenceHdc, frameRect, frameUnit, EmfType.EmfPlusDual, description) As *GpImage)
96 End Sub
97
98 Sub Metafile(stream As IStream, referenceHdc As HDC, ByRef frameRect As Rectangle, frameUnit As MetafileFrameUnit, emfType As EmfType, description As String)
99 Image(RecordMetafileStreamI(stream, referenceHdc, frameRect, frameUnit, emfType, ToWCStr(description)) As *GpImage)
100 End Sub
101
102 Sub Metafile(stream As IStream, referenceHdc As HDC, ByRef frameRect As Rectangle, frameUnit As MetafileFrameUnit, emfType As EmfType, description As PCWSTR)
103 Image(RecordMetafileStreamI(stream, referenceHdc, frameRect, frameUnit, emfType, description) As *GpImage)
104 End Sub
105
106 Sub Metafile(stream As IStream, referenceHdc As HDC, ByRef frameRect As RectangleF, frameUnit As MetafileFrameUnit, description As String)
107 Image(RecordMetafileStream(stream, referenceHdc, frameRect, frameUnit, EmfType.EmfPlusDual, ToWCStr(description)) As *GpImage)
108 End Sub
109
110 Sub Metafile(stream As IStream, referenceHdc As HDC, ByRef frameRect As RectangleF, frameUnit As MetafileFrameUnit, description As PCWSTR)
111 Image(RecordMetafileStream(stream, referenceHdc, frameRect, frameUnit, EmfType.EmfPlusDual, description) As *GpImage)
112 End Sub
113
114 Sub Metafile(stream As IStream, referenceHdc As HDC, ByRef frameRect As RectangleF, frameUnit As MetafileFrameUnit, emfType As EmfType, description As String)
115 Image(RecordMetafileStream(stream, referenceHdc, frameRect, frameUnit, emfType, ToWCStr(description)) As *GpImage)
116 End Sub
117
118 Sub Metafile(stream As IStream, referenceHdc As HDC, ByRef frameRect As RectangleF, frameUnit As MetafileFrameUnit, emfType As EmfType, description As PCWSTR)
119 Image(RecordMetafileStream(stream, referenceHdc, frameRect, frameUnit, emfType, description) As *GpImage)
120 End Sub
121Private
122 Static Function CreateMetafileFromWmf(hWmf As HMETAFILE, ByRef wmfPlaceableFileHeader As WmfPlaceableFileHeader, deleteWmf As BOOL) As *GpMetafile
123 SetStatus(GdipCreateMetafileFromWmf(hWmf, deleteWmf, wmfPlaceableFileHeader, CreateMetafileFromWmf))
124 End Function
125
126 Static Function CreateMetafileFromEmf(hEmf As HENHMETAFILE, deleteEmf As BOOL) As *GpMetafile
127 SetStatus(GdipCreateMetafileFromEmf(hEmf, deleteEmf, CreateMetafileFromEmf))
128 End Function
129
130 Static Function CreateMetafileFromFile(filename As PCWSTR) As *GpMetafile
131 SetStatus(GdipCreateMetafileFromFile(filename, CreateMetafileFromFile))
132 End Function
133
134 Static Function CreateMetafileFromWmfFile(filename As PCWSTR, ByRef wmfPlaceableFileHeader As WmfPlaceableFileHeader) As *GpMetafile
135 SetStatus(GdipCreateMetafileFromWmfFile(filename, wmfPlaceableFileHeader, CreateMetafileFromWmfFile))
136 End Function
137
138 Static Function CreateMetafileFromStream(stream As IStream) As *GpMetafile
139 ' SetStatus(GdipCreateMetafileFromStream(stream, CreateMetafileFromStream))
140 Throw New NotImplementedException
141 End Function
142
143 Static Function RecordMetafile(referenceHdc As HDC, ByRef frameRect As Rectangle, frameUnit As MetafileFrameUnit, emfType As EmfType, description As PCWSTR) As *GpMetafile
144 SetStatus(GdipRecordMetafileI(referenceHdc, emfType, frameRect, frameUnit, description, RecordMetafile))
145 End Function
146
147 ' BUG: なぜかframeRectをByRef RectangleFとするとエラーになる。
148 Static Function RecordMetafile(referenceHdc As HDC, frameRect As *RectangleF, frameUnit As MetafileFrameUnit, emfType As EmfType, description As PCWSTR) As *GpMetafile
149 SetStatus(GdipRecordMetafile(referenceHdc, emfType, ByVal frameRect, frameUnit, description, RecordMetafile))
150 End Function
151
152 Static Function RecordMetafileFileNameI(fileName As PCWSTR, referenceHdc As HDC, ByRef frameRect As Rectangle, frameUnit As MetafileFrameUnit, emfType As EmfType, description As PCWSTR) As *GpMetafile
153 SetStatus(GdipRecordMetafileFileNameI(fileName, referenceHdc, emfType, frameRect, frameUnit, description, RecordMetafileFileNameI))
154 End Function
155
156 Static Function RecordMetafileFileName(fileName As PCWSTR, referenceHdc As HDC, ByRef frameRect As RectangleF, frameUnit As MetafileFrameUnit, emfType As EmfType, description As PCWSTR) As *GpMetafile
157 SetStatus(GdipRecordMetafileFileName(fileName, referenceHdc, emfType, frameRect, frameUnit, description, RecordMetafileFileName))
158 End Function
159
160 Static Function RecordMetafileStreamI(stream As IStream, referenceHdc As HDC, ByRef frameRect As Rectangle, frameUnit As MetafileFrameUnit, emfType As EmfType, description As PCWSTR) As *GpMetafile
161 ' SetStatus(GdipRecordMetafileStreamI(stream, referenceHdc, emfType, frameRect, frameUnit, description, RecordMetafileStreamI))
162 Throw New NotImplementedException
163 End Function
164
165 Static Function RecordMetafileStream(stream As IStream, referenceHdc As HDC, ByRef frameRect As RectangleF, frameUnit As MetafileFrameUnit, emfType As EmfType, description As PCWSTR) As *GpMetafile
166 ' SetStatus(GdipRecordMetafileStream(stream, referenceHdc, emfType, frameRect, frameUnit, description, RecordMetafileStream))
167 Throw New NotImplementedException
168 End Function
169
170Public
171 Static Function GetMetafileHeader(hWmf As HMETAFILE, ByRef wmfPlaceableFileHeader As WmfPlaceableFileHeader) As MetafileHeader
172 SetStatus(GdipGetMetafileHeaderFromWmf(hWmf, wmfPlaceableFileHeader, GetMetafileHeader))
173 End Function
174
175 Static Function GetMetafileHeader(hEmf As HENHMETAFILE) As MetafileHeader
176 SetStatus(GdipGetMetafileHeaderFromEmf(hEmf, GetMetafileHeader))
177 End Function
178
179 Static Function GetMetafileHeader(filename As String) As MetafileHeader
180 GetMetafileHeader = GetMetafileHeader(ToWCStr(filename))
181 End Function
182
183 Static Function GetMetafileHeader(filename As PCWSTR) As MetafileHeader
184 SetStatus(GdipGetMetafileHeaderFromFile(filename, GetMetafileHeader))
185 End Function
186
187 Static Function GetMetafileHeader(stream As IO.Stream) As MetafileHeader
188' GetMetafileHeader = GetMetafileHeader(stream)
189 Throw New NotImplementedException
190 End Function
191
192 Static Function GetMetafileHeader(stream As IStream) As MetafileHeader
193' SetStatus(GdipGetMetafileHeaderFromStream(NativeMetafile, stream))
194 Throw New NotImplementedException
195 End Function
196
197
198 Function GetMetafileHeader() As MetafileHeader
199 SetStatus(GdipGetMetafileHeaderFromMetafile(NativeMetafile, GetMetafileHeader))
200 End Function
201
202 Function GetHEnhMetafile() As HENHMETAFILE
203 SetStatus(GdipGetHemfFromMetafile(NativeMetafile, GetHEnhMetafile))
204 End Function
205
206 Sub PlayRecord(recordType As EmfPlusRecordType, flags As DWord, dataSize As DWord, data AS *Byte)
207 SetStatus(GdipPlayMetafileRecord(NativeMetafile, recordType, flags, dataSize, data))
208 End Sub
209
210 Function NativeMetafile() As *GpMetafile
211 NativeMetafile = NativeImage As *GpMetafile
212 End Function
213End Class
214
215End Namespace
216End Namespace
217End Namespace
Note: See TracBrowser for help on using the repository browser.