Subversion Repositories spacemission

Rev

Rev 1 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1 daniel-mar 1
(*==========================================================================;
2
 *
3
 *  Copyright (C) 1994-1997 Microsoft Corporation.  All Rights Reserved.
4
 *
5
 *  DirectX header version 98.08.07
6
 *
7
 *  Present by Hiroyuki Hori.
8
 *
9
 *  E-Mail: hori@ingjapan.ne.jp
10
 *  Homepage: http://www.ingjapan.ne.jp/hori/index-e.html
11
 *
12
 *  Present unit:
13
 *    DirectX.pas    DirectX 6 (DirectX 6 SDK)
14
 *    DShow.pas      DirectShow (DirectX Media SDK 5.1)
15
 *    DAnim.pas      DirectAnimation (DirectX Media SDK 5.1)
16
 *
17
 ***************************************************************************)
18
 
19
unit DAnim;
20
 
21
interface
22
 
23
{$Z4}
24
{$A+}
4 daniel-mar 25
{$IfNDef D7UP}
1 daniel-mar 26
{$WEAKPACKAGEUNIT}
4 daniel-mar 27
{$EndIf}
1 daniel-mar 28
 
29
uses Windows, ActiveX, DirectX, DShow;
30
 
31
(*==========================================================================;
32
 *
33
 *  Copyright (C) Microsoft Corporation.  All Rights Reserved.
34
 *
35
 *  File:       danim.h
36
 *
37
 ***************************************************************************)
38
 
39
const
40
  CLSID_DABehavior: TGUID = '{283807B8-2C60-11d0-A31D-00AA00B92C03}';
41
  CLSID_DABoolean: TGUID = '{C46C1BC1-3C52-11d0-9200-848C1D000000}';
42
  CLSID_DACamera: TGUID = '{C46C1BE2-3C52-11d0-9200-848C1D000000}';
43
  CLSID_DAColor: TGUID = '{C46C1BC6-3C52-11d0-9200-848C1D000000}';
44
  CLSID_DAGeometry: TGUID = '{C46C1BE0-3C52-11d0-9200-848C1D000000}';
45
  CLSID_DAImage: TGUID = '{C46C1BD4-3C52-11d0-9200-848C1D000000}';
46
  CLSID_DAMatte: TGUID = '{C46C1BD2-3C52-11d0-9200-848C1D000000}';
47
  CLSID_DAMicrophone: TGUID = '{C46C1BE6-3C52-11d0-9200-848C1D000000}';
48
  CLSID_DAMontage: TGUID = '{C46C1BD6-3C52-11d0-9200-848C1D000000}';
49
  CLSID_DANumber: TGUID = '{9CDE7341-3C20-11d0-A330-00AA00B92C03}';
50
  CLSID_DAPath2: TGUID = '{C46C1BD0-3C52-11d0-9200-848C1D000000}';
51
  CLSID_DAPoint2: TGUID = '{C46C1BC8-3C52-11d0-9200-848C1D000000}';
52
  CLSID_DAPoint3: TGUID = '{C46C1BD8-3C52-11d0-9200-848C1D000000}';
53
  CLSID_DASound: TGUID = '{C46C1BE4-3C52-11d0-9200-848C1D000000}';
54
  CLSID_DAString: TGUID = '{C46C1BC4-3C52-11d0-9200-848C1D000000}';
55
  CLSID_DATransform2: TGUID = '{C46C1BCC-3C52-11d0-9200-848C1D000000}';
56
  CLSID_DATransform3: TGUID = '{C46C1BDC-3C52-11d0-9200-848C1D000000}';
57
  CLSID_DAVector2: TGUID = '{C46C1BCA-3C52-11d0-9200-848C1D000000}';
58
  CLSID_DAVector3: TGUID = '{C46C1BDA-3C52-11d0-9200-848C1D000000}';
59
  CLSID_DAFontStyle: TGUID = '{25B0F91C-D23D-11d0-9B85-00C04FC2F51D}';
60
  CLSID_DALineStyle: TGUID = '{C46C1BF2-3C52-11d0-9200-848C1D000000}';
61
  CLSID_DAEndStyle: TGUID = '{C46C1BEC-3C52-11d0-9200-848C1D000000}';
62
  CLSID_DAJoinStyle: TGUID = '{C46C1BEE-3C52-11d0-9200-848C1D000000}';
63
  CLSID_DADashStyle: TGUID = '{C46C1BF0-3C52-11d0-9200-848C1D000000}';
64
  CLSID_DABbox2: TGUID = '{C46C1BCE-3C52-11d0-9200-848C1D000000}';
65
  CLSID_DABbox3: TGUID = '{C46C1BDE-3C52-11d0-9200-848C1D000000}';
66
  CLSID_DAPair: TGUID = '{C46C1BF4-3C52-11d0-9200-848C1D000000}';
67
  CLSID_DAEvent: TGUID = '{50B4791F-4731-11d0-8912-00C04FC2A0CA}';
68
  CLSID_DAArray: TGUID = '{D17506C3-6B26-11d0-8914-00C04FC2A0CA}';
69
  CLSID_DATuple: TGUID = '{5DFB2651-9668-11d0-B17B-00C04FC2A0CA}';
70
  CLSID_DAUserData: TGUID = '{AF868304-AB0B-11d0-876A-00C04FC29D46}';
71
  CLSID_DAView: TGUID = '{283807B5-2C60-11d0-A31D-00AA00B92C03}';
72
  CLSID_DAImportationResult: TGUID = '{BCBB1F75-E384-11d0-9B99-00C04FC2F51D}';
73
  CLSID_DAPickableResult: TGUID = '{BCBB1F74-E384-11d0-9B99-00C04FC2F51D}';
74
  CLSID_DAStatics: TGUID = '{542FB453-5003-11cf-92A2-00AA00B8A733}';
75
  CLSID_DAViewerControl: TGUID = '{B6FFC24C-7E13-11D0-9B47-00C04FC2F51D}';
76
  CLSID_DAViewerControlWindowed: TGUID = '{69AD90EF-1C20-11d1-8801-00C04FC29D46}';
77
 
78
  IID_IDAViewSite: TGUID = '{283807B3-2C60-11d0-A31D-00AA00B92C03}';
79
  IID_IDAView: TGUID = '{283807B4-2C60-11d0-A31D-00AA00B92C03}';
80
  IID_IDABehavior: TGUID = '{283807B7-2C60-11d0-A31D-00AA00B92C03}';
81
  IID_IDANumber: TGUID = '{9CDE7340-3C20-11d0-A330-00AA00B92C03}';
82
  IID_IDABvrHook: TGUID = '{3E2487C4-8709-11d0-B177-00C04FC2A0CA}';
83
  IID_IDADrawingSurface: TGUID = '{BC0BFD34-D21D-11d0-9385-00C04FB6BD36}';
84
  IID_IDAPickableResult: TGUID = '{4A933703-E36F-11d0-9B99-00C04FC2F51D}';
85
  IID_IDAUntilNotifier: TGUID = '{3F3DA01A-4705-11d0-8710-00C04FC29D46}';
86
  IID_IDABoolean: TGUID = '{C46C1BC0-3C52-11d0-9200-848C1D000000}';
87
  IID_IDACamera: TGUID = '{C46C1BE1-3C52-11d0-9200-848C1D000000}';
88
  IID_IDAColor: TGUID = '{C46C1BC5-3C52-11d0-9200-848C1D000000}';
89
  IID_IDAGeometry: TGUID = '{C46C1BDF-3C52-11d0-9200-848C1D000000}';
90
  IID_IDAImage: TGUID = '{C46C1BD3-3C52-11d0-9200-848C1D000000}';
91
  IID_IDAMatte: TGUID = '{C46C1BD1-3C52-11d0-9200-848C1D000000}';
92
  IID_IDAMicrophone: TGUID = '{C46C1BE5-3C52-11d0-9200-848C1D000000}';
93
  IID_IDAMontage: TGUID = '{C46C1BD5-3C52-11d0-9200-848C1D000000}';
94
  IID_IDAPath2: TGUID = '{C46C1BCF-3C52-11d0-9200-848C1D000000}';
95
  IID_IDAPoint2: TGUID = '{C46C1BC7-3C52-11d0-9200-848C1D000000}';
96
  IID_IDAPoint3: TGUID = '{C46C1BD7-3C52-11d0-9200-848C1D000000}';
97
  IID_IDASound: TGUID = '{C46C1BE3-3C52-11d0-9200-848C1D000000}';
98
  IID_IDAString: TGUID = '{C46C1BC3-3C52-11d0-9200-848C1D000000}';
99
  IID_IDATransform2: TGUID = '{C46C1BCB-3C52-11d0-9200-848C1D000000}';
100
  IID_IDATransform3: TGUID = '{C46C1BDB-3C52-11d0-9200-848C1D000000}';
101
  IID_IDAVector2: TGUID = '{C46C1BC9-3C52-11d0-9200-848C1D000000}';
102
  IID_IDAVector3: TGUID = '{C46C1BD9-3C52-11d0-9200-848C1D000000}';
103
  IID_IDAFontStyle: TGUID = '{25B0F91D-D23D-11d0-9B85-00C04FC2F51D}';
104
  IID_IDALineStyle: TGUID = '{C46C1BF1-3C52-11d0-9200-848C1D000000}';
105
  IID_IDAEndStyle: TGUID = '{C46C1BEB-3C52-11d0-9200-848C1D000000}';
106
  IID_IDAJoinStyle: TGUID = '{C46C1BED-3C52-11d0-9200-848C1D000000}';
107
  IID_IDADashStyle: TGUID = '{C46C1BEF-3C52-11d0-9200-848C1D000000}';
108
  IID_IDABbox2: TGUID = '{C46C1BCD-3C52-11d0-9200-848C1D000000}';
109
  IID_IDABbox3: TGUID = '{C46C1BDD-3C52-11d0-9200-848C1D000000}';
110
  IID_IDAPair: TGUID = '{C46C1BF3-3C52-11d0-9200-848C1D000000}';
111
  IID_IDAEvent: TGUID = '{50B4791E-4731-11d0-8912-00C04FC2A0CA}';
112
  IID_IDAArray: TGUID = '{D17506C2-6B26-11d0-8914-00C04FC2A0CA}';
113
  IID_IDATuple: TGUID = '{5DFB2650-9668-11d0-B17B-00C04FC2A0CA}';
114
  IID_IDAUserData: TGUID = '{AF868305-AB0B-11d0-876A-00C04FC29D46}';
115
  IID_IDAPreferences: TGUID = '{69B5BC70-9B19-11d0-9B60-00C04FC2F51D}';
116
  IID_IDASite: TGUID = '{45393DF0-54B9-11cf-92A2-00AA00B8A733}';
117
  IID_IDAImportationResult: TGUID = '{4A933702-E36F-11d0-9B99-00C04FC2F51D}';
118
  IID_IDAStatics: TGUID = '{542FB452-5003-11cf-92A2-00AA00B8A733}';
119
  IID_IDAViewerControl: TGUID = '{0E41257B-812D-11D0-9B4A-00C04FC2F51D}';
120
  IID_IDAViewerControlWindowed: TGUID = '{BA8B033E-1E91-11d1-8809-00C04FC29D46}';
121
 
122
type
123
  TDA_Dash_Style = (
124
    DAEmpty,
125
    DASolid,
126
    DADash
127
  );
128
 
129
  TDA_End_Style = (
130
    DAEndFlat,
131
    DAEndSquare,
132
    DAEndRound
133
  );
134
 
135
  TDA_Join_Style = (
136
    DAJoinBevel,
137
    DAJoinRound,
138
    DAJoinMiter
139
  );
140
 
141
  TDA_Timer_Source = (
142
    DAMultimediaTimer,
143
    DAContainerTimer,
144
    DAWMTimer
145
  );
146
 
147
type
148
  IDABehavior = interface;
149
  IDAImage = interface;
150
  IDASound = interface;
151
  IDAViewSite = interface;
152
  IDAPreferences = interface;
153
 
154
  IDAViewSite = interface(IDispatch)
155
    ['{283807B3-2C60-11d0-A31D-00AA00B92C03}']
156
    function SetStatusText(StatusText: TBSTR): HResult; stdcall;
157
  end;
158
 
159
  IDAView = interface(IDispatch)
160
    ['{283807B4-2C60-11d0-A31D-00AA00B92C03}']
161
    function get_SimulationTime(var simTime: double): HResult; stdcall;
162
    function Tick(simTime: double; var needToRender: WordBool): HResult; stdcall;
163
    function Render: HResult; stdcall;
164
    function AddBvrToRun(bvr: IDABehavior; var pId: Longint): HResult; stdcall;
165
    function RemoveRunningBvr(id: Longint): HResult; stdcall;
166
    function StartModel(pImage: IDAImage; pSound: IDASound; startTime: double): HResult; stdcall;
167
    function StopModel: HResult; stdcall;
168
    function get_Window(var hwnd: HWND): HResult; stdcall;
169
    function put_Window(hwnd: HWND): HResult; stdcall;
170
    function get_IDirectDrawSurface(out ddsurf: IDirectDrawSurface): HResult; stdcall;
171
    function put_IDirectDrawSurface(ddsurf: IDirectDrawSurface): HResult; stdcall;
172
    function get_DC(var dc: HDC): HResult; stdcall;
173
    function put_DC(dc: HDC): HResult; stdcall;
174
    function get_CompositeDirectlyToTarget(var composeToTarget: WordBool): HResult; stdcall;
175
    function put_CompositeDirectlyToTarget(composeToTarget: WordBool): HResult; stdcall;
176
    function SetViewport(xPos, yPos, w, h: Longint): HResult; stdcall;
177
    function SetClipRect(xPos, yPos, w, h: Longint): HResult; stdcall;
