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.

78 lines
1.9 KiB

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