ddstream.idl 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. /*
  2. * Copyright 2004 Christian Costa
  3. *
  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.
  8. *
  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.
  13. *
  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
  17. */
  18. import "unknwn.idl";
  19. import "mmstream.idl";
  20. cpp_quote("#ifndef __DDRAW_INCLUDED__")
  21. typedef void * LPDDSURFACEDESC;
  22. typedef struct tDDSURFACEDESC DDSURFACEDESC;
  23. interface IDirectDraw;
  24. interface IDirectDrawSurface;
  25. interface IDirectDrawPalette;
  26. cpp_quote("#endif")
  27. cpp_quote("#include <ddraw.h>")
  28. enum {
  29. DDSFF_PROGRESSIVERENDER = 0x00000001
  30. };
  31. interface IDirectDrawMediaStream;
  32. interface IDirectDrawStreamSample;
  33. [
  34. object,
  35. local,
  36. uuid(F4104FCE-9A70-11d0-8FDE-00C04FD9189D),
  37. pointer_default(unique)
  38. ]
  39. interface IDirectDrawMediaStream : IMediaStream
  40. {
  41. HRESULT GetFormat(
  42. [out] DDSURFACEDESC *pDDSDCurrent,
  43. [out] IDirectDrawPalette **ppDirectDrawPalette,
  44. [out] DDSURFACEDESC *pDDSDDesired,
  45. [out] DWORD *pdwFlags);
  46. HRESULT SetFormat(
  47. [in] const DDSURFACEDESC *pDDSurfaceDesc,
  48. [in] IDirectDrawPalette *pDirectDrawPalette);
  49. HRESULT GetDirectDraw(
  50. [out] IDirectDraw **ppDirectDraw);
  51. HRESULT SetDirectDraw(
  52. [in] IDirectDraw *pDirectDraw);
  53. HRESULT CreateSample(
  54. [in] IDirectDrawSurface *pSurface,
  55. [in] const RECT *pRect,
  56. [in] DWORD dwFlags,
  57. [out] IDirectDrawStreamSample **ppSample);
  58. HRESULT GetTimePerFrame(
  59. [out] STREAM_TIME *pFrameTime);
  60. }
  61. [
  62. object,
  63. local,
  64. uuid(F4104FCF-9A70-11d0-8FDE-00C04FD9189D),
  65. pointer_default(unique)
  66. ]
  67. interface IDirectDrawStreamSample : IStreamSample
  68. {
  69. HRESULT GetSurface(
  70. [out] IDirectDrawSurface ** ppDirectDrawSurface,
  71. [out] RECT * pRect);
  72. HRESULT SetRect(
  73. [in] const RECT * pRect);
  74. }