178
    function RePaint(xPos, yPos, w, h: Longint): HResult; stdcall;
179
    function PaletteChanged(bNew: WordBool): HResult; stdcall;
180
    function get_Site(out pViewSite: IDAViewSite): HResult; stdcall;
181
    function put_Site(pViewSite: IDAViewSite): HResult; stdcall;
182
    function put_ClientSite(pClientSite: IOleClientSite): HResult; stdcall;
183
    function get_ClientSite(out pClientSite: IOleClientSite): HResult; stdcall;
184
    function OnMouseMove(when: double; xPos, yPos: Longint; modifiers: Byte): HResult; stdcall;
185
    function OnMouseButton(when: double; xPos, yPos: Longint; button: Byte;
186
        bPressed: WordBool; modifiers: Byte): HResult; stdcall;
187
    function OnKey(when: double; key: Longint; bPressed: WordBool;
188
        modifiers: Byte): HResult; stdcall;
189
    function OnFocus(bHasFocus: WordBool): HResult; stdcall;
190
    function get_Preferences(out prefs: IDAPreferences): HResult; stdcall;
191
    function QueryHitPoint(dwAspect: DWORD; const prcBounds: TRect;
192
        ptLoc: TPoint; lCloseHint: Longint; var pHitResult: DWORD): HResult; stdcall;
193
  end;
194
 
195
  IDANumber = interface;
196
  IDABvrHook = interface;
197
 
198
  IDABehavior = interface(IDispatch)
199
    ['{283807B7-2C60-11d0-A31D-00AA00B92C03}']
200
    function GetClassName(var pClassName: TBSTR): HResult; stdcall;
201
    function Init(toBvr: IDABehavior): HResult; stdcall;
202
    function Importance(relativeImportance: double; out ppBvr: IDABehavior): HResult; stdcall;
203
    function RunOnce(out bvr: IDABehavior): HResult; stdcall;
204
    function SubstituteTime(xform: IDANumber; out bvr: IDABehavior): HResult; stdcall;
205
    function SwitchTo(switchTo: IDABehavior): HResult; stdcall;
206
    function SwitchToNumber(numToSwitchTo: double): HResult; stdcall;
207
    function SwitchToString(strToSwitchTo: TBSTR): HResult; stdcall;
208
    function Hook(notifier: IDABvrHook; out pBvr: IDABehavior): HResult; stdcall;
209
    function Duration(duration: double; out bvr: IDABehavior): HResult; stdcall;
210
    function DurationAnim(duration: IDANumber; out bvr: IDABehavior): HResult; stdcall;
211
    function Repeat_(count: Longint; out bvr: IDABehavior): HResult; stdcall;
212
    function RepeatForever(out bvr: IDABehavior): HResult; stdcall;
213
    function IsReady(bBlock: WordBool; var b: WordBool): HResult; stdcall;
214
  end;
215
 
216
  IDAString = interface;
217
 
218
  IDANumber = interface(IDABehavior)
219
    ['{9CDE7340-3C20-11d0-A330-00AA00B92C03}']
220
    function Extract(var ret_0: double): HResult; stdcall;
221
    function AnimateProperty(propertyPath_0, scriptingLanguage_1: TBSTR;
222
        invokeAsMethod_2: WordBool; minUpdateInterval_3: double;
223
        out ret_4: IDANumber): HResult; stdcall;
224
    function ToStringAnim(precision_0: IDANumber; out ret_1: IDAString): HResult; stdcall;
225
    function ToString(precision_0: double; out ret_1: IDAString): HResult; stdcall;
226
  end;
227
 
228
  IDABvrHook = interface(IUnknown)
229
    ['{3E2487C4-8709-11d0-B177-00C04FC2A0CA}']
230
    function Notify(id: Longint; startingPerformance: WordBool;
231
        startTime, gTime, lTime: double; sampleVal, curRunningBvr: IDABehavior;
232
        out ppBvr: IDABehavior): HResult; stdcall;
233
  end;
234
 
235
  IDALineStyle = interface;
236
  IDAFontStyle = interface;
237
  IDAMatte = interface;
238
  IDAPoint2 = interface;
239
  IDATransform2 = interface;
240
  IDAColor = interface;
241
  IDAPath2 = interface;
242
 
243
  IDADrawingSurface = interface(IDispatch)
244
    ['{BC0BFD34-D21D-11d0-9385-00C04FB6BD36}']
245
    function get_Image(out img: IDAImage): HResult; stdcall;
246
    function put_LineStyle(ls: IDALineStyle): HResult; stdcall;
247
    function put_BorderStyle(bs: IDALineStyle): HResult; stdcall;
248
    function put_FontStyle(fs: IDAFontStyle): HResult; stdcall;
249
    function put_ClipMatte(matte: IDAMatte): HResult; stdcall;
250
    function put_MouseEventsEnabled(on: WordBool): HResult; stdcall;
251
    function put_HatchFillTransparent(fillOff: WordBool): HResult; stdcall;
252
    function get_LocalContextImage(img: IDAImage): HResult; stdcall;
253
    function Reset: HResult; stdcall;
254
    function Clear: HResult; stdcall;
255
    function SaveGraphicsState: HResult; stdcall;
256
    function RestoreGraphicsState: HResult; stdcall;
257
    function Opacity(opac: double): HResult; stdcall;
258
    function OpacityAnim(opac: IDANumber): HResult; stdcall;
259
    function Crop(lowerLeftX, lowerLeftY, upperRightX, upperRightY: double): HResult; stdcall;
260
    function CropPoints(min, max: IDAPoint2): HResult; stdcall;
261
    function Transform(xform: IDATransform2): HResult; stdcall;
262
    function LineColor(clr: IDAColor): HResult; stdcall;
263
    function LineWidth(w: double): HResult; stdcall;
264
    function LineDashStyle(id: TDA_Dash_Style): HResult; stdcall;
265
    function LineEndStyle(id: TDA_End_Style): HResult; stdcall;
266
    function LineJoinStyle(id: TDA_Join_Style): HResult; stdcall;
267
    function BorderColor(clr: IDAColor): HResult; stdcall;
268
    function BorderWidth(w: double): HResult; stdcall;
269
    function BorderDashStyle(id: TDA_Dash_Style): HResult; stdcall;
270
    function BorderEndStyle(obsolete: TDA_End_Style): HResult; stdcall;
271
    function BorderJoinStyle(id: TDA_Join_Style): HResult; stdcall;
272
    function Font(FontFace: TBSTR; sizeInPoints: Longint; Bold, italic,
273
        underline, strikethrough: WordBool): HResult; stdcall;
274
    function TextureFill(obsolete1: IDAImage; obsolete2, obsolete3: double): HResult; stdcall;
275
    function ImageFill(obsolete1: IDAImage; obsolete2, obsolete3: double): HResult; stdcall;
276
    function FillTexture(img: IDAImage): HResult; stdcall;
277
    function FillImage(img: IDAImage): HResult; stdcall;
278
    function FillStyle(ID: Integer): HResult; stdcall;
279
    function FillColor(foreground: IDAColor): HResult; stdcall;
280
    function SecondaryFillColor(val: IDAColor): HResult; stdcall;
281
    function GradientShape(pts: VARIANT): HResult; stdcall;
282
    function GradientExtent(startx, starty, finishx, finishy: double): HResult; stdcall;
283
    function GradientExtentPoints(startColor, stopColor: IDAPoint2): HResult; stdcall;
284
    function GradientRolloffPower(power: double): HResult; stdcall;
285
    function GradientRolloffPowerAnim(power: IDANumber): HResult; stdcall;
286
    function FixedFillScale: HResult; stdcall;
287
    function HorizontalFillScale: HResult; stdcall;
288
    function VerticalFillScale: HResult; stdcall;
289
    function AutoSizeFillScale: HResult; stdcall;
290
    function PolylineEx(numPts: Longint; pts: IDAPoint2): HResult; stdcall;
291
    function Polyline(v: VARIANT): HResult; stdcall;
292
    function PolygonEx(numPts: Longint; pts: IDAPoint2): HResult; stdcall;
293
    function Polygon(v: VARIANT): HResult; stdcall;
294
    function LinePoints(p1, p2: IDAPoint2): HResult; stdcall;
295
    function Line(startX, startY, endX, endY: double): HResult; stdcall;
296
    function ArcRadians(xPos, yPos, startAngle, endAngle, arcWidth, arcHeight: double): HResult; stdcall;
297
    function ArcDegrees(xPos, yPos, startAngle, endAngle, arcWidth, arcHeight: double): HResult; stdcall;
298
    function Oval(xPos, yPos, w, h: double): HResult; stdcall;
299
    function Rect(xPos, yPos, w, h: double): HResult; stdcall;
300
    function RoundRect(xPos, yPos, w, h, arcWidth, arcHeight: double): HResult; stdcall;
301
    function PieRadians(xPos, yPos, startAngle, endAngle, arcWidth, arcHeight: double): HResult; stdcall;
302
    function PieDegrees(xPos, yPos, startAngle, endAngle, arcWidth, arcHeight: double): HResult; stdcall;
303
    function Text(str: TBSTR; xPos, yPos: double): HResult; stdcall;
304
    function TextPoint(str: TBSTR; point: IDAPoint2): HResult; stdcall;
305
    function FillPath(path: IDAPath2): HResult; stdcall;
306
    function DrawPath(path: IDAPath2): HResult; stdcall;
307
    function OverlayImage(img: IDAImage): HResult; stdcall;
308
  end;
309
 
310
  IDAGeometry = interface;
311
  IDAEvent = interface;
312
 
313
  IDAPickableResult = interface(IDispatch)
314
    ['{4A933703-E36F-11d0-9B99-00C04FC2F51D}']
315
    function get_Image(out ppImage: IDAImage): HResult; stdcall;
316
    function get_Geometry(out ppGeometry: IDAGeometry): HResult; stdcall;
317
    function get_PickEvent(out ppPickEvent: IDAEvent): HResult; stdcall;
318
  end;
319
 
320
  IDAUntilNotifier = interface(IDispatch)
321
    ['{3F3DA01A-4705-11d0-8710-00C04FC29D46}']
322
    function Notify(eventData, curRunningBvr: IDABehavior; curView: IDAView;
323
        out ppBvr: IDABehavior): HResult; stdcall;
324
  end;
325
 
326
  IDABoolean = interface(IDABehavior)
327
    ['{C46C1BC0-3C52-11d0-9200-848C1D000000}']
328
    function Extract(var ret_0: WordBool): HResult; stdcall;
329
  end;
330
 
331
  IDATransform3 = interface;
332
 
333
  IDACamera = interface(IDABehavior)
334
    ['{C46C1BE1-3C52-11d0-9200-848C1D000000}']
335
    function Transform(xf_0: IDATransform3; out ret_1: IDACamera): HResult; stdcall;
336
    function Depth(depth_0: double; out ret_1: IDACamera): HResult; stdcall;
337
    function DepthAnim(depth_0: IDANumber; out ret_1: IDACamera): HResult; stdcall;
338
    function DepthResolution(resolution_0: double; out ret_1: IDACamera): HResult; stdcall;
339
    function DepthResolutionAnim(resolution_0: IDANumber; out ret_1: IDACamera): HResult; stdcall;
340
  end;
341
 
342
  IDAColor = interface(IDABehavior)
343
    ['{C46C1BC5-3C52-11d0-9200-848C1D000000}']
344
    function get_Red(out ret_0: IDANumber): HResult; stdcall;
345
    function get_Green(out ret_0: IDANumber): HResult; stdcall;
346
    function get_Blue(out ret_0: IDANumber): HResult; stdcall;
347
    function get_Hue(out ret_0: IDANumber): HResult; stdcall;
348
    function get_Saturation(out ret_0: IDANumber): HResult; stdcall;
349
    function get_Lightness(out ret_0: IDANumber): HResult; stdcall;
350
  end;
351
 
352
  IDAMicrophone = interface;
353
  IDABbox3 =  interface;
354
 
355
  IDAGeometry = interface(IDABehavior)
356
    ['{C46C1BDF-3C52-11d0-9200-848C1D000000}']
357
    function RenderSound(mic_0: IDAMicrophone; out ret_1: IDASound): HResult; stdcall;
358
    function Pickable(out ret_0: IDAPickableResult): HResult; stdcall;
359
    function PickableOccluded(out ret_0: IDAPickableResult): HResult; stdcall;
360
    function Undetectable(out ret_0: IDAGeometry): HResult; stdcall;
361
    function EmissiveColor(col_0: IDAColor; out ret_1: IDAGeometry): HResult; stdcall;
362
    function DiffuseColor(col_0: IDAColor; out ret_1: IDAGeometry): HResult; stdcall;
363
    function SpecularColor(col_0: IDAColor; out ret_1: IDAGeometry): HResult; stdcall;
364
    function SpecularExponent(power_0: double; out ret_1: IDAGeometry): HResult; stdcall;
365
    function SpecularExponentAnim(power_0: IDANumber; out ret_1: IDAGeometry): HResult; stdcall;
366
    function Texture(texture_0: IDAImage; out ret_1: IDAGeometry): HResult; stdcall;
367
    function Opacity(level_0: double; out ret_1: IDAGeometry): HResult; stdcall;
368
    function OpacityAnim(level_0: IDANumber; out ret_1: IDAGeometry): HResult; stdcall;
369
    function Transform(xf_0: IDATransform3; out ret_1: IDAGeometry): HResult; stdcall;
370
    function get_BoundingBox(out ret_0: IDABbox3): HResult; stdcall;
371
    function Render(cam_0: IDACamera; out ret_1: IDAImage): HResult; stdcall;
372
    function LightColor(color_0: IDAColor; out ret_1: IDAGeometry): HResult; stdcall;
