ddraw: Set dwMaxVertexCount to 2048.
[wine.git] / include / qedit.idl
blob88c2443527052203ac793cfd5b58cec95de00490
1 /*
2 * Copyright (C) 2008 Google (Lei Zhang)
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 import "oaidl.idl";
20 import "ocidl.idl";
21 /* import "dxtrans.idl"; */
22 import "amstream.idl";
23 import "msxml.idl";
26 object,
27 uuid(0579154A-2B53-4994-B0D0-E773148EFF85),
28 local,
29 pointer_default(unique)
31 interface ISampleGrabberCB : IUnknown
33 HRESULT SampleCB(
34 double SampleTime,
35 IMediaSample * pSample
37 HRESULT BufferCB(
38 double SampleTime,
39 BYTE * pBuffer,
40 LONG BufferLen
45 object,
46 uuid(6B652FFF-11FE-4fce-92AD-0266B5D7C78F),
47 local,
48 pointer_default(unique)
50 interface ISampleGrabber: IUnknown
52 HRESULT SetOneShot(
53 BOOL OneShot
56 HRESULT SetMediaType(
57 const AM_MEDIA_TYPE * pType
60 HRESULT GetConnectedMediaType(
61 AM_MEDIA_TYPE * pType
64 HRESULT SetBufferSamples(
65 BOOL BufferThem
68 HRESULT GetCurrentBuffer(
69 [in,out] LONG * pBufferSize,
70 [out] LONG * pBuffer
73 HRESULT GetCurrentSample(
74 [out] IMediaSample ** ppSample
77 HRESULT SetCallback(
78 ISampleGrabberCB * pCallback,
79 LONG WhichMethodToCallback
84 uuid(c1f400a0-3f08-11d3-9f0b-006008039e37)
86 coclass SampleGrabber
88 [default] interface ISampleGrabber;
92 object,
93 uuid(65bd0710-24d2-4FF7-9324-ed2e5d3abafa),
94 pointer_default(unique)
96 interface IMediaDet : IUnknown
98 HRESULT get_Filter(
99 [out] IUnknown* *pVal
102 HRESULT put_Filter(
103 IUnknown* newVal
106 HRESULT get_OutputStreams(
107 [out] LONG *pVal
110 HRESULT get_CurrentStream(
111 [out] LONG *pVal
114 HRESULT put_CurrentStream(
115 LONG newVal
118 HRESULT get_StreamType(
119 [out] GUID *pVal
122 HRESULT get_StreamTypeB(
123 [out] BSTR *pVal
126 HRESULT get_StreamLength(
127 [out] double *pVal
130 HRESULT get_Filename(
131 [out] BSTR *pVal
134 HRESULT put_Filename(
135 BSTR newVal
138 HRESULT GetBitmapBits(
139 double StreamTime,
140 LONG * pBufferSize,
141 char * pBuffer,
142 LONG Width,
143 LONG Height
146 HRESULT WriteBitmapBits(
147 double StreamTime,
148 LONG Width,
149 LONG Height,
150 BSTR Filename
153 HRESULT get_StreamMediaType(
154 [out] AM_MEDIA_TYPE * pVal
157 HRESULT GetSampleGrabber(
158 [out] ISampleGrabber ** ppVal
161 HRESULT get_FrameRate(
162 [out] double *pVal
165 HRESULT EnterBitmapGrabMode(
166 double SeekTime
171 uuid(65BD0711-24D2-4ff7-9324-ED2E5D3ABAFA),
173 coclass MediaDet
175 [default] interface IMediaDet;
179 object,
180 uuid(288581E0-66CE-11d2-918F-00C0DF10D434),
181 odl,
182 pointer_default(unique)
184 interface IMediaLocator : IUnknown
186 HRESULT FindMediaFile(
187 BSTR input,
188 BSTR filter,
189 BSTR * output,
190 long flags
193 HRESULT AddFoundLocation(
194 BSTR dir
198 typedef struct
200 BSTR name;
201 DISPID dispID;
202 LONG nValues;
203 } DEXTER_PARAM;
205 typedef struct
207 VARIANT v;
208 REFERENCE_TIME rt;
209 DWORD dwInterp;
210 } DEXTER_VALUE;
213 object,
214 uuid(AE9472BD-B0C3-11D2-8D24-00A0C9441E20),
215 pointer_default(unique)
217 interface IPropertySetter : IUnknown
219 HRESULT LoadXML(
220 [in] IUnknown * pxml
223 HRESULT PrintXML(
224 [out] char * xml,
225 [in] int size,
226 [out] int * printed,
227 [in] int indent
230 HRESULT CloneProps(
231 [out] IPropertySetter ** setter,
232 [in] REFERENCE_TIME start,
233 [in] REFERENCE_TIME stop
236 HRESULT AddProp(
237 [in] DEXTER_PARAM param,
238 [in] DEXTER_VALUE * value
241 HRESULT GetProps(
242 [out] LONG * params,
243 [out] DEXTER_PARAM ** param,
244 [out] DEXTER_VALUE ** value
247 HRESULT FreeProps(
248 [in] LONG params,
249 [in] DEXTER_PARAM * param,
250 [in] DEXTER_VALUE * value
253 HRESULT ClearProps();
255 HRESULT SaveToBlob(
256 [out] LONG * size,
257 [out] BYTE ** blob
260 HRESULT LoadFromBlob(
261 [in] LONG size,
262 [in] BYTE * blob
265 HRESULT SetProps(
266 [in] IUnknown * target,
267 [in] REFERENCE_TIME now
272 object,
273 uuid(E43E73A2-0EFA-11d3-9601-00A0C9441E20),
274 odl,
275 pointer_default(unique)
277 interface IAMErrorLog : IUnknown
279 HRESULT LogError(
280 long severity,
281 BSTR error_str,
282 long error_code,
283 long hresult,
284 [in] VARIANT * extra
289 object,
290 uuid(963566DA-BE21-4eaf-88E9-35704F8F52A1),
291 odl,
292 pointer_default(unique)
294 interface IAMSetErrorLog : IUnknown
296 [propget] HRESULT ErrorLog(
297 [out, retval] IAMErrorLog ** log
300 [propput] HRESULT ErrorLog(
301 [in] IAMErrorLog * log
305 interface IAMTimeline;
306 interface IAMTimelineGroup;
307 interface IAMTimelineObj;
308 interface IAMTimelineSrc;
310 typedef enum
312 TIMELINE_MAJOR_TYPE_COMPOSITE = 1,
313 TIMELINE_MAJOR_TYPE_TRACK = 2,
314 TIMELINE_MAJOR_TYPE_SOURCE = 4,
315 TIMELINE_MAJOR_TYPE_TRANSITION = 8,
316 TIMELINE_MAJOR_TYPE_EFFECT = 16,
317 TIMELINE_MAJOR_TYPE_GROUP = 128
318 } TIMELINE_MAJOR_TYPE;
321 object,
322 uuid(78530B74-61F9-11D2-8CAD-00A024580902),
323 odl,
324 pointer_default(unique)
326 interface IAMTimeline : IUnknown
328 HRESULT CreateEmptyNode(
329 [out] IAMTimelineObj ** obj,
330 TIMELINE_MAJOR_TYPE type
333 HRESULT AddGroup(
334 IAMTimelineObj * group
337 HRESULT RemGroupFromList(
338 IAMTimelineObj * group
341 HRESULT GetGroup(
342 [out] IAMTimelineObj ** group,
343 long index
346 HRESULT GetGroupCount(
347 long * count
350 HRESULT ClearAllGroups();
352 HRESULT GetInsertMode(
353 long * mode
356 HRESULT SetInsertMode(
357 long mode
360 HRESULT EnableTransitions(
361 BOOL enabled
364 HRESULT TransitionsEnabled(
365 BOOL * enabled
368 HRESULT EnableEffects(
369 BOOL enabled
372 HRESULT EffectsEnabled(
373 BOOL * enabled
376 HRESULT SetInterestRange(
377 REFERENCE_TIME start,
378 REFERENCE_TIME stop
381 HRESULT GetDuration(
382 REFERENCE_TIME * duration
385 HRESULT GetDuration2(
386 double * duration
389 HRESULT SetDefaultFPS(
390 double fps
393 HRESULT GetDefaultFPS(
394 double * fps
397 HRESULT IsDirty(
398 BOOL * dirty
401 HRESULT GetDirtyRange(
402 REFERENCE_TIME * start,
403 REFERENCE_TIME * stop
406 HRESULT GetCountOfType(
407 long group,
408 long * value,
409 long * value_with_comps,
410 TIMELINE_MAJOR_TYPE type
413 HRESULT ValidateSourceNames(
414 long flags,
415 IMediaLocator * override,
416 LONG_PTR notify_event
419 HRESULT SetDefaultTransition(
420 GUID * guid
423 HRESULT GetDefaultTransition(
424 GUID * guid
427 HRESULT SetDefaultEffect(
428 GUID * guid
431 HRESULT GetDefaultEffect(
432 GUID * guid
435 HRESULT SetDefaultTransitionB(
436 BSTR guidb
439 HRESULT GetDefaultTransitionB(
440 [out,retval] BSTR * guidb
443 HRESULT SetDefaultEffectB(
444 BSTR guidb
447 HRESULT GetDefaultEffectB(
448 [out,retval] BSTR * guidb
453 uuid(78530B75-61F9-11D2-8CAD-00A024580902)
455 coclass AMTimeline
457 [default] interface IAMTimeline;
458 interface IPersistStream;
459 interface IAMSetErrorLog;
463 object,
464 uuid(9EED4F00-B8A6-11d2-8023-00C0DF10D434),
465 odl,
466 pointer_default(unique)
468 interface IAMTimelineGroup : IUnknown
470 HRESULT SetTimeline(
471 IAMTimeline * timeline
474 HRESULT GetTimeline(
475 [out] IAMTimeline ** timeline
478 HRESULT GetPriority(
479 long * priority
482 HRESULT GetMediaType(
483 [out] AM_MEDIA_TYPE *
486 HRESULT SetMediaType(
487 [in] AM_MEDIA_TYPE *
490 HRESULT SetOutputFPS(
491 double fps
494 HRESULT GetOutputFPS(
495 double * fps
498 HRESULT SetGroupName(
499 BSTR name
502 HRESULT GetGroupName(
503 [out,retval] BSTR * name
506 HRESULT SetPreviewMode(
507 BOOL preview
510 HRESULT GetPreviewMode(
511 BOOL * preview
514 HRESULT SetMediaTypeForVB(
515 [in] long type
518 HRESULT GetOutputBuffering(
519 [out] int * buffer
522 HRESULT SetOutputBuffering(
523 [in] int buffer
526 HRESULT SetSmartRecompressFormat(
527 long * format
530 HRESULT GetSmartRecompressFormat(
531 long ** format
534 HRESULT IsSmartRecompressFormatSet(
535 BOOL * set
538 HRESULT IsRecompressFormatDirty(
539 BOOL * dirty
542 HRESULT ClearRecompressFormatDirty();
544 HRESULT SetRecompFormatFromSource(
545 IAMTimelineSrc * source
550 object,
551 local,
552 uuid(78530B77-61F9-11D2-8CAD-00A024580902),
553 odl,
554 pointer_default(unique)
556 interface IAMTimelineObj : IUnknown
558 HRESULT GetStartStop(
559 REFERENCE_TIME * start,
560 REFERENCE_TIME * stop
563 HRESULT GetStartStop2(
564 REFTIME * start, REFTIME * stop
567 HRESULT FixTimes(
568 REFERENCE_TIME * start, REFERENCE_TIME * stop
571 HRESULT FixTimes2(
572 REFTIME * start, REFTIME * stop
575 HRESULT SetStartStop(
576 REFERENCE_TIME start,
577 REFERENCE_TIME stop
580 HRESULT SetStartStop2(
581 REFTIME start,
582 REFTIME stop
585 HRESULT GetPropertySetter(
586 [out,retval] IPropertySetter ** setter
589 HRESULT SetPropertySetter(
590 IPropertySetter * setter
593 HRESULT GetSubObject(
594 [out,retval] IUnknown ** obj
597 HRESULT SetSubObject(
598 IUnknown * obj
601 HRESULT SetSubObjectGUID(
602 GUID guid
605 HRESULT SetSubObjectGUIDB(
606 BSTR guidb
609 HRESULT GetSubObjectGUID(
610 GUID * guid
613 HRESULT GetSubObjectGUIDB(
614 [out,retval] BSTR * guidb
617 HRESULT GetSubObjectLoaded(
618 BOOL * loaded
621 HRESULT GetTimelineType(
622 TIMELINE_MAJOR_TYPE * type
625 HRESULT SetTimelineType(
626 TIMELINE_MAJOR_TYPE type
629 HRESULT GetUserID(
630 long * id
633 HRESULT SetUserID(
634 long id
637 HRESULT GetGenID(
638 long * id
641 HRESULT GetUserName(
642 [out,retval] BSTR * name
645 HRESULT SetUserName(
646 BSTR name
649 HRESULT GetUserData(
650 BYTE * data,
651 long * size
654 HRESULT SetUserData(
655 BYTE * data,
656 long size
659 HRESULT GetMuted(
660 BOOL * muted
663 HRESULT SetMuted(
664 BOOL muted
667 HRESULT GetLocked(
668 BOOL * locked
671 HRESULT SetLocked(
672 BOOL locked
675 HRESULT GetDirtyRange(
676 REFERENCE_TIME * start,
677 REFERENCE_TIME * stop
680 HRESULT GetDirtyRange2(
681 REFTIME * start,
682 REFTIME * stop
685 HRESULT SetDirtyRange(
686 REFERENCE_TIME start,
687 REFERENCE_TIME stop
690 HRESULT SetDirtyRange2(
691 REFTIME start,
692 REFTIME stop
695 HRESULT ClearDirty();
697 HRESULT Remove();
699 HRESULT RemoveAll();
701 HRESULT GetTimelineNoRef(
702 IAMTimeline ** timeline
705 HRESULT GetGroupIBelongTo(
706 [out] IAMTimelineGroup ** group
709 HRESULT GetEmbedDepth(
710 long * depth
715 object,
716 uuid(78530B79-61F9-11D2-8CAD-00A024580902),
717 odl,
718 pointer_default(unique)
720 interface IAMTimelineSrc : IUnknown
722 HRESULT GetMediaTimes(
723 REFERENCE_TIME * start,
724 REFERENCE_TIME * stop
727 HRESULT GetMediaTimes2(
728 REFTIME * start,
729 REFTIME * stop
732 HRESULT ModifyStopTime(
733 REFERENCE_TIME stop
736 HRESULT ModifyStopTime2(
737 REFTIME stop
740 HRESULT FixMediaTimes(
741 REFERENCE_TIME * start,
742 REFERENCE_TIME * stop
745 HRESULT FixMediaTimes2(
746 REFTIME * start,
747 REFTIME * stop
750 HRESULT SetMediaTimes(
751 REFERENCE_TIME Start,
752 REFERENCE_TIME Stop
755 HRESULT SetMediaTimes2(
756 REFTIME Start,
757 REFTIME Stop
760 HRESULT SetMediaLength(
761 REFERENCE_TIME length
764 HRESULT SetMediaLength2(
765 REFTIME length
768 HRESULT GetMediaLength(
769 REFERENCE_TIME * length
772 HRESULT GetMediaLength2(
773 REFTIME * length
776 HRESULT GetMediaName(
777 [out,retval] BSTR * name
780 HRESULT SetMediaName(
781 BSTR name
784 HRESULT SpliceWithNext(
785 IAMTimelineObj * next
788 HRESULT GetStreamNumber(
789 long * num
792 HRESULT SetStreamNumber(
793 long num
796 HRESULT IsNormalRate(
797 BOOL * normal
800 HRESULT GetDefaultFPS(
801 double * fps
804 HRESULT SetDefaultFPS(
805 double fps
808 HRESULT GetStretchMode(
809 int * mode
812 HRESULT SetStretchMode(
813 int mode
817 enum
819 E_NOTINTREE = 0x80040400,
820 E_RENDER_ENGINE_IS_BROKEN = 0x80040401,
821 E_MUST_INIT_RENDERER = 0x80040402,
822 E_NOTDETERMINED = 0x80040403,
823 E_NO_TIMELINE = 0x80040404,
824 S_WARN_OUTPUTRESET = 40404