home *** CD-ROM | disk | FTP | other *** search
/ Using Visual Basic 5 (Platinum Edition) / vb5.iso / ACTIVEX / SRDVID / DATA.Z / Surround.h < prev    next >
Encoding:
C/C++ Source or Header  |  1996-09-19  |  5.8 KB  |  174 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. #define SV_E_COMPLETE                0x800A000EL        // Operation is complete
  22.  
  23. // Correction flags for dwFlags in ISurround::GetView()
  24. #define SV_NO_CORRECTION            0
  25. #define SV_HORIZONTAL_CORRECTION    1
  26. #define SV_VERTICAL_CORRECTION        2
  27. #define SV_TOTAL_CORRECTION            (SV_HORIZONTAL_CORRECTION | SV_VERTICAL_CORRECTION)
  28.  
  29. // Miscellaneous
  30. #define MAX_ARCSECONDS 1296000
  31.  
  32. // NOTE WELL: CSVDOC_SURROUNDIMAGE is always WCHAR in VC4 and above
  33. //#ifdef UNICODE
  34.     #define CSVDOC_SURROUNDIMAGE L"Surround Video Image"
  35. //#else
  36. //    #define CSVDOC_SURROUNDIMAGE "Surround Video Image"
  37. //#endif
  38.  
  39. //extern const char * CSVDOC_SURROUNDIMAGE;
  40.  
  41.  
  42. DEFINE_GUID(LIBID_Surround,0x289DB1F4L,0x4DA9,0x11CE,0x8D,0x83,0x00,0x00,0xE8,0xA1,0x34,0x39);
  43.  
  44. typedef void FAR* FAR* LPLPVOID;
  45.  
  46. typedef long ARCSECONDS;
  47.  
  48. typedef struct _tagSPHERE_POINT {
  49.     ARCSECONDS latitude;
  50.     ARCSECONDS longitude;
  51. } SPHERE_POINT;
  52.  
  53. typedef struct _tagSPHERE_POINT FAR* LPSPHERE_POINT;
  54.  
  55. typedef struct _tagSPHERE_RECT {
  56.     ARCSECONDS left;
  57.     ARCSECONDS top;
  58.     ARCSECONDS right;
  59.     ARCSECONDS bottom;
  60. } SPHERE_RECT;
  61.  
  62. typedef struct _tagSPHERE_RECT FAR* LPSPHERE_RECT;
  63.  
  64. DEFINE_GUID(IID_ISurroundView,0x289DB1F2L,0x4DA9,0x11CE,0x8D,0x83,0x00,0x00,0xE8,0xA1,0x34,0x39);
  65.  
  66. /* Definition of interface: ISurroundView */
  67. #undef INTERFACE
  68. #define INTERFACE ISurroundView
  69.  
  70. DECLARE_INTERFACE_(ISurroundView, IUnknown)
  71. {
  72. #ifndef NO_BASEINTERFACE_FUNCS
  73.  
  74.     /* IUnknown methods */
  75.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  76.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  77.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  78. #endif
  79.  
  80.     /* ISurroundView methods */
  81.     STDMETHOD(GetColors)(THIS_ UINT iFirstEntry, UINT iNumEntries, RGBQUAD FAR* lpColors) PURE;
  82.     STDMETHOD_(UINT, GetDepth)(THIS) PURE;
  83.     STDMETHOD_(float, GetZoom)(THIS) PURE;
  84.     STDMETHOD(GetSize)(THIS_ LPSIZE pSize) PURE;
  85.     STDMETHOD(Draw)(THIS_ LPSPHERE_POINT pPt, LPBITMAPINFOHEADER pBmi, LPVOID pvBits, LPCRECT pRect, int iDrawQuality) PURE;
  86.     STDMETHOD(ViewToSphere)(THIS_ LPPOINT pPt, LPSPHERE_POINT pPtTangent, LPSPHERE_POINT pSpt) PURE;
  87.     STDMETHOD(SphereToView)(THIS_ LPSPHERE_POINT pSpt, LPSPHERE_POINT pPtTangent, LPPOINT pPt) PURE;
  88.     STDMETHOD(GetViewRange)(THIS_ LPSPHERE_RECT pRange, ARCSECONDS FAR* pLatitudeCenter) PURE;
  89. };
  90.  
  91. DEFINE_GUID(CLSID_CSVView,0x289DB1F6L,0x4DA9,0x11CE,0x8D,0x83,0x00,0x00,0xE8,0xA1,0x34,0x39);
  92.  
  93. #ifdef __cplusplus
  94. class CSVView;
  95. #endif
  96.  
  97. DEFINE_GUID(IID_ISurround,0x289DB1F5L,0x4DA9,0x11CE,0x8D,0x83,0x00,0x00,0xE8,0xA1,0x34,0x39);
  98.  
  99. /* Definition of interface: ISurround */
  100. #undef INTERFACE
  101. #define INTERFACE ISurround
  102.  
  103. DECLARE_INTERFACE_(ISurround, IUnknown)
  104. {
  105. #ifndef NO_BASEINTERFACE_FUNCS
  106.  
  107.     /* IUnknown methods */
  108.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  109.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  110.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  111. #endif
  112.  
  113.     /* ISurround methods */
  114.     STDMETHOD_(BOOL, ReadMore)(THIS_ UINT nAmount) PURE;
  115.     STDMETHOD(GetView)(THIS_ LPSIZE pSize, float fZoom, int iViewQuality, DWORD dwFlags, ISurroundView FAR* FAR* ppView) PURE;
  116.     STDMETHOD(GetHorizon)(THIS_ int FAR* piHorizon) PURE;
  117.     STDMETHOD(SetHorizon)(THIS_ int iHorizon) PURE;
  118.     STDMETHOD(GetBits)(THIS_ LPSPHERE_POINT pPt, LPSIZE pSize, LPBITMAPINFOHEADER pBmi, LPVOID pvBits) PURE;
  119.     STDMETHOD(SetBits)(THIS_ LPSPHERE_POINT pPt, LPSIZE pSize, LPBITMAPINFOHEADER pBmi, LPVOID pvBits) PURE;
  120.     STDMETHOD(GetColors)(THIS_ UINT iFirstEntry, UINT iNumEntries, RGBQUAD FAR* pColors) PURE;
  121.     STDMETHOD(GetExtents)(THIS_ LPSPHERE_RECT pExtent) PURE;
  122.     STDMETHOD(ForceValid)(THIS_ LPSPHERE_RECT pExtent) PURE;
  123.     STDMETHOD_(UINT, GetDepth)(THIS) PURE;
  124.     STDMETHOD(GetMaxViewSize)(THIS_ float fZoom, LPSIZE pSize) PURE;
  125.     STDMETHOD(UpdateStreamLength)(THIS_ DWORD dwValidBytes, BOOL FAR* pbUpdate) PURE;
  126. };
  127.  
  128. DEFINE_GUID(CLSID_CSVDoc,0x289DB1FCL,0x4DA9,0x11CE,0x8D,0x83,0x00,0x00,0xE8,0xA1,0x34,0x39);
  129.  
  130. #ifdef __cplusplus
  131. class CSVDoc;
  132. #endif
  133.  
  134. #ifdef __cplusplus
  135. extern "C" {
  136. #endif
  137.  
  138. HRESULT    PanoramicSurroundFromFileW(    LPCWSTR lpszFilename,
  139.                                     UINT iDepthRequested,
  140.                                     ISurround** ppISurround);
  141.  
  142. HRESULT    PanoramicSurroundFromFileA(    LPCSTR lpszFilename,
  143.                                     UINT iDepthRequested,
  144.                                     ISurround** ppISurround);
  145.  
  146. #ifdef UNICODE
  147. #define PanoramicSurroundFromFile  PanoramicSurroundFromFileW
  148. #else
  149. #define PanoramicSurroundFromFile  PanoramicSurroundFromFileA
  150. #endif // !UNICODE
  151.  
  152. HRESULT    PanoramicSurroundFromDIB(    LPBITMAPINFOHEADER lpbmi,
  153.                                     LPRGBQUAD lpColors,
  154.                                     LPVOID lpBits,
  155.                                     int iHorizon,
  156.                                     ARCSECONDS extent,
  157.                                     ISurround** ppISurround);
  158.  
  159. HRESULT    PanoramicSurroundFromStream(IStream __RPC_FAR *pStream,
  160.                                     UINT iDepthRequested,
  161.                                     ISurround** ppISurround);
  162.  
  163. HRESULT    PanoramicSurroundFromPartialStream(IStream __RPC_FAR *pStream,
  164.                                     UINT iDepthRequested,
  165.                                     ISurround** ppISurround,
  166.                                     DWORD dwValidBytes,
  167.                                     DWORD dwOrigin);
  168.  
  169. #ifdef __cplusplus
  170. }
  171. #endif
  172.  
  173. #endif
  174.