373
    function LightAttenuationAnim(constant_0, linear_1, quadratic_2: IDANumber;
374
        out ret_3: IDAGeometry): HResult; stdcall;
375
    function LightAttenuation(constant_0, linear_1, quadratic_2: double;
376
        out ret_3: IDAGeometry): HResult; stdcall;
377
  end;
378
 
379
  IDABbox2 = interface;
380
 
381
  IDAImage = interface(IDABehavior)
382
    ['{C46C1BD3-3C52-11d0-9200-848C1D000000}']
383
    function Pickable(out ret_0: IDAPickableResult): HResult; stdcall;
384
    function PickableOccluded(out ret_0: IDAPickableResult): HResult; stdcall;
385
    function ApplyBitmapEffect(effectToApply_0: IUnknown; firesWhenChanged_1: IDAEvent;
386
        out ret_2: IDAImage): HResult; stdcall;
387
    function get_BoundingBox(out ret_0: IDABbox2): HResult; stdcall;
388
    function Crop(min_0, max_1: IDAPoint2; out ret_2: IDAImage): HResult; stdcall;
389
    function Transform(xf_0: IDATransform2; out ret_1: IDAImage): HResult; stdcall;
390
    function OpacityAnim(opacity_0: IDANumber; out ret_1: IDAImage): HResult; stdcall;
391
    function Opacity(opacity_0: double; out ret_1: IDAImage): HResult; stdcall;
392
    function Undetectable(out ret_0: IDAImage): HResult; stdcall;
393
    function Tile(out ret_0: IDAImage): HResult; stdcall;
394
    function Clip(m_0: IDAMatte; out ret_1: IDAImage): HResult; stdcall;
395
    function MapToUnitSquare(out ret_0: IDAImage): HResult; stdcall;
396
    function ClipPolygonImageEx(points_0size: Longint; points_0: IDAPoint2;
397
        out ret_1: IDAImage): HResult; stdcall;
398
    function ClipPolygonImage(points_0: Variant; out ret_1: IDAImage): HResult; stdcall;
399
  end;
400
 
401
  IDAMatte = interface(IDABehavior)
402
    ['{C46C1BD1-3C52-11d0-9200-848C1D000000}']
403
    function Transform(xf_0: IDATransform2; out ret_1: IDAMatte): HResult; stdcall;
404
  end;
405
 
406
  IDAMicrophone = interface(IDABehavior)
407
    ['{C46C1BE5-3C52-11d0-9200-848C1D000000}']
408
    function Transform(xf_0: IDATransform3; out ret_1: IDAMicrophone): HResult; stdcall;
409
  end;
410
 
411
  IDAMontage = interface(IDABehavior)
412
    ['{C46C1BD5-3C52-11d0-9200-848C1D000000}']
413
    function Render(out ret_0: IDAImage): HResult; stdcall;
414
  end;
415
 
416
  IDAPath2 = interface(IDABehavior)
417
    ['{C46C1BCF-3C52-11d0-9200-848C1D000000}']
418
    function Transform(xf_0: IDATransform2; out ret_1: IDAPath2): HResult; stdcall;
419
    function BoundingBox(style_0: IDALineStyle; out ret_1: IDABbox2): HResult; stdcall;
420
    function Fill(border_0: IDALineStyle; fill_1: IDAImage; out ret_2: IDAImage): HResult; stdcall;
421
    function Draw(border_0: IDALineStyle; out ret_2: IDAImage): HResult; stdcall;
422
    function Close(out ret_0: IDAPath2): HResult; stdcall;
423
  end;
424
 
425
  IDAPoint2 = interface(IDABehavior)
426
    ['{C46C1BC7-3C52-11d0-9200-848C1D000000}']
427
    function AnimateControlPosition(propertyPath_0, scriptingLanguage_1: TBSTR;
428
        invokeAsMethod_2: WordBool; minUpdateInterval_3: double; out ret_4: IDAPoint2): HResult; stdcall;
429
    function AnimateControlPositionPixel(propertyPath_0, scriptingLanguage_1: TBSTR;
430
        invokeAsMethod_2: WordBool; minUpdateInterval_3: double; out ret_4: IDAPoint2): HResult; stdcall;
431
    function get_X(out ret_0: IDANumber): HResult; stdcall;
432
    function get_Y(out ret_0: IDANumber): HResult; stdcall;
433
    function get_PolarCoordAngle(out ret_0: IDANumber): HResult; stdcall;
434
    function get_PolarCoordLength(out ret_0: IDANumber): HResult; stdcall;
435
    function Transform(xf_0: IDATransform2; out ret_1: IDAPoint2): HResult; stdcall;
436
  end;
437
 
438
  IDAPoint3 = interface(IDABehavior)
439
    ['{C46C1BD7-3C52-11d0-9200-848C1D000000}']
440
    function Project(cam_0: IDACamera; out ret_1: IDAPoint2): HResult; stdcall;
441
    function get_X(out ret_0: IDANumber): HResult; stdcall;
442
    function get_Y(out ret_0: IDANumber): HResult; stdcall;
443
    function get_Z(out ret_0: IDANumber): HResult; stdcall;
444
    function get_SphericalCoordXYAngle(out ret_0: IDANumber): HResult; stdcall;
445
    function get_SphericalCoordYZAngle(out ret_0: IDANumber): HResult; stdcall;
446
    function get_SphericalCoordLength(out ret_0: IDANumber): HResult; stdcall;
447
    function Transform(xf_0: IDATransform3; out ret_1: IDAPoint3): HResult; stdcall;
448
  end;
449
 
450
  IDASound = interface(IDABehavior)
451
    ['{C46C1BE3-3C52-11d0-9200-848C1D000000}']
452
    function PhaseAnim(phaseAmt_0: IDANumber; out ret_1: IDASound): HResult; stdcall;
453
    function Phase(phaseAmt_0: double; out ret_1: IDASound): HResult; stdcall;
454
    function RateAnim(pitchShift_0: IDANumber; out ret_1: IDASound): HResult; stdcall;
455
    function Rate(pitchShift_0: double; out ret_1: IDASound): HResult; stdcall;
456
    function PanAnim(panAmt_0: IDANumber; out ret_1: IDASound): HResult; stdcall;
457
    function Pan(panAmt_0: double; out ret_1: IDASound): HResult; stdcall;
458
    function GainAnim(gainAmt_0: IDANumber; out ret_1: IDASound): HResult; stdcall;
459
    function Gain(gainAmt_0: double; out ret_1: IDASound): HResult; stdcall;
460
    function Loop(out ret_0: IDASound): HResult; stdcall;
461
  end;
462
 
463
  IDAString = interface(IDABehavior)
464
    ['{C46C1BC3-3C52-11d0-9200-848C1D000000}']
465
    function Extract(var ret_0: TBSTR): HResult; stdcall;
466
    function AnimateProperty(propertyPath_0, scriptingLanguage_1: TBSTR;
467
        invokeAsMethod_2: WordBool; minUpdateInterval_3: double; out ret_4: IDAString): HResult; stdcall;
468
  end;
469
 
470
  IDATransform2 = interface(IDABehavior)
471
    ['{C46C1BCB-3C52-11d0-9200-848C1D000000}']
472
    function Inverse(out ret_0: IDATransform2): HResult; stdcall;
473
    function get_IsSingular(out ret_0: IDABoolean): HResult; stdcall;
474
  end;
475
 
476
  IDATransform3 = interface(IDABehavior)
477
    ['{C46C1BDB-3C52-11d0-9200-848C1D000000}']
478
    function Inverse(out ret_0: IDATransform3): HResult; stdcall;
479
    function get_IsSingular(out ret_0: IDABoolean): HResult; stdcall;
480
    function ParallelTransform2(out ret_0: IDATransform2): HResult; stdcall;
481
  end;
482
 
483
  IDAVector2 = interface(IDABehavior)
484
    ['{C46C1BC9-3C52-11d0-9200-848C1D000000}']
485
    function get_Length(out ret_0: IDANumber): HResult; stdcall;
486
    function get_LengthSquared(out ret_0: IDANumber): HResult; stdcall;
487
    function Normalize(out ret_0: IDAVector2): HResult; stdcall;
488
    function MulAnim(scalar_0: IDANumber; out ret_1: IDAVector2): HResult; stdcall;
489
    function Mul(scalar_0: double; out ret_1: IDAVector2): HResult; stdcall;
490
    function DivAnim(scalar_0: IDANumber; out ret_1: IDAVector2): HResult; stdcall;
491
    function Div_(scalar_0: double; out ret_1: IDAVector2): HResult; stdcall;
492
    function get_X(out ret_0: IDANumber): HResult; stdcall;
493
    function get_Y(out ret_0: IDANumber): HResult; stdcall;
494
    function get_PolarCoordAngle(out ret_0: IDANumber): HResult; stdcall;
495
    function get_PolarCoordLength(out ret_0: IDANumber): HResult; stdcall;
496
    function Transform(xf_0: IDATransform2; out ret_1: IDAVector2): HResult; stdcall;
497
  end;
498
 
499
  IDAVector3 = interface(IDABehavior)
500
    ['{C46C1BD9-3C52-11d0-9200-848C1D000000}']
501
    function get_Length(out ret_0: IDANumber): HResult; stdcall;
502
    function get_LengthSquared(out ret_0: IDANumber): HResult; stdcall;
503
    function Normalize(out ret_0: IDAVector3): HResult; stdcall;
504
    function MulAnim(scalar_0: IDANumber; out ret_1: IDAVector3): HResult; stdcall;
505
    function Mul(scalar_0: double; out ret_1: IDAVector3): HResult; stdcall;
506
    function DivAnim(scalar_0: IDANumber; out ret_1: IDAVector3): HResult; stdcall;
507
    function Div_(scalar_0: double; out ret_1: IDAVector3): HResult; stdcall;
508
    function get_X(out ret_0: IDANumber): HResult; stdcall;
509
    function get_Y(out ret_0: IDANumber): HResult; stdcall;
510
    function get_Z(out ret_0: IDANumber): HResult; stdcall;
511
    function get_SphericalCoordXYAngle(out ret_0: IDANumber): HResult; stdcall;
512
    function get_SphericalCoordYZAngle(out ret_0: IDANumber): HResult; stdcall;
513
    function get_SphericalCoordLength(out ret_0: IDANumber): HResult; stdcall;
514
    function Transform(xf_0: IDATransform3; out ret_1: IDAVector3): HResult; stdcall;
515
  end;
516
 
517
  IDAFontStyle = interface(IDABehavior)
518
    ['{25B0F91D-D23D-11d0-9B85-00C04FC2F51D}']
519
    function Bold(out ret_0: IDAFontStyle): HResult; stdcall;
520
    function Italic(out ret_0: IDAFontStyle): HResult; stdcall;
521
    function Underline(out ret_0: IDAFontStyle): HResult; stdcall;
522
    function Strikethrough(out ret_0: IDAFontStyle): HResult; stdcall;
523
    function AntiAliasing(aaStyle_0: double; out ret_1: IDAFontStyle): HResult; stdcall;
524
    function Color(col_0: IDAColor; out ret_1: IDAFontStyle): HResult; stdcall;
525
    function FamilyAnim(face_0: IDAString; out ret_1: IDAFontStyle): HResult; stdcall;
526
    function Family(face_0: TBSTR; out ret_1: IDAFontStyle): HResult; stdcall;
527
    function SizeAnim(size_0: IDANumber; out ret_1: IDAFontStyle): HResult; stdcall;
528
    function Size(size_0: double; out ret_1: IDAFontStyle): HResult; stdcall;
529
    function Weight(weight_0: double; out ret_1: IDAFontStyle): HResult; stdcall;
530
    function WeightAnim(weight_0: IDANumber; out ret_1: IDAFontStyle): HResult; stdcall;
531
  end;
532
 
533
  IDAEndStyle = interface;
534
  IDAJoinStyle = interface;
535
  IDADashStyle = interface;
536
 
537
  IDALineStyle = interface(IDABehavior)
538
    ['{C46C1BF1-3C52-11d0-9200-848C1D000000}']
539
    function End_(sty_0: IDAEndStyle; out ret_1: IDALineStyle): HResult; stdcall;
540
    function Join(sty_0: IDAJoinStyle; out ret_1: IDALineStyle): HResult; stdcall;
541
    function Dash(sty_0: IDADashStyle; out ret_1: IDALineStyle): HResult; stdcall;
542
    function WidthAnim(sty_0: IDANumber; out ret_1: IDALineStyle): HResult; stdcall;
543
    function width(sty_0: double; out ret_1: IDALineStyle): HResult; stdcall;
544
    function AntiAliasing(aaStyle_0: double; out ret_1: IDALineStyle): HResult; stdcall;
545
    function Detail(out ret_0: IDALineStyle): HResult; stdcall;
546
    function Color(clr_0: IDAColor; out ret_1: IDALineStyle): HResult; stdcall;
547
  end;
548
 
549
  IDAEndStyle = interface(IDABehavior)
550
    ['{C46C1BEB-3C52-11d0-9200-848C1D000000}']
551
  end;
552
 
553
  IDAJoinStyle = interface(IDABehavior)
554
    ['{C46C1BED-3C52-11d0-9200-848C1D000000}']
555
  end;
556
 
557
  IDADashStyle = interface(IDABehavior)
558
    ['{C46C1BEF-3C52-11d0-9200-848C1D000000}']
559
  end;
560
 
561
  IDABbox2 = interface(IDABehavior)
562
    ['{C46C1BCD-3C52-11d0-9200-848C1D000000}']
563
    function get_Min(out ret_0: IDAPoint2): HResult; stdcall;
564
    function get_Max(out ret_0: IDAPoint2): HResult; stdcall;
565
  end;
566
 
567
  IDABbox3 = interface(IDABehavior)
