home *** CD-ROM | disk | FTP | other *** search
/ Using Visual Basic 5 (Platinum Edition) / vb5.iso / ACTIVEX / SRDVID / DATA.1 / Surround.h < prev    next >
Encoding:
C/C++ Source or Header  |  1996-05-14  |  5.6 KB  |  163 lines

  1. /* This header file machine-generated by mktyplib.exe */
  2. /* Interface to type library: Surround */
  3.  
  4. #ifndef _Surround_H_
  5. #define _Surround_H_
  6.  
  7. // HRESULT codes returned by ISurround:: and ISurroundView interface functions
  8. #define SV_E_INVALID_MESSAGE        0x800A0001L
  9. #define SV_E_INVALID_FLAG            0x800A0002L
  10. #define SV_E_INVALID_ZOOM            0x800A0003L
  11. #define SV_E_INVALID_LOCATION        0x800A0004L
  12. #define SV_E_INVALID_PARAMETER        0x800A0005L
  13. #define SV_E_RANGE                    0x800A0006L
  14. #define SV_E_INCOMPATIBLE_SURFACE    0x800A0007L
  15. #define SV_E_BUG                    0x800A0008L
  16. #define SV_E_OUTOFMEMORY            0x800A0009L
  17. #define SV_E_NODECOMPRESSOR            0x800A000AL
  18. #define SV_E_INSUFFICIENTBYTES        0x800A000BL        // Not enough valid bytes in stream
  19. #define SV_E_INVALID_STREAM            0x800A000CL
  20. #define SV_E_IMPROPERMODE            0x800A000DL
  21.  
  22. // Correction flags for dwFlags in ISurround::GetView()
  23. #define SV_NO_CORRECTION            0
  24. #define SV_HORIZONTAL_CORRECTION    1
  25. #define SV_VERTICAL_CORRECTION        2
  26. #define SV_TOTAL_CORRECTION            (SV_HORIZONTAL_CORRECTION | SV_VERTICAL_CORRECTION)
  27.  
  28. // Miscellaneous
  29. #define MAX_ARCSECONDS 1296000
  30.  
  31. // NOTE WELL: CSVDOC_SURROUNDIMAGE is always WCHAR in VC4 and above
  32. //#ifdef UNICODE
  33.     #define CSVDOC_SURROUNDIMAGE L"Surround Video Image"
  34. //#else
  35. //    #define CSVDOC_SURROUNDIMAGE "Surround Video Image"
  36. //#endif
  37.  
  38. DEFINE_GUID(LIBID_Surround,0x289DB1F4L,0x4DA9,0x11CE,0x8D,0x83,0x00,0x00,0xE8,0xA1,0x34,0x39);
  39.  
  40. typedef void FAR* FAR* LPLPVOID;
  41.  
  42. typedef long ARCSECONDS;
  43.  
  44. typedef struct _tagSPHERE_POINT {
  45.     ARCSECONDS latitude;
  46.     ARCSECONDS longitude;
  47. } SPHERE_POINT;
  48.  
  49. typedef struct _tagSPHERE_POINT FAR* LPSPHERE_POINT;
  50.  
  51. typedef struct _tagSPHERE_RECT {
  52.     ARCSECONDS left;
  53.     ARCSECONDS top;
  54.     ARCSECONDS right;
  55.     ARCSECONDS bottom;
  56. } SPHERE_RECT;
  57.  
  58. typedef struct _tagSPHERE_RECT FAR* LPSPHERE_RECT;
  59.  
  60. DEFINE_GUID(IID_ISurroundView,0x289DB1F2L,0x4DA9,0x11CE,0x8D,0x83,0x00,0x00,0xE8,0xA1,0x34,0x39);
  61.  
  62. /* Definition of interface: ISurroundView */
  63. #undef INTERFACE
  64. #define INTERFACE ISurroundView
  65.  
  66. DECLARE_INTERFACE_(ISurroundView, IUnknown)
  67. {
  68. #ifndef NO_BASEINTERFACE_FUNCS
  69.  
  70.     /* IUnknown methods */
  71.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  72.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  73.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  74. #endif
  75.  
  76.     /* ISurroundView methods */
  77.     STDMETHOD(GetColors)(THIS_ UINT iFirstEntry, UINT iNumEntries, RGBQUAD FAR* lpColors) PURE;
  78.     STDMETHOD_(UINT, GetDepth)(THIS) PURE;
  79.     STDMETHOD_(float, GetZoom)(THIS) PURE;
  80.     STDMETHOD(GetSize)(THIS_ LPSIZE pSize) PURE;
  81.     STDMETHOD(Draw)(THIS_ LPSPHERE_POINT pPt, LPBITMAPINFOHEADER pBmi, LPVOID pvBits, LPCRECT pRect, int iDrawQuality) PURE;
  82.     STDMETHOD(ViewToSphere)(THIS_ LPPOINT pPt, LPSPHERE_POINT pPtTangent, LPSPHERE_POINT pSpt) PURE;
  83.     STDMETHOD(SphereToView)(THIS_ LPSPHERE_POINT pSpt, LPSPHERE_POINT pPtTangent, LPPOINT pPt) PURE;
  84.     STDMETHOD(GetViewRange)(THIS_ LPSPHERE_RECT pRange, ARCSECONDS FAR* pLatitudeCenter) PURE;
  85. };
  86.  
  87. DEFINE_GUID(CLSID_CSVView,0x289DB1F6L,0x4DA9,0x11CE,0x8D,0x83,0x00,0x00,0xE8,0xA1,0x34,0x39);
  88.  
  89. #ifdef __cplusplus
  90. class CSVView;
  91. #endif
  92.  
  93. DEFINE_GUID(IID_ISurround,0x289DB1F5L,0x4DA9,0x11CE,0x8D,0x83,0x00,0x00,0xE8,0xA1,0x34,0x39);
  94.  
  95. /* Definition of interface: ISurround */
  96. #undef INTERFACE
  97. #define INTERFACE ISurround
  98.  
  99. DECLARE_INTERFACE_(ISurround, IUnknown)
  100. {
  101. #ifndef NO_BASEINTERFACE_FUNCS
  102.  
  103.     /* IUnknown methods */
  104.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  105.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  106.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  107. #endif
  108.  
  109.     /* ISurround methods */
  110.     STDMETHOD_(BOOL, ReadMore)(THIS_ UINT nAmount) PURE;
  111.     STDMETHOD(GetView)(THIS_ LPSIZE pSize, float fZoom, int iViewQuality, DWORD dwFlags, ISurroundView FAR* FAR* ppView) PURE;
  112.     STDMETHOD(GetHorizon)(THIS_ int FAR* piHorizon) PURE;
  113.     STDMETHOD(SetHorizon)(THIS_ int iHorizon) PURE;
  114.     STDMETHOD(GetBits)(THIS_ LPSPHERE_POINT pPt, LPSIZE pSize, LPBITMAPINFOHEADER pBmi, LPVOID pvBits) PURE;
  115.     STDMETHOD(SetBits)(THIS_ LPSPHERE_POINT pPt, LPSIZE pSize, LPBITMAPINFOHEADER pBmi, LPVOID pvBits) PURE;
  116.     STDMETHOD(GetColors)(THIS_ UINT iFirstEntry, UINT iNumEntries, RGBQUAD FAR* pColors) PURE;
  117.     STDMETHOD(GetExtents)(THIS_ LPSPHERE_RECT pExtent) PURE;
  118.     STDMETHOD(ForceValid)(THIS_ LPSPHERE_RECT pExtent) PURE;
  119.     STDMETHOD_(UINT, GetDepth)(THIS) PURE;
  120.     STDMETHOD(GetMaxViewSize)(THIS_ float fZoom, LPSIZE pSize) PURE;
  121.     STDMETHOD(UpdateStreamLength)(THIS_ DWORD dwValidBytes, BOOL FAR* pbUpdate) PURE;
  122. };
  123.  
  124. DEFINE_GUID(CLSID_CSVDoc,0x289DB1FCL,0x4DA9,0x11CE,0x8D,0x83,0x00,0x00,0xE8,0xA1,0x34,0x39);
  125.  
  126. HRESULT    PanoramicSurroundFromFileW(    LPCWSTR lpszFilename,
  127.                                     UINT iDepthRequested,
  128.                                     ISurround** ppISurround);
  129.  
  130. HRESULT    PanoramicSurroundFromFileA(    LPCSTR lpszFilename,
  131.                                     UINT iDepthRequested,
  132.                                     ISurround** ppISurround);
  133.  
  134. #ifdef UNICODE
  135. #define PanoramicSurroundFromFile  PanoramicSurroundFromFileW
  136. #else
  137. #define PanoramicSurroundFromFile  PanoramicSurroundFromFileA
  138. #endif // !UNICODE
  139.  
  140. HRESULT    PanoramicSurroundFromDIB(    LPBITMAPINFOHEADER lpbmi,
  141.                                     LPRGBQUAD lpColors,
  142.                                     LPVOID lpBits,
  143.                                     int iHorizon,
  144.                                     ARCSECONDS extent,
  145.                                     ISurround** ppISurround);
  146.  
  147. HRESULT    PanoramicSurroundFromStream(IStream __RPC_FAR *pStream,
  148.                                     UINT iDepthRequested,
  149.                                     ISurround** ppISurround);
  150.  
  151. HRESULT    PanoramicSurroundFromPartialStream(IStream __RPC_FAR *pStream,
  152.                                     UINT iDepthRequested,
  153.                                     ISurround** ppISurround,
  154.                                     DWORD dwValidBytes,
  155.                                     DWORD dwOrigin);
  156.  
  157.  
  158. #ifdef __cplusplus
  159. class CSVDoc;
  160. #endif
  161.  
  162. #endif
  163.