Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

701 lines
22 KiB

  1. //***************************************************************************
  2. //
  3. // Copyright (C) Microsoft Corporation, 1998
  4. //
  5. // FileName: DXTransP.idl
  6. //
  7. // Created: 11/11/98
  8. //
  9. // Author: PaulNash
  10. //
  11. // Description: Holds all PRIVATE (MSINTERNAL) DXTrans IDL code. Used
  12. // by all internal DXTrans components and MSINTERNAL
  13. // software components if necessary. This is a SUPERSET
  14. // of DXTrans.idl.
  15. //
  16. // 1998/11/11 PaulNash Created.
  17. // 2000/09/18 mcalkins Separated out dispatch portion of IDXTFilter and
  18. // moved it to dxtrans.idl.
  19. // 2000/10/08 mcalkins Redefined IDXTFilterCollection.
  20. //
  21. //***************************************************************************
  22. import "dxtrans.idl";
  23. //=== Forward References ====================================================
  24. interface IDXRasterizer;
  25. interface IDXTLabel;
  26. interface IDX2D;
  27. interface IDX2DDebug;
  28. interface IDXTFilter;
  29. interface IDXTFilterController;
  30. interface IDXTFilterCollection;
  31. //=== Interface definitions =================================================
  32. //--- IDXRasterizer ---------------------------------------------
  33. typedef enum DXRASTERFILL
  34. {
  35. DXRASTER_PEN = 0,
  36. DXRASTER_BRUSH = 1,
  37. DXRASTER_BACKGROUND = 2
  38. } DXRASTERFILL;
  39. //
  40. // IDXRasterizer
  41. //
  42. typedef struct DXRASTERSCANINFO
  43. {
  44. ULONG ulIndex;
  45. ULONG Row;
  46. const BYTE * pWeights;
  47. const DXRUNINFO *pRunInfo;
  48. ULONG cRunInfo;
  49. } DXRASTERSCANINFO;
  50. typedef struct DXRASTERPOINTINFO
  51. {
  52. DXOVERSAMPLEDESC Pixel;
  53. ULONG ulIndex;
  54. BYTE Weight;
  55. } DXRASTERPOINTINFO;
  56. typedef struct DXRASTERRECTINFO
  57. {
  58. ULONG ulIndex;
  59. RECT Rect;
  60. BYTE Weight;
  61. } DXRASTERRECTINFO;
  62. [
  63. local,
  64. uuid(9EA3B635-C37D-11d1-905E-00C04FD9189D),
  65. pointer_default(unique),
  66. hidden
  67. ]
  68. interface IDXRasterizer : IUnknown
  69. {
  70. HRESULT SetSurface([in] IDXSurface *pDXSurface);
  71. HRESULT GetSurface([out] IDXSurface ** ppDXSurface);
  72. HRESULT SetFill([in] ULONG ulIndex, [in] IDXSurface *pSurface, [in] const POINT *ppt, [in] DXSAMPLE FillColor);
  73. HRESULT GetFill([in] ULONG ulIndex, [out] IDXSurface **ppSurface, [out] POINT *ppt, [out] DXSAMPLE *pFillColor);
  74. HRESULT BeginRendering( [in]ULONG ulTimeOut );
  75. HRESULT EndRendering( void );
  76. HRESULT RenderScan([in] const DXRASTERSCANINFO *pScanInfo);
  77. HRESULT SetPixel([in] DXRASTERPOINTINFO *pPointInfo);
  78. HRESULT FillRect([in] const DXRASTERRECTINFO *pRectInfo);
  79. HRESULT GetBounds([out] DXBNDS *pBounds);
  80. };
  81. //
  82. //--- XFORM structure redefined because it is not in the window .idl
  83. typedef enum DX2DXFORMOPS
  84. {
  85. DX2DXO_IDENTITY,
  86. DX2DXO_TRANSLATE,
  87. DX2DXO_SCALE,
  88. DX2DXO_SCALE_AND_TRANS,
  89. DX2DXO_GENERAL,
  90. DX2DXO_GENERAL_AND_TRANS,
  91. } DX2DXFORMOPS;
  92. typedef struct DX2DXFORM
  93. {
  94. FLOAT eM11;
  95. FLOAT eM12;
  96. FLOAT eM21;
  97. FLOAT eM22;
  98. FLOAT eDx;
  99. FLOAT eDy;
  100. DX2DXFORMOPS eOp;
  101. } DX2DXFORM, * PDX2DXFORM;
  102. typedef enum DX2DPOLYDRAW
  103. {
  104. DX2D_WINDING_FILL = ( 1L << 0 ), // alternate if not set
  105. DX2D_NO_FLATTEN = ( 1L << 1 ), // does flatten if not set
  106. DX2D_DO_GRID_FIT = ( 1L << 2 ), // no grid fitting performed if not set
  107. DX2D_IS_RECT = ( 1L << 3 ), // treated as generalized shape if not set
  108. DX2D_STROKE = ( 1L << 4 ), // The shape will be stroked
  109. DX2D_FILL = ( 1L << 5 ), // The shape will be filled
  110. DX2D_UNUSED = 0xFFFFFFC0
  111. } DX2DPOLYDRAW;
  112. typedef struct DXFPOINT
  113. {
  114. FLOAT x;
  115. FLOAT y;
  116. } DXFPOINT;
  117. typedef enum DX2DPEN
  118. {
  119. DX2D_PEN_DEFAULT = ( 0 ),
  120. DX2D_PEN_WIDTH_IN_DISPLAY_COORDS = ( 1L << 0 ), // by default; the world-transform
  121. // applies to the pen-width for
  122. // geometric lines
  123. DX2D_PEN_UNUSED = 0xFFFFFFFE
  124. } DX2DPEN;
  125. typedef struct DXPEN
  126. {
  127. DXSAMPLE Color;
  128. float Width; // 0 = cosmetic
  129. DWORD Style; // PS_XXX
  130. IDXSurface* pTexture;
  131. DXFPOINT TexturePos;
  132. DWORD dwFlags; // See DX2D_PEN_xxx
  133. } DXPEN;
  134. typedef struct DXBRUSH
  135. {
  136. DXSAMPLE Color;
  137. IDXSurface* pTexture;
  138. DXFPOINT TexturePos;
  139. } DXBRUSH;
  140. typedef enum DX2DGRADIENT
  141. {
  142. DX2DGRAD_DEFAULT = 0,
  143. DX2DGRAD_CLIPGRADIENT = 1, // Don't render outside offsets for gradient
  144. DX2DGRAD_UNUSED = 0xFFFFFFFE
  145. } DX2DGRADIENT;
  146. //--- LOGFONT identifiers
  147. typedef enum DXLOGFONTENUM
  148. {
  149. DXLF_HEIGHT = 1,
  150. DXLF_WIDTH = 2,
  151. DXLF_ESC = 4,
  152. DXLF_ORIENTATION = 8,
  153. DXLF_WEIGHT = 16,
  154. DXLF_ITALIC = 32,
  155. DXLF_UNDERLINE = 64,
  156. DXLF_STRIKEOUT = 128,
  157. DXLF_CHARSET = 256,
  158. DXLF_OUTPREC = 512,
  159. DXLF_CLIPPREC = 1024,
  160. DXLF_QUALITY = 2048,
  161. DXLF_PITCHANDFAM = 4096,
  162. DXLF_FACENAME = 8192,
  163. DXLF_ALL = 0x00003fff
  164. } DXLOGFONTENUM;
  165. /* Logical Font */
  166. #define LF_FACESIZE 32
  167. cpp_quote( "#ifndef _WINGDI_")
  168. typedef struct tagLOGFONTA
  169. {
  170. LONG lfHeight;
  171. LONG lfWidth;
  172. LONG lfEscapement;
  173. LONG lfOrientation;
  174. LONG lfWeight;
  175. BYTE lfItalic;
  176. BYTE lfUnderline;
  177. BYTE lfStrikeOut;
  178. BYTE lfCharSet;
  179. BYTE lfOutPrecision;
  180. BYTE lfClipPrecision;
  181. BYTE lfQuality;
  182. BYTE lfPitchAndFamily;
  183. CHAR lfFaceName[LF_FACESIZE];
  184. } LOGFONTA;
  185. typedef struct tagLOGFONTW
  186. {
  187. LONG lfHeight;
  188. LONG lfWidth;
  189. LONG lfEscapement;
  190. LONG lfOrientation;
  191. LONG lfWeight;
  192. BYTE lfItalic;
  193. BYTE lfUnderline;
  194. BYTE lfStrikeOut;
  195. BYTE lfCharSet;
  196. BYTE lfOutPrecision;
  197. BYTE lfClipPrecision;
  198. BYTE lfQuality;
  199. BYTE lfPitchAndFamily;
  200. WCHAR lfFaceName[LF_FACESIZE];
  201. } LOGFONTW;
  202. #ifdef UNICODE
  203. typedef LOGFONTW LOGFONT;
  204. #else
  205. typedef LOGFONTA LOGFONT;
  206. #endif // UNICODE
  207. cpp_quote( "#endif")
  208. //--- IDXTLabel -------------------------------------------------
  209. //
  210. // This is the v-table only label transform interface
  211. [
  212. uuid(C0C17F0E-AE41-11d1-9A3B-0000F8756A10),
  213. pointer_default(unique),
  214. hidden
  215. ]
  216. interface IDXTLabel : IUnknown
  217. {
  218. HRESULT SetFontHandle([in] HFONT hFont);
  219. HRESULT GetFontHandle([out] HFONT *phFont);
  220. HRESULT SetTextString([in] LPCWSTR pString);
  221. HRESULT GetTextString([out] LPWSTR *ppString);
  222. HRESULT GetFillColor([out] DXSAMPLE *pVal);
  223. HRESULT SetFillColor([in] DXSAMPLE newVal);
  224. HRESULT GetBackgroundColor([out] DXSAMPLE *pVal);
  225. HRESULT SetBackgroundColor([in] DXSAMPLE newVal);
  226. HRESULT GetTexturePosition( [out]long *px, [out]long *py);
  227. HRESULT SetTexturePosition( [in]long x, [in]long y);
  228. HRESULT GetMatrix([out] PDX2DXFORM pXform);
  229. HRESULT SetMatrix([in] const PDX2DXFORM pXform);
  230. HRESULT SetLogfont([in] const LOGFONT *plf, [in]DWORD dwFlags);
  231. HRESULT GetLogfont([out] LOGFONT *plf, [in]DWORD dwFlags);
  232. HRESULT ExecuteWithRasterizer([in] IDXRasterizer *pRasterizer, [in]const DXBNDS *pClipBnds,
  233. [in] const DXVEC *pPlacement);
  234. HRESULT GetBaselineOffset([out] long *px, [out] long *py, [out] long *pdx, [out] long *pdy);
  235. };
  236. //--- IDX2D -----------------------------------
  237. [
  238. local,
  239. uuid(03BB2457-A279-11d1-81C6-0000F87557DB),
  240. pointer_default(unique),
  241. hidden
  242. ]
  243. interface IDX2DDebug : IUnknown
  244. {
  245. HRESULT SetDC( HDC hDC );
  246. HRESULT GetDC( HDC* phDC );
  247. };
  248. [
  249. local,
  250. uuid(9EFD02A9-A996-11d1-81C9-0000F87557DB),
  251. pointer_default(unique),
  252. hidden
  253. ]
  254. interface IDX2D : IUnknown
  255. {
  256. //--- Setup
  257. HRESULT SetTransformFactory( IDXTransformFactory * pTransFact );
  258. HRESULT GetTransformFactory( IDXTransformFactory** ppTransFact );
  259. HRESULT SetSurface( IUnknown* pSurface );
  260. HRESULT GetSurface( REFIID riid, void** ppSurface );
  261. //--- Attributes
  262. HRESULT SetClipRect( RECT* pClipRect );
  263. HRESULT GetClipRect( RECT* pClipRect );
  264. HRESULT SetWorldTransform( const DX2DXFORM* pXform );
  265. HRESULT GetWorldTransform( DX2DXFORM* pXform );
  266. HRESULT SetPen( const DXPEN* pPen );
  267. HRESULT GetPen( DXPEN* pPen );
  268. HRESULT SetBrush( const DXBRUSH* pBrush );
  269. HRESULT GetBrush( DXBRUSH* pBrush );
  270. HRESULT SetBackgroundBrush( const DXBRUSH* pBrush );
  271. HRESULT GetBackgroundBrush( DXBRUSH* pBrush );
  272. HRESULT SetFont( HFONT hFont );
  273. HRESULT GetFont( HFONT* phFont );
  274. //--- Blitting
  275. HRESULT Blt( IUnknown* punkSrc, const RECT* pSrcRect, const POINT* pDest );
  276. //--- Drawing functions
  277. HRESULT AAPolyDraw( const DXFPOINT* pPos, const BYTE* pTypes, ULONG ulCount,
  278. ULONG SubSampRes, DWORD dwFlags );
  279. HRESULT AAText( DXFPOINT Pos, LPWSTR pString, ULONG ulCount, DWORD dwFlags );
  280. //--- Gradient functions
  281. HRESULT SetRadialGradientBrush(
  282. [in, size_is(ulCount)] double* rgdblOffsets,
  283. [in, size_is(ulCount*3)] double* rgdblColors,
  284. [in] ULONG ulCount,
  285. [in] double dblOpacity,
  286. [in] DX2DXFORM *pXform,
  287. [in] DWORD dwFlags );
  288. HRESULT SetLinearGradientBrush(
  289. [in, size_is(ulCount)] double* rgdblOffsets,
  290. [in, size_is(ulCount*3)] double* rgdblColors,
  291. [in] ULONG ulCount,
  292. [in] double dblOpacity,
  293. [in] DX2DXFORM *pXform,
  294. [in] DWORD dwFlags );
  295. }
  296. //+-----------------------------------------------------------------------------
  297. //
  298. // IDXTFilterCollection Interface
  299. //
  300. // Overview:
  301. // Extended gradient.
  302. //
  303. //------------------------------------------------------------------------------
  304. [
  305. uuid(d0ef2a80-61dc-11d2-b2eb-00a0c936b212),
  306. helpstring("IDXGradient2 Interface"),
  307. pointer_default(unique)
  308. ]
  309. interface IDXGradient2 : IDXGradient
  310. {
  311. HRESULT SetRadialGradient(
  312. [in, size_is(ulCount)] double* rgdblOffsets,
  313. [in, size_is(ulCount*3)] double* rgdblColors,
  314. [in] ULONG ulCount,
  315. [in] double dblOpacity,
  316. [in] DX2DXFORM *pXform,
  317. [in] DWORD dwFlags );
  318. HRESULT SetLinearGradient(
  319. [in, size_is(ulCount)] double* rgdblOffsets,
  320. [in, size_is(ulCount*3)] double* rgdblColors,
  321. [in] ULONG ulCount,
  322. [in] double dblOpacity,
  323. [in] DX2DXFORM *pXform,
  324. [in] DWORD dwFlags );
  325. };
  326. //+-----------------------------------------------------------------------------
  327. //
  328. // DXTFILTERCAPS enum
  329. //
  330. //------------------------------------------------------------------------------
  331. typedef enum DXTFILTERCAPS
  332. {
  333. DXTFILTERCAPS_IDXSURFACE = (1L << 0),
  334. DXTFILTERCAPS_IDXEFFECT = (1L << 1),
  335. DXTFILTERCAPS_INPUT1REQ = (1L << 2),
  336. DXTFILTERCAPS_INPUT2REQ = (1L << 3),
  337. DXTFILTERCAPS_INPUT1OPT = (1L << 4),
  338. DXTFILTERCAPS_INPUT2OPT = (1L << 5),
  339. DXTFILTERCAPS_PRIV_MATRIX = (1L << 6),
  340. DXTFILTERCAPS_MAX = (1L << 7)
  341. } DXTFILTERCAPS;
  342. //+-----------------------------------------------------------------------------
  343. //
  344. // IDXTFilterBehavior Interface
  345. //
  346. //------------------------------------------------------------------------------
  347. typedef void * HFILTER;
  348. typedef enum DXT_FILTER_TYPE_FLAGS {
  349. DXTFTF_INVALID = 0,
  350. // Modifier Flags (bits 0..15 available)
  351. DXTFTF_CSS = (1L << 0),
  352. DXTFTF_PRIVATE = (1L << 1),
  353. DXTFTF_ALLMODIFIERS = (DXTFTF_CSS | DXTFTF_PRIVATE),
  354. // Type Flags (bits 16..31 available)
  355. // One and only one required.
  356. DXTFTF_SURFACE = (1L << 16),
  357. DXTFTF_ZEROINPUT = (1L << 17),
  358. DXTFTF_FILTER = (1L << 18),
  359. DXTFTF_ALLTYPES = ( DXTFTF_SURFACE | DXTFTF_ZEROINPUT
  360. | DXTFTF_FILTER)
  361. } DXT_FILTER_TYPE_FLAGS;
  362. [
  363. object,
  364. uuid(14D7DDDD-ACA2-4E45-9504-3808ABEB4F92),
  365. helpstring("IDXTFilterBehavior Interface"),
  366. pointer_default(unique),
  367. local
  368. ]
  369. interface IDXTFilterBehavior : IUnknown
  370. {
  371. HRESULT Initialize(IDXTransformFactory * pDXTransformFactory);
  372. HRESULT GetFilterCollection(IDXTFilterCollection ** ppDXTFilterCollection);
  373. HRESULT LockFilterChainForEdit(DWORD * pdwKey);
  374. HRESULT AddFilterFromBSTR(const BSTR bstrFilterString,
  375. const DWORD dwFlags,
  376. DWORD * const pdwFilterType,
  377. HFILTER * const phFilter);
  378. HRESULT DestroyFilter(HFILTER hFilter);
  379. HRESULT UnlockFilterChain(DWORD dwKey);
  380. };
  381. //+-----------------------------------------------------------------------------
  382. //
  383. // IDXTFilterBehaviorSite Interface
  384. //
  385. //------------------------------------------------------------------------------
  386. [
  387. object,
  388. uuid(909B23C2-9018-499f-A86D-4E7DA937E931),
  389. helpstring("IDXTFilterBehaviorSite Interface"),
  390. pointer_default(unique),
  391. local
  392. ]
  393. interface IDXTFilterBehaviorSite : IUnknown
  394. {
  395. HRESULT InvalidateElement(BOOL fInvalidateSize);
  396. HRESULT InvalidateFilterChain();
  397. HRESULT ExecuteFilterChain();
  398. HRESULT FireOnFilterChangeEvent();
  399. HRESULT OnFilterChangeStatus(DXTFILTER_STATUS eStatusOld, DXTFILTER_STATUS eStatusNew);
  400. void OnFatalError(HRESULT hrFatalError);
  401. HRESULT GetTimer(void **ppvTimer);
  402. HRESULT EnsureView();
  403. };
  404. //+-----------------------------------------------------------------------------
  405. //
  406. // IDXTFilterCollection Interface
  407. //
  408. //------------------------------------------------------------------------------
  409. [
  410. object,
  411. uuid(22B07B33-8BFB-49d4-9B90-0938370C9019),
  412. helpstring("IDXTFilterCollection Interface"),
  413. pointer_default(unique),
  414. local
  415. ]
  416. interface IDXTFilterCollection : IUnknown
  417. {
  418. HRESULT Init(const IDXTFilterBehavior * pDXTFilterBehavior);
  419. HRESULT AddFilter(const BSTR bstrFilterString,
  420. const DWORD dwFlags,
  421. DWORD * const pdwFilterType,
  422. HFILTER * const phFilter);
  423. HRESULT RemoveFilter(const HFILTER hFilter);
  424. HRESULT RemoveFilters(const DWORD dwFlags);
  425. HRESULT GetFilterController(const HFILTER hFilter,
  426. IDXTFilterController ** const ppDXTFilterController);
  427. };
  428. //+-----------------------------------------------------------------------------
  429. //
  430. // IDXTFilter Interface
  431. //
  432. //------------------------------------------------------------------------------
  433. [
  434. object,
  435. uuid(6187E5A2-A445-4608-8FC0-BE7A6C8DB386),
  436. helpstring("IDXTFilter Interface"),
  437. pointer_default(unique),
  438. local
  439. ]
  440. interface IDXTFilter : IUnknown
  441. {
  442. HRESULT Initialize([in] IDXTransform * pDXTransform,
  443. [in] IDXSurfaceFactory * pDXSurfaceFactory,
  444. [in] IDXTFilterBehaviorSite * pDXTFilterBehaviorSite,
  445. [in] DWORD dwFilterCaps,
  446. [in] BOOL fUsesOldStyleFilterName);
  447. HRESULT SetInputSurface([in] IDXSurface * pDXSurface);
  448. HRESULT SetOutputSurface([in] IDXSurface * pDXSurface);
  449. HRESULT GetOutputSurface([out] IDXSurface ** ppDXSurface);
  450. HRESULT MapBoundsIn2Out([in] DXBNDS * pbndsIn,
  451. [in, out] DXBNDS * pbndsOut,
  452. [in] BOOL fResetOutputSize);
  453. HRESULT MapBoundsOut2In([in] DXBNDS * pbndsOut,
  454. [in, out] DXBNDS * pbndsIn);
  455. HRESULT Execute([in] DXBNDS * pbndsPortion,
  456. [in] DXVEC * pvecPlacement,
  457. [in] BOOL fFireFilterChange);
  458. HRESULT SetMiscFlags([in] DWORD dwMiscFlags);
  459. HRESULT HitTest([in] const DXVEC * pvecOut,
  460. [in, out] BOOL * pfInactiveInputHit,
  461. [in, out] DXVEC * pvecIn);
  462. HRESULT Detach();
  463. BOOL IsEnabled();
  464. void HardDisable(HRESULT hrHardDisable);
  465. };
  466. //+-----------------------------------------------------------------------------
  467. //
  468. // IDXTFilterController Interface
  469. //
  470. // This interface was created so that external objects could controll the
  471. // filter object without using the dispatch interface. It provides enhanced
  472. // functionality, especially for our implementation of the SMIL Transitions
  473. // specification.
  474. //
  475. //------------------------------------------------------------------------------
  476. typedef enum DXT_QUICK_APPLY_TYPE
  477. {
  478. DXTQAT_TransitionIn = 0,
  479. DXTQAT_TransitionOut,
  480. DXTQAT_TransitionFromElement,
  481. DXTQAT_TransitionToElement
  482. } DXT_QUICK_APPLY_TYPE;
  483. [
  484. object,
  485. uuid(5CF315F2-273D-47B6-B9ED-F75DC3B0150B),
  486. helpstring("IDXTFilterController Interface"),
  487. pointer_default(unique),
  488. local
  489. ]
  490. interface IDXTFilterController : IUnknown
  491. {
  492. HRESULT SetProgress(float flProgress);
  493. HRESULT SetEnabled(BOOL fEnabled);
  494. HRESULT SetFilterControlsVisibility(BOOL fFilterControlsVisibility);
  495. HRESULT QuickApply(DXT_QUICK_APPLY_TYPE dxtqat, IUnknown * punkInput);
  496. };
  497. //+-----------------------------------------------------------------------------
  498. //
  499. // IDXTRedirectFilterInit Interface
  500. //
  501. //------------------------------------------------------------------------------
  502. [
  503. object,
  504. uuid(D1A57094-21F7-4e6c-93E5-F5F77F748293),
  505. helpstring("IDXTRedirectFilterInit Interface"),
  506. pointer_default(unique),
  507. local
  508. ]
  509. interface IDXTRedirectFilterInit : IUnknown
  510. {
  511. HRESULT SetHTMLPaintSite(void * pvHTMLPaintSite);
  512. };
  513. //+-----------------------------------------------------------------------------
  514. //
  515. // IDXTClipOrigin Interface
  516. //
  517. // This interface is implemented by DXTransforms that provide the functionality
  518. // of IE5.0 filters and transitions. If an "old name" is used and this
  519. // interface is supported, the filter behavior will call GetClipOrigin to find
  520. // the point on the output of the transform best correlates to the origin of
  521. // the clipped output of the filter.
  522. //
  523. //------------------------------------------------------------------------------
  524. [
  525. object,
  526. uuid(EE1663D8-0988-4C48-9FD6-DB4450885668),
  527. helpstring("IDXTClipOrigin Interface"),
  528. pointer_default(unique),
  529. local
  530. ]
  531. interface IDXTClipOrigin : IUnknown
  532. {
  533. HRESULT GetClipOrigin(DXVEC * pvecClipOrigin);
  534. };
  535. //=== CoClass definitions =================================================
  536. // NOTE: helpstring below is exactly the same as the name given in
  537. // DXTRANS.IDL. This is because DXTRANS.DLL actually links to
  538. // DXTRANSP -- the private version. However, we don't want the
  539. // helpstring to *tell* people that there's a private version, so
  540. // we make it look like the other one. Nevermind that there are
  541. // actually extra things in the private typelib.
  542. [
  543. uuid(527A4DA4-7F2C-11d2-B12D-0000F81F5995),
  544. version(1.0),
  545. helpstring("Microsoft DirectX Transform 1.0 Type Library")
  546. ]
  547. library DXTRANSPLib
  548. {
  549. importlib("stdole2.tlb");
  550. importlib("dxtrans.tlb");
  551. ///////////////////////////////
  552. // Label CoClass
  553. ///////////////////////////////
  554. [
  555. uuid(54702535-2606-11D1-999C-0000F8756A10),
  556. hidden
  557. ]
  558. coclass DXTLabel
  559. {
  560. [default] interface IDXTLabel;
  561. };
  562. ///////////////////////////////
  563. // DXRasterizer CoClass
  564. ///////////////////////////////
  565. [
  566. uuid(8652CE55-9E80-11D1-9053-00C04FD9189D),
  567. helpstring("DXRasterizer Class")
  568. ]
  569. coclass DXRasterizer
  570. {
  571. [default] interface IDXRasterizer;
  572. };
  573. ///////////////////////////////
  574. // DX2D CoClass
  575. ///////////////////////////////
  576. [
  577. uuid(473AA80B-4577-11D1-81A8-0000F87557DB),
  578. hidden
  579. ]
  580. coclass DX2D
  581. {
  582. [default] interface IDX2D;
  583. };
  584. ///////////////////////////////
  585. // DXTFilterBehavior CoClass
  586. ///////////////////////////////
  587. [
  588. uuid(649EEC1E-B579-4E8C-BB3B-4997F8426536),
  589. helpstring("DXTFilterBehavior Class")
  590. ]
  591. coclass DXTFilterBehavior
  592. {
  593. [default] interface IDXTFilterBehavior;
  594. };
  595. ///////////////////////////////
  596. // DXTFilterFactory CoClass
  597. ///////////////////////////////
  598. [
  599. uuid(81397204-F51A-4571-8D7B-DC030521AABD),
  600. helpstring("DXTFilterFactory Class")
  601. ]
  602. coclass DXTFilterFactory
  603. {
  604. [default] interface IUnknown;
  605. };
  606. ///////////////////////////////
  607. // DXTFilterCollection CoClass
  608. ///////////////////////////////
  609. [
  610. uuid(A7EE7F34-3BD1-427f-9231-F941E9B7E1FE),
  611. helpstring("DXTFilterCollection Class")
  612. ]
  613. coclass DXTFilterCollection
  614. {
  615. [default] interface IDispatch;
  616. };
  617. };