568
    ['{C46C1BDD-3C52-11d0-9200-848C1D000000}']
569
    function get_Min(out ret_0: IDAPoint3): HResult; stdcall;
570
    function get_Max(out ret_0: IDAPoint3): HResult; stdcall;
571
  end;
572
 
573
  IDAPair = interface(IDABehavior)
574
    ['{C46C1BF3-3C52-11d0-9200-848C1D000000}']
575
    function get_First(out ret_0: IDABehavior): HResult; stdcall;
576
    function get_Second(out ret_0: IDABehavior): HResult; stdcall;
577
  end;
578
 
579
  IDAEvent = interface(IDABehavior)
580
    ['{50B4791E-4731-11d0-8912-00C04FC2A0CA}']
581
    function Notify(notifier_0: IDAUntilNotifier; out ret_1: IDAEvent): HResult; stdcall;
582
    function Snapshot(b_0: IDABehavior; out ret_1: IDAEvent): HResult; stdcall;
583
    function AttachData(data_0: IDABehavior; out ret_1: IDAEvent): HResult; stdcall;
584
    function ScriptCallback(scriptlet_0, language_1: TBSTR; out ret_2: IDAEvent): HResult; stdcall;
585
  end;
586
 
587
  IDAArray = interface(IDABehavior)
588
    ['{D17506C2-6B26-11d0-8914-00C04FC2A0CA}']
589
    function NthAnim(index_0: IDANumber; out ret_1: IDABehavior): HResult; stdcall;
590
    function Length(out ret_0: IDANumber): HResult; stdcall;
591
  end;
592
 
593
  IDATuple = interface(IDABehavior)
594
    ['{5DFB2650-9668-11d0-B17B-00C04FC2A0CA}']
595
    function Nth(index_0: Longint; out ret_1: IDABehavior): HResult; stdcall;
596
    function get_Length(var ret_0: Longint): HResult; stdcall;
597
  end;
598
 
599
  IDAUserData = interface(IDABehavior)
600
    ['{AF868305-AB0B-11d0-876A-00C04FC29D46}']
601
    function get_Data(out ret_0: IUnknown): HResult; stdcall;
602
  end;
603
 
604
  IDAPreferences = interface(IDispatch)
605
    ['{69B5BC70-9B19-11d0-9B60-00C04FC2F51D}']
606
    function PutPreference(preferenceName: TBSTR; value: Variant): HResult; stdcall;
607
    function GetPreference(preferenceName: TBSTR; var value: Variant): HResult; stdcall;
608
    function Propagate: HResult; stdcall;
609
  end;
610
 
611
  IDASite = interface(IDispatch)
612
    ['{45393DF0-54B9-11cf-92A2-00AA00B8A733}']
613
    function SetStatusText(StatusText: TBSTR): HResult; stdcall;
614
    function ReportError(hr: HResult; ErrorText: TBSTR): HResult; stdcall;
615
    function ReportGC(bStarting: WordBool): HResult; stdcall;
616
  end;
617
 
618
  IDAImportationResult = interface(IDispatch)
619
    ['{4A933702-E36F-11d0-9B99-00C04FC2F51D}']
620
    function get_Image(out ppImage: IDAImage): HResult; stdcall;
621
    function get_Sound(out ppSound: IDASound): HResult; stdcall;
622
    function get_Geometry(out ppGeometry: IDAGeometry): HResult; stdcall;
623
    function get_Duration(out ppDuration: IDANumber): HResult; stdcall;
624
    function get_CompletionEvent(out ppCompletionEvent: IDAEvent): HResult; stdcall;
625
    function get_Progress(out ppProgress: IDANumber): HResult; stdcall;
626
    function get_Size(out ppSizeInBytes: IDANumber): HResult; stdcall;
627
  end;
628
 
629
  IDAStatics = interface(IDispatch)
630
    ['{542FB452-5003-11cf-92A2-00AA00B8A733}']
631
    function get_VersionString(var str: TBSTR): HResult; stdcall;
632
    function get_Site(out pSite: IDASite): HResult; stdcall;
633
    function put_Site(pSite: IDASite): HResult; stdcall;
634
    function put_ClientSite(pClientSite: IOleClientSite): HResult; stdcall;
635
    function get_ClientSite(out pClientSite: IOleClientSite): HResult; stdcall;
636
    function put_PixelConstructionMode(bMode: WordBool): HResult; stdcall;
637
    function get_PixelConstructionMode(var bMode: WordBool): HResult; stdcall;
638
    function TriggerEvent(event: IDAEvent; data: IDABehavior): HResult; stdcall;
639
    function NewDrawingSurface(out pds: IDADrawingSurface): HResult; stdcall;
640
    function ImportMovie(url: TBSTR; out ppResult: IDAImportationResult): HResult; stdcall;
641
    function ImportMovieAsync(url: TBSTR; pImageStandIn: IDAImage; pSoundStandIn: IDASound;
642
        out ppResult: IDAImportationResult): HResult; stdcall;
643
    function ImportImage(url: TBSTR; out ppImage: IDAImage): HResult; stdcall;
644
    function ImportImageAsync(url: TBSTR; pImageStandIn: IDAImage;
645
        out ppResult: IDAImportationResult): HResult; stdcall;
646
    function ImportImageColorKey(url: TBSTR; colorKeyRed, colorKeyGreen, colorKeyBlue: Byte;
647
        out ppImage: IDAImage): HResult; stdcall;
648
    function ImportImageAsyncColorKey(url: TBSTR; pImageStandIn: IDAImage;
649
        colorKeyRed, colorKeyGreen, colorKeyBlue: Byte;
650
        out ppResult: IDAImportationResult): HResult; stdcall;
651
    function ImportSound(url: TBSTR; out ppResult: IDAImportationResult): HResult; stdcall;
652
    function ImportSoundAsync(url: TBSTR; pSoundStandIn: IDASound;
653
        out ppResult: IDAImportationResult): HResult; stdcall;
654
    function ImportGeometry(url: TBSTR; out ppGeometry: IDAGeometry): HResult; stdcall;
655
    function ImportGeometryAsync(url: TBSTR; pGeoStandIn: IDAGeometry;
656
        out ppResult: IDAImportationResult): HResult; stdcall;
657
    function ImportDirectDrawSurface(dds: IDirectDrawSurface; updateEvent: IDAEvent;
658
        out ppImage: IDAImage): HResult; stdcall;
659
    function Cond(c, i, e: IDABoolean; out pCondBvr: IDABoolean): HResult; stdcall;
660
    function DAArrayEx(s: Longint; pBvrs: IDABehavior; out bvr: IDAArray): HResult; stdcall;
661
    function DAArray(bvrs: Variant; out bvr: IDAArray): HResult; stdcall;
662
    function DATupleEx(s: Longint; pBvrs: IDABehavior; out bvr: IDATuple): HResult; stdcall;
663
    function DATuple(bvrs: Variant; out bvr: IDATuple): HResult; stdcall;
664
    function ModifiableBehavior(orig: IDABehavior; out bvr: IDABehavior): HResult; stdcall;
665
    function UninitializedArray(typeTmp: IDAArray; out bvr: IDAArray): HResult; stdcall;
666
    function UninitializedTuple(typeTmp: IDATuple; out bvr: IDATuple): HResult; stdcall;
667
    function NumberBSplineEx(degree: Integer; numKnots: Longint; knots: IDANumber;
668
        numPts: Longint; ctrlPts: IDANumber; numWts: Longint; weights: IDANumber;
669
        evaluator: IDANumber; out bvr: IDANumber): HResult; stdcall;
670
    function NumberBSpline(degree: Integer; knots, CtrlPts, weights: Variant;
671
        evaluator: IDANumber; out bvr: IDANumber): HResult; stdcall;
672
    function Point2BSplineEx(degree: Integer; numKnots: Longint; knots: IDANumber;
673
        numPts: Longint; ctrlPts: IDAPoint2; numWts: Longint; weights: IDANumber;
674
        evaluator: IDANumber; out bvr: IDAPoint2): HResult; stdcall;
675
    function Point2BSpline(degree: Integer; knots, CtrlPts, weights: Variant;
676
        evaluator: IDANumber; out bvr: IDAPoint2): HResult; stdcall;
677
    function Point3BSplineEx(degree: Integer; numKnots: Longint; knots: IDANumber;
678
        numPts: Longint; ctrlPts: IDAPoint3; numWts: Longint; weights: IDANumber;
679
        evaluator: IDANumber; out bvr: IDAPoint3): HResult; stdcall;
680
    function Point3BSpline(degree: Integer; knots, CtrlPts, weights: Variant;
681
        evaluator: IDANumber; out bvr: IDAPoint3): HResult; stdcall;
682
    function Vector2BSplineEx(degree: Integer; numKnots: Longint; knots: IDANumber;
683
        numPts: Longint; ctrlPts: IDAVector2; numWts: Longint; weights: IDANumber;
684
        evaluator: IDANumber; out bvr: IDAVector2): HResult; stdcall;
685
    function Vector2BSpline(degree: Integer; knots, CtrlPts, weights: Variant;
686
        evaluator: IDANumber; out bvr: IDAVector2): HResult; stdcall;
687
    function Vector3BSplineEx(degree: Integer; numKnots: Longint; knots: IDANumber;
688
        numPts: Longint; ctrlPts: IDAVector3; numWts: Longint; weights: IDANumber;
689
        evaluator: IDANumber; out bvr: IDAVector3): HResult; stdcall;
690
    function Vector3BSpline(degree: Integer; knots, CtrlPts, weights: Variant;
691
        evaluator: IDANumber; out bvr: IDAVector3): HResult; stdcall;
692
    function Pow(a_0, b_1: IDANumber; out ret_2: IDANumber): HResult; stdcall;
693
    function Abs(a_0: IDANumber; out ret_1: IDANumber): HResult; stdcall;
694
    function Sqrt(a_0: IDANumber; out ret_1: IDANumber): HResult; stdcall;
695
    function Floor(a_0: IDANumber; out ret_1: IDANumber): HResult; stdcall;
696
    function Round(a_0: IDANumber; out ret_1: IDANumber): HResult; stdcall;
697
    function Ceiling(a_0: IDANumber; out ret_1: IDANumber): HResult; stdcall;
698
    function Asin(a_0: IDANumber; out ret_1: IDANumber): HResult; stdcall;
699
    function Acos(a_0: IDANumber; out ret_1: IDANumber): HResult; stdcall;
700
    function Atan(a_0: IDANumber; out ret_1: IDANumber): HResult; stdcall;
701
    function Sin(a_0: IDANumber; out ret_1: IDANumber): HResult; stdcall;
702
    function Cos(a_0: IDANumber; out ret_1: IDANumber): HResult; stdcall;
703
    function Tan(a_0: IDANumber; out ret_1: IDANumber): HResult; stdcall;
704
    function Exp(a_0: IDANumber; out ret_1: IDANumber): HResult; stdcall;
705
    function Ln(a_0: IDANumber; out ret_1: IDANumber): HResult; stdcall;
706
    function Log10(a_0: IDANumber; out ret_1: IDANumber): HResult; stdcall;
707
    function ToDegrees(a_0: IDANumber; out ret_1: IDANumber): HResult; stdcall;
708
    function ToRadians(a_0: IDANumber; out ret_1: IDANumber): HResult; stdcall;
709
    function Mod_(a_0, b_1: IDANumber; out ret_2: IDANumber): HResult; stdcall;
710
    function Atan2(a_0, b_1: IDANumber; out ret_2: IDANumber): HResult; stdcall;
711
    function Add(a_0, b_1: IDANumber; out ret_2: IDANumber): HResult; stdcall;
712
    function Sub(a_0, b_1: IDANumber; out ret_2: IDANumber): HResult; stdcall;
713
    function Mul(a_0, b_1: IDANumber; out ret_2: IDANumber): HResult; stdcall;
714
    function Div_(a_0, b_1: IDANumber; out ret_2: IDANumber): HResult; stdcall;
715
    function LT(a_0, b_1: IDANumber; out ret_2: IDABoolean): HResult; stdcall;
716
    function LTE(a_0, b_1: IDANumber; out ret_2: IDABoolean): HResult; stdcall;
717
    function GT(a_0, b_1: IDANumber; out ret_2: IDABoolean): HResult; stdcall;
718
    function GTE(a_0, b_1: IDANumber; out ret_2: IDABoolean): HResult; stdcall;
719
    function EQ(a_0, b_1: IDANumber; out ret_2: IDABoolean): HResult; stdcall;
720
    function NE(a_0, b_1: IDANumber; out ret_2: IDABoolean): HResult; stdcall;
721
    function Neg(a_0, b_1: IDANumber; out ret_2: IDABoolean): HResult; stdcall;
722
    function InterpolateAnim(from_0, to_1, duration_2: IDANumber; out ret_3: IDANumber): HResult; stdcall;
723
    function Interpolate(from_0, to_1, duration_2: double; out ret_3: IDANumber): HResult; stdcall;
724
    function SlowInSlowOutAnim(from_0, to_1, duration_2, sharpness_3: IDANumber; out ret_3: IDANumber): HResult; stdcall;
725
    function SlowInSlowOut(from_0, to_1, duration_2, sharpness_3: double; out ret_3: IDANumber): HResult; stdcall;
726
    function SoundSource(snd_0: IDASound; out ret_1: IDAGeometry): HResult; stdcall;
727
    function Mix(left_0, right_1: IDASound; out ret_2: IDASound): HResult; stdcall;
728
    function And_(a_0, b_1: IDABoolean; out ret_2: IDABoolean): HResult; stdcall;
729
    function Or_(a_0, b_1: IDABoolean; out ret_2: IDABoolean): HResult; stdcall;
730
    function Not_(a_0: IDABoolean; out ret_1: IDABoolean): HResult; stdcall;
