Source code of Windows XP (NT5)
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.

86 lines
2.0 KiB

  1. //------------------------------------------------------------------------------
  2. // File: DDStream.idl
  3. //
  4. // Desc:
  5. //
  6. // Copyright (c) 1998 - 2000, Microsoft Corporation. All rights reserved.
  7. //------------------------------------------------------------------------------
  8. import "unknwn.idl";
  9. import "mmstream.idl";
  10. cpp_quote("//")
  11. cpp_quote("// The following declarations within the 'if 0' block are dummy typedefs used to make")
  12. cpp_quote("// the ddstream.idl file build. The actual definitions are contained in DDRAW.H")
  13. cpp_quote("//")
  14. cpp_quote("#if 0")
  15. typedef void * LPDDSURFACEDESC;
  16. typedef struct tDDSURFACEDESC DDSURFACEDESC;
  17. cpp_quote("#endif")
  18. cpp_quote("#include <ddraw.h>")
  19. enum {
  20. DDSFF_PROGRESSIVERENDER = 0x00000001
  21. };
  22. interface IDirectDraw;
  23. interface IDirectDrawSurface;
  24. interface IDirectDrawPalette;
  25. interface IDirectDrawMediaStream;
  26. interface IDirectDrawStreamSample;
  27. // IDirectDrawMediaStream
  28. [
  29. object,
  30. local,
  31. uuid(F4104FCE-9A70-11d0-8FDE-00C04FD9189D),
  32. pointer_default(unique)
  33. ]
  34. interface IDirectDrawMediaStream : IMediaStream
  35. {
  36. HRESULT GetFormat(
  37. [out] DDSURFACEDESC *pDDSDCurrent,
  38. [out] IDirectDrawPalette **ppDirectDrawPalette,
  39. [out] DDSURFACEDESC *pDDSDDesired,
  40. [out] DWORD *pdwFlags);
  41. HRESULT SetFormat(
  42. [in] const DDSURFACEDESC *pDDSurfaceDesc,
  43. [in] IDirectDrawPalette *pDirectDrawPalette);
  44. HRESULT GetDirectDraw(
  45. [out] IDirectDraw **ppDirectDraw);
  46. HRESULT SetDirectDraw(
  47. [in] IDirectDraw *pDirectDraw);
  48. HRESULT CreateSample(
  49. [in] IDirectDrawSurface *pSurface,
  50. [in] const RECT *pRect,
  51. [in] DWORD dwFlags,
  52. [out]IDirectDrawStreamSample **ppSample);
  53. HRESULT GetTimePerFrame(
  54. [out] STREAM_TIME *pFrameTime);
  55. };
  56. // IDirectDrawStreamSample
  57. [
  58. object,
  59. local,
  60. uuid(F4104FCF-9A70-11d0-8FDE-00C04FD9189D),
  61. pointer_default(unique)
  62. ]
  63. interface IDirectDrawStreamSample : IStreamSample
  64. {
  65. HRESULT GetSurface(
  66. [out] IDirectDrawSurface ** ppDirectDrawSurface,
  67. [out] RECT * pRect);
  68. HRESULT SetRect(
  69. [in] const RECT * pRect);
  70. };