731
    function Integral(a_0: IDANumber; out ret_1: IDANumber): HResult; stdcall;
732
    function Derivative(a_0: IDANumber; out ret_1: IDANumber): HResult; stdcall;
733
    function IntegralVector2(v_0: IDAVector2; out ret_1: IDAVector2): HResult; stdcall;
734
    function IntegralVector3(v_0: IDAVector3; out ret_1: IDAVector3): HResult; stdcall;
735
    function DerivativeVector2(v_0: IDAVector2; out ret_1: IDAVector2): HResult; stdcall;
736
    function DerivativeVector3(v_0: IDAVector3; out ret_1: IDAVector3): HResult; stdcall;
737
    function DerivativePoint2(v_0: IDAVector2; out ret_1: IDAVector2): HResult; stdcall;
738
    function DerivativePoint3(v_0: IDAVector3; out ret_1: IDAVector3): HResult; stdcall;
739
    function KeyState(n_0: IDANumber; out ret_1: IDABoolean): HResult; stdcall;
740
    function KeyUp(arg_0: Longint; out ret_1: IDAEvent): HResult; stdcall;
741
    function KeyDown(arg_0: Longint; out ret_1: IDAEvent): HResult; stdcall;
742
    function DANumber(num_0: Longint; out ret_1: IDANumber): HResult; stdcall;
743
    function DAString(str_0: TBSTR; out ret_1: IDAString): HResult; stdcall;
744
    function DABoolean(num_0: WordBool; out ret_1: IDABoolean): HResult; stdcall;
745
    function SeededRandom(arg_0: double; out ret_1: IDANumber): HResult; stdcall;
746
    function get_MousePosition(out ret_0: IDAPoint2): HResult; stdcall;
747
    function get_LeftButtonState(out ret_0: IDABoolean): HResult; stdcall;
748
    function get_RightButtonState(out ret_0: IDABoolean): HResult; stdcall;
749
    function get_DATrue(out ret_0: IDABoolean): HResult; stdcall;
750
    function get_DAFalse(out ret_0: IDABoolean): HResult; stdcall;
751
    function get_LocalTime(out ret_0: IDANumber): HResult; stdcall;
752
    function get_GlobalTime(out ret_0: IDANumber): HResult; stdcall;
753
    function get_Pixel(out ret_0: IDANumber): HResult; stdcall;
754
    function UserData(data_0: IUnknown; out ret_1: IDAUserData): HResult; stdcall;
755
    function UntilNotify(b0_0: IDABehavior; event_1: IDAEvent; notifier_2: IDAUntilNotifier;
756
        out ret_3: IDABehavior): HResult; stdcall;
757
    function Until_(b0_0: IDABehavior; event_1: IDAEvent; notifier_2: IDAUntilNotifier;
758
        out ret_3: IDABehavior): HResult; stdcall;
759
    function UntilEx(b0_0: IDABehavior; event_1: IDAEvent; out ret_2: IDABehavior): HResult; stdcall;
760
    function Sequence(s1_0, s2_1: IDABehavior; out ret_2: IDABehavior): HResult; stdcall;
761
    function FollowPath(path_0: IDAPath2; duration_1: double; out ret_2: IDATransform2): HResult; stdcall;
762
    function FollowPathAngle(path_0: IDAPath2; duration_1: double; out ret_2: IDATransform2): HResult; stdcall;
763
    function FollowPathAngleUpright(path_0: IDAPath2; duration_1: double; out ret_2: IDATransform2): HResult; stdcall;
764
    function FollowPathEval(path_0: IDAPath2; duration_1: double; out ret_2: IDATransform2): HResult; stdcall;
765
    function FollowPathAngleEval(path_0: IDAPath2; duration_1: double; out ret_2: IDATransform2): HResult; stdcall;
766
    function FollowPathAngleUprightEval(path_0: IDAPath2; duration_1: double; out ret_2: IDATransform2): HResult; stdcall;
767
    function FollowPathAnim(obsoleted1_0: IDAPath2; obsoleted2_1: IDANumber; out ret_2: IDATransform2): HResult; stdcall;
768
    function FollowPathAngleAnim(obsoleted1_0: IDAPath2; obsoleted2_1: IDANumber; out ret_2: IDATransform2): HResult; stdcall;
769
    function FollowPathAngleUprightAnim(obsoleted1_0: IDAPath2; obsoleted2_1: IDANumber; out ret_2: IDATransform2): HResult; stdcall;
770
    function ConcatString(s1_0, s2_1: IDAString; out ret_2: IDAString): HResult; stdcall;
771
    function PerspectiveCamera(focalDist_0, nearClip_1: double; out ret_2: IDACamera): HResult; stdcall;
772
    function PerspectiveCameraAnim(focalDist_0, nearClip_1: IDANumber; out ret_2: IDACamera): HResult; stdcall;
773
    function ParallelCamera(nearClip_0: double; out ret_1: IDACamera): HResult; stdcall;
774
    function ParallelCameraAnim(nearClip_0: IDANumber; out ret_1: IDACamera): HResult; stdcall;
775
    function ColorRgbAnim(red_0, green_1, blue_2: IDANumber; out ret_3: IDAColor): HResult; stdcall;
776
    function ColorRgb(red_0, green_1, blue_2: double; out ret_3: IDAColor): HResult; stdcall;
777
    function ColorRgb255(red_0, green_1, blue_2: SmallInt; out ret_3: IDAColor): HResult; stdcall;
778
    function ColorHsl(hue_0, saturation_1, lum_2: double; out ret_3: IDAColor): HResult; stdcall;
779
    function ColorHslAnim(hue_0, saturation_1, lum_2: IDANumber; out ret_3: IDAColor): HResult; stdcall;
780
    function get_Red(out ret_0: IDAColor): HResult; stdcall;
781
    function get_Green(out ret_0: IDAColor): HResult; stdcall;
782
    function get_Blue(out ret_0: IDAColor): HResult; stdcall;
783
    function get_Cyan(out ret_0: IDAColor): HResult; stdcall;
784
    function get_Magenta(out ret_0: IDAColor): HResult; stdcall;
785
    function get_Yellow(out ret_0: IDAColor): HResult; stdcall;
786
    function get_Black(out ret_0: IDAColor): HResult; stdcall;
787
    function get_White(out ret_0: IDAColor): HResult; stdcall;
788
    function get_Aqua(out ret_0: IDAColor): HResult; stdcall;
789
    function get_Fuchsia(out ret_0: IDAColor): HResult; stdcall;
790
    function get_Gray(out ret_0: IDAColor): HResult; stdcall;
791
    function get_Lime(out ret_0: IDAColor): HResult; stdcall;
792
    function get_Maroon(out ret_0: IDAColor): HResult; stdcall;
793
    function get_Navy(out ret_0: IDAColor): HResult; stdcall;
794
    function get_Olive(out ret_0: IDAColor): HResult; stdcall;
795
    function get_Purple(out ret_0: IDAColor): HResult; stdcall;
796
    function get_Silver(out ret_0: IDAColor): HResult; stdcall;
797
    function get_Teal(out ret_0: IDAColor): HResult; stdcall;
798
    function Predicate(b_0: IDABoolean; out ret_1: IDAEvent): HResult; stdcall;
799
    function NotEvent(event_0: IDAEvent; out ret_1: IDAEvent): HResult; stdcall;
800
    function AndEvent(e1_0, e2_1: IDAEvent; out ret_2: IDAEvent): HResult; stdcall;
801
    function OrEvent(e1_0, e2_1: IDAEvent; out ret_2: IDAEvent): HResult; stdcall;
802
    function ThenEvent(e1_0, e2_1: IDAEvent; out ret_2: IDAEvent): HResult; stdcall;
803
    function get_LeftButtonDown(out ret_0: IDAEvent): HResult; stdcall;
804
    function get_LeftButtonUp(out ret_0: IDAEvent): HResult; stdcall;
805
    function get_RightButtonDown(out ret_0: IDAEvent): HResult; stdcall;
806
    function get_RightButtonUp(out ret_0: IDAEvent): HResult; stdcall;
807
    function get_Always(out ret_0: IDAEvent): HResult; stdcall;
808
    function get_Never(out ret_0: IDAEvent): HResult; stdcall;
809
    function TimerAnim(n_0: IDANumber; out ret_1: IDAEvent): HResult; stdcall;
810
    function Timer(n_0: double; out ret_1: IDAEvent): HResult; stdcall;
811
    function AppTriggeredEvent(out ret_0: IDAEvent): HResult; stdcall;
812
    function ScriptCallback(obsolete1_0: TBSTR; obsolete2_1: IDAEvent; obsolete3_2: TBSTR; out ret_3: IDAEvent): HResult; stdcall;
813
    function get_EmptyGeometry(out ret_0: IDAGeometry): HResult; stdcall;
814
    function UnionGeometry(g1_0, g2_1: IDAGeometry; out ret_2: IDAGeometry): HResult; stdcall;
815
    function UnionGeometryArrayEx(imgs_0size: Longint; imgs_0: IDAGeometry; out ret_1: IDAGeometry): HResult; stdcall;
816
    function UnionGeometryArray(imgs_0: Variant; out ret_1: IDAGeometry): HResult; stdcall;
817
    function get_EmptyImage(out ret_0: IDAImage): HResult; stdcall;
818
    function get_DetectableEmptyImage(out ret_0: IDAImage): HResult; stdcall;
819
    function SolidColorImage(col_0: IDAColor; out ret_1: IDAImage): HResult; stdcall;
820
    function GradientPolygonEx(points_0size: Longint; points_0: IDAPoint2;
821
        colors_1size: Longint; colors_1: IDAColor; out ret_2: IDAImage): HResult; stdcall;
822
    function GradientPolygon(points_0, colors_1: Variant; out ret_2: IDAImage): HResult; stdcall;
823
    function RadialGradientPolygonEx(inner_0, outer_1: IDAColor; points_2size: Longint;
824
        points_2 : IDAPoint2; fallOff_3: double; out ret_4: IDAImage): HResult; stdcall;
825
    function RadialGradientPolygon(inner_0, outer_1: IDAColor; points_2: Variant; fallOff_3: double;
826
        out ret_4: IDAImage): HResult; stdcall;
827
    function RadialGradientPolygonAnimEx(inner_0, outer_1: IDAColor; points_2size: Longint; points_2: IDAPoint2; fallOff_3: double;
828
        out ret_4: IDAImage): HResult; stdcall;
829
    function RadialGradientPolygonAnim(inner_0, outer_1: IDAColor; points_2: Variant; fallOff_3: double;
830
        out ret_4: IDAImage): HResult; stdcall;
831
    function GradientSquare(lowerLeft_0, upperLeft_1, upperRight_2, lowerRight_3: IDAColor;
832
        out ret_4: IDAImage): HResult; stdcall;
833
    function RadialGradientSquare(inner_0, outer_1: IDAColor; fallOff_2: double; out ret_3: IDAImage): HResult; stdcall;
834
    function RadialGradientSquareAnim(inner_0, outer_1: IDAColor; fallOff_2: IDANumber; out ret_3: IDAImage): HResult; stdcall;
835
    function RadialGradientRegularPoly(inner_0, outer_1: IDAColor; numEdges_2, fallOff_3: double; out ret_4: IDAImage): HResult; stdcall;
836
    function RadialGradientRegularPolyAnim(inner_0, outer_1: IDAColor; numEdges_2, fallOff_3: IDANumber; out ret_4: IDAImage): HResult; stdcall;
837
    function GradientHorizontal(start_0, stop_1: IDAColor; fallOff_2: double; out ret_3: IDAImage): HResult; stdcall;
838
    function GradientHorizontalAnim(start_0, stop_1: IDAColor; fallOff_2: IDANumber; out ret_3: IDAImage): HResult; stdcall;
839
    function HatchHorizontal(lineClr_0: IDAColor; spacing_1: double; out ret_2: IDAImage): HResult; stdcall;
840
    function HatchHorizontalAnim(lineClr_0: IDAColor; spacing_1: IDANumber; out ret_2: IDAImage): HResult; stdcall;
841
    function HatchVertical(lineClr_0: IDAColor; spacing_1: double; out ret_2: IDAImage): HResult; stdcall;
842
    function HatchVerticalAnim(lineClr_0: IDAColor; spacing_1: IDANumber; out ret_2: IDAImage): HResult; stdcall;
843
    function HatchForwardDiagonal(lineClr_0: IDAColor; spacing_1: double; out ret_2: IDAImage): HResult; stdcall;
844
    function HatchForwardDiagonalAnim(lineClr_0: IDAColor; spacing_1: IDANumber; out ret_2: IDAImage): HResult; stdcall;
845
    function HatchBackwardDiagonal(lineClr_0: IDAColor; spacing_1: double; out ret_2: IDAImage): HResult; stdcall;
846
    function HatchBackwardDiagonalAnim(lineClr_0: IDAColor; spacing_1: IDANumber; out ret_2: IDAImage): HResult; stdcall;
847
    function HatchCross(lineClr_0: IDAColor; spacing_1: double; out ret_2: IDAImage): HResult; stdcall;
848
    function HatchCrossAnim(lineClr_0: IDAColor; spacing_1: IDANumber; out ret_2: IDAImage): HResult; stdcall;
849
    function HatchDiagonalCross(lineClr_0: IDAColor; spacing_1: double; out ret_2: IDAImage): HResult; stdcall;
850
    function HatchDiagonalCrossAnim(lineClr_0: IDAColor; spacing_1: IDANumber; out ret_2: IDAImage): HResult; stdcall;
851
    function Overlay(top_0, bottom_1: IDAImage; out ret_2: IDAImage): HResult; stdcall;
852
    function OverlayArrayEx(imgs_0size: Longint; imgs_0: IDAImage; out ret_1: IDAImage): HResult; stdcall;
853
    function OverlayArray(imgs_0: Variant; ret_1: IDAImage): HResult; stdcall;
854
    function get_AmbientLight(out ret_0: IDAGeometry): HResult; stdcall;
855
    function get_DirectionalLight(out ret_0: IDAGeometry): HResult; stdcall;
856
    function get_PointLight(out ret_0: IDAGeometry): HResult; stdcall;
857
    function SpotLightAnim(fullcone_0, cutoff_1: IDANumber; out ret_2: IDAGeometry): HResult; stdcall;
858
    function SpotLight(fullcone_0: IDANumber; cutoff_1: double; out ret_2: IDAGeometry): HResult; stdcall;
859
    function get_DefaultLineStyle(out ret_0: IDALineStyle): HResult; stdcall;
860
    function get_EmptyLineStyle(out ret_0: IDALineStyle): HResult; stdcall;
861
    function get_JoinStyleBevel(out ret_0: IDAJoinStyle): HResult; stdcall;
862
    function get_JoinStyleRound(out ret_0: IDAJoinStyle): HResult; stdcall;
863
    function get_JoinStyleMiter(out ret_0: IDAJoinStyle): HResult; stdcall;
864
    function get_EndStyleFlat(out ret_0: IDAEndStyle): HResult; stdcall;
865
    function get_EndStyleSquare(out ret_0: IDAEndStyle): HResult; stdcall;
866
    function get_EndStyleRound(out ret_0: IDAEndStyle): HResult; stdcall;
867
    function get_DashStyleSolid(out ret_0: IDADashStyle): HResult; stdcall;
868
    function get_DashStyleDashed(out ret_0: IDADashStyle): HResult; stdcall;
869
    function get_DefaultMicrophone(out ret_0: IDAMicrophone): HResult; stdcall;
870
    function get_OpaqueMatte(out ret_0: IDAMatte): HResult; stdcall;
871
    function get_ClearMatte(out ret_0: IDAMatte): HResult; stdcall;
872
    function UnionMatte(m1_0, m2_1: IDAMatte; out ret_2: IDAMatte): HResult; stdcall;
873
    function IntersectMatte(m1_0, m2_1: IDAMatte; out ret_2: IDAMatte): HResult; stdcall;
874
    function DifferenceMatte(m1_0, m2_1: IDAMatte; out ret_2: IDAMatte): HResult; stdcall;
875
    function FillMatte(p_0: IDAPath2; out ret_1: IDAMatte): HResult; stdcall;
876
    function TextMatte(str_0: IDAString; fs_1: IDAFontStyle; out ret_2: IDAMatte): HResult; stdcall;
877
    function get_EmptyMontage(out ret_0: IDAMontage): HResult; stdcall;
878
    function ImageMontage(im_0: IDAImage; depth_1: double; out ret_2: IDAMontage): HResult; stdcall;
879
    function ImageMontageAnim(im_0: IDAImage; depth_1: IDANumber; out ret_2: IDAMontage): HResult; stdcall;
880
    function UnionMontage(m1_0, m2_1: IDAMontage; out ret_2: IDAMontage): HResult; stdcall;
881
    function Concat(p1_0, p2_1: IDAPath2; out ret_2: IDAPath2): HResult; stdcall;
882
    function ConcatArrayEx(paths_0size: Longint; paths_0: IDAPath2; out ret_1: IDAPath2): HResult; stdcall;
883
    function ConcatArray(paths_0: Variant; out ret_1: IDAPath2): HResult; stdcall;
884
    function Line(p1_0, p2_1: IDAPoint2; out ret_2: IDAPath2): HResult; stdcall;
885
    function Ray(pt_0: IDAPoint2; out ret_1: IDAPath2): HResult; stdcall;
886
    function StringPathAnim(str_0: IDAString; fs_1: IDAFontStyle; out ret_2: IDAPath2): HResult; stdcall;
887
    function StringPath(str_0: TBSTR; fs_1: IDAFontStyle; out ret_2: IDAPath2): HResult; stdcall;
888
    function PolylineEx(points_0size: Longint; points_0: IDAPoint2; out ret_1: IDAPath2): HResult; stdcall;
889
    function Polyline(points_0: Variant; out ret_1: IDAPath2): HResult; stdcall;
890
    function PolydrawPathEx(points_0size: Longint; points_0: IDAPoint2; codes_1size: Longint; codes_1: IDANumber; out ret_2: IDAPath2): HResult; stdcall;
891
    function PolydrawPath(points_0, codes_1: Variant; out ret_2: IDAPath2): HResult; stdcall;
892
    function ArcRadians(startAngle_0, endAngle_1, arcWidth_2, arcHeight_3: double; out ret_4: IDAPath2): HResult; stdcall;
893
    function ArcRadiansAnim(startAngle_0, endAngle_1, arcWidth_2, arcHeight_3: IDANumber; out ret_4: IDAPath2): HResult; stdcall;
894
    function ArcDegrees(startAngle_0, endAngle_1, arcWidth_2, arcHeight_3: double; out ret_4: IDAPath2): HResult; stdcall;
895
    function PieRadians(startAngle_0, endAngle_1, arcWidth_2, arcHeight_3: double; out ret_4: IDAPath2): HResult; stdcall;
896
    function PieRadiansAnim(startAngle_0, endAngle_1, arcWidth_2, arcHeight_3: IDANumber; out ret_4: IDAPath2): HResult; stdcall;
897
    function PieDegrees(startAngle_0, endAngle_1, arcWidth_2, arcHeight_3: double; out ret_4: IDAPath2): HResult; stdcall;
898
    function Oval(width_0, height_1: double; out ret_2: IDAPath2): HResult; stdcall;
899
    function OvalAnim(width_0, height_1: IDANumber; out ret_2: IDAPath2): HResult; stdcall;
900
    function Rect(width_0, height_1: double; out ret_2: IDAPath2): HResult; stdcall;
901
    function RectAnim(width_0, height_1: IDANumber; out ret_2: IDAPath2): HResult; stdcall;
902
    function RoundRect(width_0, height_1, cornerArcWidth_2, cornerArcHeight_3: double; out ret_4: IDAPath2): HResult; stdcall;
903
    function RoundRectAnim(width_0, height_1, cornerArcWidth_2, cornerArcHeight_3: IDANumber; out ret_4: IDAPath2): HResult; stdcall;
904
    function CubicBSplinePathEx(points_0size: Longint; points_0: IDAPoint2; knots_1size: Longint; knots_1: IDANumber; out ret_2: IDAPath2): HResult; stdcall;
905
    function CubicBSplinePath(points_0, knots_1: Variant; out ret_2: IDAPath2): HResult; stdcall;
906
    function TextPath(obsolete1_0: IDAString; obsolete2_1: IDAFontStyle; out ret_2: IDAPath2): HResult; stdcall;
907
    function get_Silence(out ret_0: IDASound): HResult; stdcall;
908
    function MixArrayEx(snds_0size: Longint; snds_0: IDASound; out ret_1: IDASound): HResult; stdcall;
909
    function MixArray(snds_0: Variant; out ret_1: IDASound): HResult; stdcall;
910
    function get_SinSynth(out ret_0: IDASound): HResult; stdcall;
911
    function get_DefaultFont(out ret_0: IDAFontStyle): HResult; stdcall;
912
    function FontAnim(str_0: IDAString; size_1: IDANumber; col_2: IDAColor; out ret_3: IDAFontStyle): HResult; stdcall;
913
    function Font(str_0: TBSTR; size_1: double; col_2: IDAColor; out ret_3: IDAFontStyle): HResult; stdcall;
914
    function StringImageAnim(str_0: IDAString; fs_1: IDAFontStyle; out ret_2: IDAImage): HResult; stdcall;
915
    function StringImage(str_0: TBSTR; fs_1: IDAFontStyle; out ret_2: IDAImage): HResult; stdcall;
916
    function TextImageAnim(obsoleted1_0: IDAString; obsoleted2_1: IDAFontStyle; out ret_2: IDAImage): HResult; stdcall;
917
    function TextImage(obsoleted1_0: TBSTR; obsoleted2_1: IDAFontStyle; out ret_2: IDAImage): HResult; stdcall;
918
    function get_XVector2(out ret_0: IDAVector2): HResult; stdcall;
919
    function get_YVector2(out ret_0: IDAVector2): HResult; stdcall;
920
    function get_ZeroVector2(out ret_0: IDAVector2): HResult; stdcall;
921
    function get_Origin2(out ret_0: IDAVector2): HResult; stdcall;
922
    function Vector2Anim(x_0, y_1: IDANumber; out ret_2: IDAVector2): HResult; stdcall;
923
    function Vector2(x_0, y_1: double; out ret_2: IDAVector2): HResult; stdcall;
924
    function Point2Anim(x_0, y_1: IDANumber; out ret_2: IDAPoint2): HResult; stdcall;
925
    function Point2(x_0, y_1: double; out ret_2: IDAPoint2): HResult; stdcall;
926
    function Vector2PolarAnim(theta_0, radius_1: IDANumber; out ret_2: IDAVector2): HResult; stdcall;
927
    function Vector2Polar(theta_0, radius_1: double; out ret_2: IDAVector2): HResult; stdcall;
928
    function Vector2PolarDegrees(theta_0, radius_1: double; out ret_2: IDAVector2): HResult; stdcall;
929
    function Point2PolarAnim(theta_0, radius_1: IDANumber; out ret_2: IDAVector2): HResult; stdcall;
930
    function Point2Polar(theta_0, radius_1: double; out ret_2: IDAPoint2): HResult; stdcall;
931
    function DotVector2(v_0, u_1: IDAVector2; out ret_2: IDANumber): HResult; stdcall;
932
    function NegVector2(v_0: IDAVector2; out ret_1: IDAVector2): HResult; stdcall;
933
    function SubVector2(v1_0, v2_1: IDAVector2; out ret_2: IDAVector2): HResult; stdcall;
934
    function AddVector2(v1_0, v2_1: IDAVector2; out ret_2: IDAVector2): HResult; stdcall;
935
    function AddPoint2Vector(p_0: IDAPoint2; v2_1: IDAVector2; out ret_2: IDAPoint2): HResult; stdcall;
936
    function SubPoint2Vector(p_0: IDAPoint2; v2_1: IDAVector2; out ret_2: IDAPoint2): HResult; stdcall;
937
    function SubPoint2(p_0, p_1: IDAPoint2; out ret_2: IDAVector2): HResult; stdcall;
938
    function DistancePoint2(p_0, q_1: IDAPoint2; out ret_2: IDANumber): HResult; stdcall;
939
    function DistanceSquaredPoint2(p_0, q_1: IDAPoint2; out ret_2: IDANumber): HResult; stdcall;
940
    function get_XVector3(out ret_0: IDAVector3): HResult; stdcall;
941
    function get_YVector3(out ret_0: IDAVector3): HResult; stdcall;
942
    function get_ZVector3(out ret_0: IDAVector3): HResult; stdcall;
943
    function get_ZeroVector3(out ret_0: IDAVector3): HResult; stdcall;
944
    function get_Origin3(out ret_0: IDAPoint3): HResult; stdcall;
945
    function Vector3Anim(x_0, y_1, z_2: IDANumber; out ret_3: IDAVector3): HResult; stdcall;
946
    function Vector3(x_0, y_1, z_2: double; out ret_3: IDAVector3): HResult; stdcall;
947
    function Point3Anim(x_0, y_1, z_2: IDANumber; out ret_3: IDAPoint3): HResult; stdcall;
948
    function Point3(x_0, y_1, z_2: double; out ret_3: IDAPoint3): HResult; stdcall;
949
    function Vector3SphericalAnim(xyAngle_0, yzAngle_1, radius_2: IDANumber; out ret_3: IDAVector3): HResult; stdcall;
950
    function Vector3Spherical(xyAngle_0, yzAngle_1, radius_2: double; out ret_3: IDAVector3): HResult; stdcall;
951
    function Point3SphericalAnim(xyAngle_0, yzAngle_1, radius_2: IDANumber; out ret_3: IDAPoint3): HResult; stdcall;
952
    function Point3Spherical(xyAngle_0, yzAngle_1, radius_2: double; out ret_3: IDAPoint3): HResult; stdcall;
953
    function DotVector3(v_0, u_1: IDAVector3; out ret_2: IDANumber): HResult; stdcall;
954
    function CrossVector3(v_0, u_1: IDAVector3; out ret_2: IDAVector3): HResult; stdcall;
955
    function NegVector3(v_0: IDAVector3; out ret_1: IDAVector3): HResult; stdcall;
956
    function SubVector3(v1_0, v2_1: IDAVector3; out ret_2: IDAVector3): HResult; stdcall;
957
    function AddVector3(v1_0, v2_1: IDAVector3; out ret_2: IDAVector3): HResult; stdcall;
958
    function AddPoint3Vector(p_0: IDAPoint3; v_1: IDAVector3; out ret_2: IDAPoint3): HResult; stdcall;
959
    function SubPoint3Vector(p_0: IDAPoint3; v_1: IDAVector3; out ret_2: IDAPoint3): HResult; stdcall;
960
    function SubPoint3(p1_0, p2_1: IDAPoint3; out ret_2: IDAVector3): HResult; stdcall;
961
    function DistancePoint3(p1_0, p2_1: IDAPoint3; out ret_2: IDANumber): HResult; stdcall;
962
    function DistanceSquaredPoint3(p_0, q_1: IDAPoint3; out ret_2: IDANumber): HResult; stdcall;
963
    function get_IdentityTransform3(out ret_0: IDATransform3): HResult; stdcall;
964
    function Translate3Anim(tx_0, ty_1, tz_2: IDANumber; out ret_3: IDATransform3): HResult; stdcall;
965
    function Translate3(tx_0, ty_1, tz_2: double; out ret_3: IDATransform3): HResult; stdcall;
966
    function Translate3Rate(tx_0, ty_1, tz_2: double; out ret_3: IDATransform3): HResult; stdcall;
967
    function Translate3Vector(delta_0: IDAVector3; out ret_1: IDATransform3): HResult; stdcall;
968
    function Translate3Point(new_origin_0: IDAPoint3; out ret_1: IDATransform3): HResult; stdcall;
969
    function Scale3Anim(x_0, y_1, z_2: IDANumber; out ret_3: IDATransform3): HResult; stdcall;
970
    function Scale3(x_0, y_1, z_2: double; out ret_3: IDATransform3): HResult; stdcall;
971
    function Scale3Rate(x_0, y_1, z_2: double; out ret_3: IDATransform3): HResult; stdcall;
972
    function Scale3Vector(scale_vec_0: IDAVector3; out ret_1: IDATransform3): HResult; stdcall;
973
    function Scale3UniformAnim(uniform_scale_0: IDANumber; out ret_1: IDATransform3): HResult; stdcall;
974
    function Scale3Uniform(uniform_scale_0: double; out ret_1: IDATransform3): HResult; stdcall;
975
    function Scale3UniformRate(uniform_scale_0: double; out ret_1: IDATransform3): HResult; stdcall;
976
    function Rotate3Anim(axis_0: IDAVector3; angle_1: IDANumber; out ret_2: IDATransform3): HResult; stdcall;
977
    function Rotate3(axis_0: IDAVector3; angle_1: double; out ret_2: IDATransform3): HResult; stdcall;
978
    function Rotate3Rate(axis_0: IDAVector3; angle_1: double; out ret_2: IDATransform3): HResult; stdcall;
979
    function Rotate3Degrees(axis_0: IDAVector3; angle_1: double; out ret_2: IDATransform3): HResult; stdcall;
980
    function Rotate3RateDegrees(axis_0: IDAVector3; angle_1: double; out ret_2: IDATransform3): HResult; stdcall;
981
    function XShear3Anim(a_0, b_1: IDANumber; out ret_2: IDATransform3): HResult; stdcall;
982
    function XShear3(a_0, b_1: double; out ret_2: IDATransform3): HResult; stdcall;
983
    function XShear3Rate(a_0, b_1: double; out ret_2: IDATransform3): HResult; stdcall;
984
    function YShear3Anim(a_0, b_1: IDANumber; out ret_2: IDATransform3): HResult; stdcall;
985
    function YShear3(c_0, d_1: double; out ret_2: IDATransform3): HResult; stdcall;
986
    function YShear3Rate(c_0, d_1: double; out ret_2: IDATransform3): HResult; stdcall;
987
    function ZShear3Anim(e_0, f_1: IDANumber; out ret_2: IDATransform3): HResult; stdcall;
988
    function ZShear3(e_0, f_1: double; out ret_2: IDATransform3): HResult; stdcall;
989
    function ZShear3Rate(e_0, f_1: double; out ret_2: IDATransform3): HResult; stdcall;
990
    function Transform4x4AnimEx(m_0size: Longint; m_0: IDANumber; out ret_1: IDATransform3): HResult; stdcall;
991
    function Transform4x4Anim(m_0: Variant; out ret_1: IDATransform3): HResult; stdcall;
992
    function Compose3(a_0, b_1: IDATransform3; out ret_2: IDATransform3): HResult; stdcall;
993
    function Compose3ArrayEx(xfs_0size: Longint; xfs_0: IDATransform3; out ret_1: IDATransform3): HResult; stdcall;
994
    function Compose3Array(xfs_0: Variant; out ret_1: IDATransform3): HResult; stdcall;
995
    function LookAtFrom(to_0, from_1: IDAPoint3; up_2: IDAVector3; out ret_3: IDATransform3): HResult; stdcall;
996
    function get_IdentityTransform2(out ret_0: IDATransform2): HResult; stdcall;
997
    function Translate2Anim(Tx_0, Ty_1: IDANumber; out ret_2: IDATransform2): HResult; stdcall;
998
    function Translate2(Tx_0, Ty_1: double; out ret_2: IDATransform2): HResult; stdcall;
999
    function Translate2Rate(Tx_0, Ty_1: double; out ret_2: IDATransform2): HResult; stdcall;
1000
    function Translate2Vector(delta_0: IDAVector2; out ret_1: IDATransform2): HResult; stdcall;
1001
    function Translate2Point(pos_0: IDAPoint2; out ret_1: IDATransform2): HResult; stdcall;
1002
    function Scale2Anim(x_0, y_1: IDANumber; out ret_2: IDATransform2): HResult; stdcall;
1003
    function Scale2(x_0, y_1: double; out ret_2: IDATransform2): HResult; stdcall;
1004
    function Scale2Rate(x_0, y_1: double; out ret_2: IDATransform2): HResult; stdcall;
1005
    function Scale2Vector2(obsoleteMethod_0: IDAVector2; out ret_1: IDATransform2): HResult; stdcall;
1006
    function Scale2Vector(scale_vec_0: IDAVector2; out ret_1: IDATransform2): HResult; stdcall;
1007
    function Scale2UniformAnim(uniform_scale_0: IDANumber; out ret_1: IDATransform2): HResult; stdcall;
1008
    function Scale2Uniform(uniform_scale_0: double; out ret_1: IDATransform2): HResult; stdcall;
1009
    function Scale2UniformRate(uniform_scale_0: double; out ret_1: IDATransform2): HResult; stdcall;
1010
    function Rotate2Anim(angle_0: IDANumber; out ret_1: IDATransform2): HResult; stdcall;
1011
    function Rotate2(angle_0: double; out ret_1: IDATransform2): HResult; stdcall;
1012
    function Rotate2Rate(angle_0: double; out ret_1: IDATransform2): HResult; stdcall;
1013
    function Rotate2Degrees(angle_0: double; out ret_1: IDATransform2): HResult; stdcall;
1014
    function Rotate2RateDegrees(angle_0: double; out ret_1: IDATransform2): HResult; stdcall;
1015
    function XShear2Anim(arg_0: IDANumber; out ret_1: IDATransform2): HResult; stdcall;
1016
    function XShear2(arg_0: double; out ret_1: IDATransform2): HResult; stdcall;
1017
    function XShear2Rate(arg_0: double; out ret_1: IDATransform2): HResult; stdcall;
1018
    function YShear2Anim(arg_0: IDANumber; out ret_1: IDATransform2): HResult; stdcall;
1019
    function YShear2(arg_0: double; out ret_1: IDATransform2): HResult; stdcall;
1020
    function YShear2Rate(arg_0: double; out ret_1: IDATransform2): HResult; stdcall;
1021
    function Transform3x2AnimEx(m_0size: Longint; m_0: IDANumber; out ret_1: IDATransform2): HResult; stdcall;
1022
    function Transform3x2Anim(m_0: Variant; out ret_1: IDATransform2): HResult; stdcall;
1023
    function Compose2(a_0, b_1: IDATransform2; out ret_2: IDATransform2): HResult; stdcall;
1024
    function Compose2ArrayEx(xfs_0size: Longint; xfs_0: IDATransform2; out ret_1: IDATransform2): HResult; stdcall;
1025
    function Compose2Array(xfs_0: Variant; out ret_1: IDATransform2): HResult; stdcall;
1026
    function Tuple(obsolete1: Variant; out obsolete2: IDATuple): HResult; stdcall;
1027
    function Array_(obsolete1: Variant; out obsolete2: IDAArray): HResult; stdcall;
1028
    function get_AreBlockingImportsComplete(var bComplete: WordBool): HResult; stdcall;
1029
  end;
1030
 
1031
  IDAViewerControl = interface(IDispatch)
1032
    ['{0E41257B-812D-11D0-9B4A-00C04FC2F51D}']
1033
    function get_UpdateInterval(var pVal: double): HResult; stdcall;
1034
    function put_UpdateInterval(newVal: double): HResult; stdcall;
1035
    function get_View(out ppView: IDAView): HResult; stdcall;
1036
    function put_View(pView: IDAView): HResult; stdcall;
1037
    function get_Image(out ppImage: IDAImage): HResult; stdcall;
1038
    function put_Image(pImage: IDAImage): HResult; stdcall;
1039
    function get_BackgroundImage(out ppImage: IDAImage): HResult; stdcall;
1040
    function put_BackgroundImage(pImage: IDAImage): HResult; stdcall;
1041
    function get_Sound(out ppSound: IDASound): HResult; stdcall;
1042
    function put_Sound(pSound: IDASound): HResult; stdcall;
1043
    function get_PixelLibrary(out ppStatics: IDAStatics): HResult; stdcall;
1044
    function get_MeterLibrary(out ppStatics: IDAStatics): HResult; stdcall;
1045
    function AddBehaviorToRun(pBehavior: IDABehavior): HResult; stdcall;
1046
    function Start: HResult; stdcall;
1047
    function get_InputImage(out pVal: IDAImage): HResult; stdcall;
1048
    function get_OpaqueForHitDetect(var b: WordBool): HResult; stdcall;
1049
    function put_OpaqueForHitDetect(b: WordBool): HResult; stdcall;
1050
    function get_TimerSource(var ts: TDA_Timer_Source): HResult; stdcall;
1051
    function put_TimerSource(ts: TDA_Timer_Source): HResult; stdcall;
1052
  end;
1053
 
1054
  IDAViewerControlWindowed = interface(IDAViewerControl)
1055
    ['{BA8B033E-1E91-11d1-8809-00C04FC29D46}']
1056
  end;
1057
 
1058
(*==========================================================================;
1059
 *
1060
 *  Copyright (C) Microsoft Corporation.  All Rights Reserved.
1061
 *
1062
 *  File:       effect.h
1063
 *
1064
 ***************************************************************************)
1065
 
1066
const
1067
  CATID_BitmapEffect: TGUID = (D1:$1F9DDD20;D2:$4146;D3:$11D0;D4:($BD,$C2,$00,$A0,$C9,$08,$DB,$96));
1068
  IID_IBitmapEffect: TGUID = (D1:$ACEA25C0;D2:$415B;D3:$11D0;D4:($BD,$C2,$00,$A0,$C9,$08,$DB,$96));
1069
 
1070
const
1071
  BITMAP_EFFECT_INPLACE             = $00000001;
1072
  BITMAP_EFFECT_REALTIME            = $00000002;
1073
  BITMAP_EFFECT_DIRECTDRAW          = $00000004;
1074
  BITMAP_EFFECT_SUPPORTS_INVALIDATE = $00000008;
1075
 
1076
type
1077
  IBitmapEffect = interface(IUnknown)
1078
    function SetSite(pUnk: IUnknown): HResult; stdcall;
1079
    function GetMiscStatusBits(var pdwFlags: DWORD): HResult; stdcall;
1080
    function GetSupportedFormatsCount(var pcFormats: DWORD): HResult; stdcall;
1081
    function GetSupportedFormats(var pcFormats: DWORD;
1082
        var pdwColorDepths: DWORD): HResult; stdcall;
1083
    function Begin_(dwColorDepth: DWORD; var psizeEffect: TSize): HResult; stdcall;
1084
    function End_: HResult; stdcall;
1085
    function DoEffect(pbsIn, pbsOut: IDirectDrawSurface;
1086
        const prcFull, prcInvalid: TRect): HResult; stdcall;
1087
  end;
1088
 
1089
(*==========================================================================;
1090
 *
1091
 *  Copyright (C) Microsoft Corporation.  All Rights Reserved.
1092
 *
1093
 *  File:       ddrawex.h
1094
 *
1095
 ***************************************************************************)
1096
 
1097
const
1098
  CLSID_IDirectDrawFactory: TGUID = (D1:$4FD2A832;D2:$86C8;D3:$11D0;D4:($8F,$CA,$00,$C0,$4F,$D9,$18,$9D));
1099
  IID_IDirectDraw3: TGUID = (D1:$618F8AD4;D2:$8B7A;D3:$11D0;D4:($8F,$CC,$00,$C0,$4F,$D9,$18,$9D));
1100
  IID_IDirectDrawFactory: TGUID = (D1:$4FD2A833;D2:$86C8;D3:$11D0;D4:($8F,$CA,$00,$C0,$4F,$D9,$18,$9D));
1101
 
1102
type
1103
 
1104
{ IDirectDraw3 Interface }
1105
 
1106
  IDirectDraw3 = interface(IUnknown)
1107
    ['{618F8AD4-8B7A-11D0-8FCC-00C04FD9189D}']
1108
    // IDirectDraw methods 
1109
    function Compact: HResult; stdcall;
1110
    function CreateClipper(dwFlags: DWORD;
1111
        out lplpDDClipper: IDirectDrawClipper; pUnkOuter: IUnknown): HResult; stdcall;
1112
    function CreatePalette(dwFlags: DWORD; lpColorTable: PPaletteEntry;
1113
        out lplpDDPalette: IDirectDrawPalette; pUnkOuter: IUnknown): HResult;stdcall;
4 daniel-mar 1114
    function CreateSurface(const lpDDSurfaceDesc: TDDSURFACEDESC;
1 daniel-mar 1115
        out lplpDDSurface: IDirectDrawSurface; pUnkOuter: IUnknown): HResult; stdcall;
1116
    function DuplicateSurface(lpDDSurface: IDirectDrawSurface;
1117
        out lplpDupDDSurface: IDirectDrawSurface): HResult; stdcall;
1118
    function EnumDisplayModes(dwFlags: DWORD;
4 daniel-mar 1119
        const lpDDSurfaceDesc: TDDSURFACEDESC; lpContext: Pointer;
1120
        lpEnumModesCallback: {LPDDENUMMODESCALLBACK}TDDEnumModesCallback): HResult; stdcall;
1121
    function EnumSurfaces(dwFlags: DWORD; const lpDDSD: TDDSURFACEDESC;
1122
        lpContext: Pointer; lpEnumCallback: {LPDDENUMSURFACESCALLBACK}TDDEnumSurfacesCallback): HResult; stdcall;
1 daniel-mar 1123
    function FlipToGDISurface: HResult; stdcall;
4 daniel-mar 1124
    function GetCaps(var lpDDDriverCaps: TDDCAPS; var lpDDHELCaps: TDDCAPS): HResult; stdcall;
1125
    function GetDisplayMode(var lpDDSurfaceDesc: TDDSURFACEDESC): HResult; stdcall;
1 daniel-mar 1126
    function GetFourCCCodes(var lpNumCodes, lpCodes: DWORD): HResult; stdcall;
1127
    function GetGDISurface(out lplpGDIDDSSurface: IDirectDrawSurface): HResult; stdcall;
1128
    function GetMonitorFrequency(var lpdwFrequency: DWORD): HResult; stdcall;
1129
    function GetScanLine(var lpdwScanLine: DWORD): HResult; stdcall;
1130
    function GetVerticalBlankStatus(var lpbIsInVB: BOOL): HResult; stdcall;
1131
    function Initialize(lpGUID: PGUID): HResult; stdcall;
1132
    function RestoreDisplayMode: HResult; stdcall;
1133
    function SetCooperativeLevel(hWnd: HWND; dwFlags: DWORD): HResult; stdcall;
1134
    function SetDisplayMode(dwWidth, dwHeight, dwBPP, dwRefreshRate: DWORD;
1135
        dwFlags: DWORD): HResult; stdcall;
1136
    function WaitForVerticalBlank(dwFlags: DWORD; hEvent: THandle): HResult; stdcall;
1137
    // IDirectDraw2 methods
4 daniel-mar 1138
    function GetAvailableVidMem(var lpDDSCaps: TDDSCAPS;
1 daniel-mar 1139
        var lpdwTotal, lpdwFree: DWORD): HResult; stdcall;
1140
    // IDirectDraw3 methods
1141
    function GetSurfaceFromDC(hdc: HDC; out ppSurface: IDirectDrawSurface): HResult; stdcall;
1142
  end;
1143
 
1144
{ IDirectDrawFactory Interface }
1145
 
1146
  IDirectDrawFactory = interface(IUnknown)
1147
    ['{4FD2A833-86C8-11D0-8FCA-00C04FD9189D}']
1148
    (*** IDirectDrawFactory methods ***)
1149
    function CreateDirectDraw(pGUID: PGUID; hWnd: HWND;
1150
        dwCoopLevelFlags: DWORD; dwReserved: DWORD; pUnkOuter: IUnknown;
1151
        out ppDirectDraw: IDirectDraw): HResult; stdcall;
1152
    function DirectDrawEnumerate(lpCallback: TDDEnumCallbackA;
1153
        lpContext: Pointer): HResult; stdcall;
1154
  end;
1155
 
1156
const
1157
  DDSD_LPSURFACE          = $00000800;     // from ddrawex.h
1158
 
1159
  DDSCAPS_DATAEXCHANGE    = DDSCAPS_SYSTEMMEMORY or DDSCAPS_VIDEOMEMORY;
1160
 
1161
(*==========================================================================;
1162
 *
1163
 *  Copyright (C) Microsoft Corporation.  All Rights Reserved.
1164
 *
1165
 *  File:       ocmm.h
1166
 *
1167
 ***************************************************************************)
1168
 
1169
const
1170
  IID_IViewFilter: TGUID = '{3050F2F1-98B5-11CF-BB82-00AA00BDCE0B}';
1171
  IID_IViewTransition: TGUID = '{3050F372-98B5-11CF-BB82-00AA00BDCE0B}';
1172
  IID_IViewFilterSite: TGUID = '{3050F2F4-98B5-11CF-BB82-00AA00BDCE0B}';
1173
  IID_IViewTransitionSite: TGUID = '{3050F373-98B5-11CF-BB82-00AA00BDCE0B}';
1174
  IID_ITimerService: TGUID = '{3050F35F-98B5-11CF-BB82-00AA00BDCE0B}';
1175
  IID_ITimer: TGUID ='{3050F360-98B5-11CF-BB82-00AA00BDCE0B}';
1176
  IID_ITimerSink: TGUID = '{3050F361-98B5-11CF-BB82-00AA00BDCE0B}';
1177
  IID_IMapMIMEToCLSID: TGUID = '{D9E89500-30FA-11D0-B724-00AA006C1A01}';
1178
  IID_IImageDecodeFilter: TGUID = '{A3CCEDF3-2DE2-11D0-86F4-00A0C913F750}';
1179
  IID_IImageDecodeEventSink: TGUID = '{BAA342A0-2DED-11D0-86F4-00A0C913F750}';
1180
 
1181
const
1182
// GetStatusBits Flags
1183
  FILTER_STATUS_OPAQUE    = $000000001;
1184
  FILTER_STATUS_INVISIBLE = $000000002;
1185
  FILTER_STATUS_SURFACE   = $000000004;
1186
  FILTER_STATUS_3DSURFACE = $000000008;
1187
 
1188
type
1189
  IViewFilterSite = interface;
1190
 
1191
  IViewFilter = interface(IUnknown)
1192
    ['{3050F2F1-98B5-11CF-BB82-00AA00BDCE0B}']
1193
    function SetSource(pFilter: IViewFilter): HResult; stdcall;
1194
    function GetSource(out ppFilter: IViewFilter): HResult; stdcall;
1195
    function SetSite(pSink: IViewFilterSite): HResult; stdcall;
1196
    function GetSite(out ppSink: IViewFilterSite): HResult; stdcall;
1197
    function SetPosition(const prc: TRect): HResult; stdcall;
1198
    function Draw(hdc: HDC; const prcBounds: TRect): HResult; stdcall;
1199
    function GetStatusBits(var pdwFlags: DWORD): HResult; stdcall;
1200
  end;
1201
 
1202
  IViewTransition = interface(IViewFilter)
1203
    ['{3050F372-98B5-11CF-BB82-00AA00BDCE0B}']
1204
    function Initialize(hdc: HDC; const prc: TRect): HResult; stdcall;
1205
    function Go(vtimeDuration: VARIANT): HResult; stdcall;
1206
  end;
1207
 
1208
  IViewFilterSite = interface(IUnknown)
1209
    ['{3050F2F4-98B5-11CF-BB82-00AA00BDCE0B}']
1210
    function GetDC(const prc: TRect; dwFlags: DWORD; var phdc: HDC): HResult; stdcall;
1211
    function ReleaseDC(hdc: HDC): HResult; stdcall;
1212
    function InvalidateRect(const prc: TRect; fErase: BOOL): HResult; stdcall;
1213
    function InvalidateRgn(hrgn: HRGN; fErase: BOOL): HResult; stdcall;
1214
    function OnStatusBitsChange(dwFlags: DWORD): HResult; stdcall;
1215
  end;
1216
 
1217
  IViewTransitionSite = interface(IViewFilterSite)
1218
    ['{3050F373-98B5-11CF-BB82-00AA00BDCE0B}']
1219
    function OnComplete: HResult; stdcall;
1220
  end;
1221
 
1222
const
1223
  SURFACE_LOCK_EXCLUSIVE        = $01;
1224
  SURFACE_LOCK_ALLOW_DISCARD    = $02;
1225
  SURFACE_LOCK_WAIT             = $04;
1226
 
1227
  E_SURFACE_NOSURFACE             = $8000C000;
1228
  E_SURFACE_UNKNOWN_FORMAT        = $8000C001;
1229
  E_SURFACE_NOTMYPOINTER          = $8000C002;
1230
  E_SURFACE_DISCARDED             = $8000C003;
1231
  E_SURFACE_NODC                  = $8000C004;
1232
  E_SURFACE_NOTMYDC               = $8000C005;
1233
  S_SURFACE_DISCARDED             = $0000C003;
1234
 
1235
type
1236
  BFID = TGUID;
1237
{
1238
EXTERN_C const GUID BFID_MONOCHROME;
1239
EXTERN_C const GUID BFID_RGB_4;
1240
EXTERN_C const GUID BFID_RGB_8;
1241
EXTERN_C const GUID BFID_RGB_555;
1242
EXTERN_C const GUID BFID_RGB_565;
1243
EXTERN_C const GUID BFID_RGB_24;
1244
EXTERN_C const GUID BFID_RGB_32;
1245
EXTERN_C const GUID BFID_RGBA_32;
1246
EXTERN_C const GUID BFID_GRAY_8;
1247
EXTERN_C const GUID BFID_GRAY_16;
1248
}
1249
 
1250
const
1251
  SID_SDirectDraw3: TGUID = (D1:$618F8AD4;D2:$8B7A;D3:$11D0;D4:($8F,$CC,$00,$C0,$4F,$D9,$18,$9D));
1252
 
1253
  COLOR_NO_TRANSPARENT = $FFFFFFFF;
1254
 
1255
  IMGDECODE_EVENT_PROGRESS = $01;
1256
  IMGDECODE_EVENT_PALETTE = $02;
1257
  IMGDECODE_EVENT_BEGINBITS = $04;
1258
  IMGDECODE_EVENT_BITSCOMPLETE = $08;
1259
  IMGDECODE_EVENT_USEDDRAW = $10;
1260
 
1261
  IMGDECODE_HINT_TOPDOWN = $01;
1262
  IMGDECODE_HINT_BOTTOMUP = $02;
1263
  IMGDECODE_HINT_FULLWIDTH = $04;
1264
 
1265
  MAPMIME_DEFAULT = 0;
1266
  MAPMIME_CLSID  = 1;
1267
  MAPMIME_DISABLE = 2;
1268
  MAPMIME_DEFAULT_ALWAYS = 3;
1269
 
1270
{
1271
  BFID_INDEXED_RGB_8 = BFID_RGB_8;
1272
  BFID_INDEXED_RGB_4 = BFID_RGB_4;
1273
  BFID_INDEXED_RGB_1 = BFID_MONOCHROME;
1274
 
1275
EXTERN_C const GUID CLSID_IImageDecodeFilter;
1276
 
1277
EXTERN_C const GUID NAMEDTIMER_DRAW;
1278
}
1279
 
1280
type
1281
  ITimer = interface;
1282
  ITimerSink = interface;
1283
  IImageDecodeEventSink = interface;
1284
 
1285
  ITimerService = interface(IUnknown)
1286
    ['{3050F35F-98B5-11CF-BB82-00AA00BDCE0B}']
1287
    function CreateTimer(pReferenceTimer: ITimer; out ppNewTimer: ITimer): HResult; stdcall;
1288
    function GetNamedTimer(const rguidName: TGUID; out ppTimer: ITimer): HResult; stdcall;
1289
    function SetNamedTimerReference(const rguidName: TGUID; pReferenceTimer: ITimer): HResult; stdcall;
1290
  end;
1291
 
1292
  ITimer = interface(IUnknown)
1293
    ['{3050F360-98B5-11CF-BB82-00AA00BDCE0B}']
1294
    function Advise(vtimeMin, vtimeMax, vtimeInterval: Variant; dwFlags: DWORD;
1295
        pTimerSink: ITimerSink; var pdwCookie: DWORD): HResult; stdcall;
1296
    function Unadvise(dwCookie: DWORD): HResult; stdcall;
1297
    function Freeze(fFreeze: BOOL): HResult; stdcall;
1298
    function GetTime(var pvtime: Variant): HResult; stdcall;
1299
  end;
1300
 
1301
  ITimerSink = interface(IUnknown)
1302
    ['{3050F361-98B5-11CF-BB82-00AA00BDCE0B}']
1303
    function OnTimer(vtimeAdvise: Variant): HResult; stdcall;
1304
  end;
1305
 
1306
  IMapMIMEToCLSID = interface(IUnknown)
1307
    ['{D9E89500-30FA-11D0-B724-00AA006C1A01}']
1308
    function EnableDefaultMappings(bEnable: BOOL): HResult; stdcall;
1309
    function MapMIMEToCLSID(pszMIMEType: PWCHAR; var pCLSID: TGUID): HResult; stdcall;
1310
    function SetMapping(pszMIMEType: PWCHAR; dwMapMode: DWORD;
1311
        const clsid: TGUID): HResult; stdcall;
1312
  end;
1313
 
1314
  IImageDecodeFilter = interface(IUnknown)
1315
    ['{A3CCEDF3-2DE2-11D0-86F4-00A0C913F750}']
1316
    function Initialize(pEventSink: IImageDecodeEventSink): HResult; stdcall;
1317
    function Process(pStream: IStream): HResult; stdcall;
1318
    function Terminate(hrStatus: HResult): HResult; stdcall;
1319
  end;
1320
 
1321
  IImageDecodeEventSink = interface(IUnknown)
1322
    ['{BAA342A0-2DED-11D0-86F4-00A0C913F750}']
1323
    function GetSurface(nWidth, nHeight: Longint; const bfid: TGUID;
1324
        nPasses: ULONG; dwHints: DWORD; out ppSurface: IUnknown): HResult; stdcall;
1325
    function OnBeginDecode(var pdwEvents: DWORD; var pnFormats: ULONG;
1326
        var ppFormats: BFID): HResult; stdcall;
1327
    function OnBitsComplete: HResult; stdcall;
1328
    function OnDecodeComplete(hrStatus: HResult): HResult; stdcall;
1329
    function OnPalette: HResult; stdcall;
1330
    function OnProgress(const pBounds: TRect; bComplete: BOOL): HResult; stdcall;
1331
  end;
1332
 
1333
implementation
1334
 
1335
end.
1336
 
1337