00001
00002
00003
00004
00005
00006
00007 import "oaidl.idl";
00008 import "ocidl.idl";
00009
00010 #ifdef SKETCHUPVIEWER
00011 import "..\winapp\sketchup.idl";
00012 #endif // SKETCHUPVIEWER
00013
00014 interface ISkpRGBAArray;
00015
00016
00017 [
00018 object,
00019 uuid(47845460-F061-44FE-9A2F-F87D2994EC45),
00020 dual,
00021 helpstring("IReader Interface"),
00022 pointer_default(unique)
00023 ]
00024 interface IReaderApplication : IDispatch
00025 {
00026 };
00027
00028
00029 [
00030 object,
00031 uuid(11430A5E-E897-489a-AE79-C25687437EC4),
00032 helpstring("ISkpTextureWriter2 Interface"),
00033 pointer_default(unique)
00034 ]
00035 interface ISkpTextureWriterEx : IUnknown
00036 {
00037 [helpstring("Get the RGB Array for the entity identified by the particular handle")]
00038 HRESULT GetRGBAArray([in] long textureHandle, [out, retval] ISkpRGBAArray** ppArray);
00039 };
00040
00041
00042 [
00043 object,
00044 uuid(680B411A-074A-4bcd-8F0E-4833B228F046),
00045 helpstring("ISkpRGBAArray Interface"),
00046 pointer_default(unique)
00047 ]
00048 interface ISkpRGBAArray : IUnknown
00049 {
00050 [propget, helpstring("Returns the number of channel - r, g, b, and alpha")]
00051 HRESULT NumberOfChannels([out,retval] long* nChannels);
00052
00053 [propget, helpstring("Returns the height of the array")]
00054 HRESULT Height([out,retval] long* height);
00055
00056 [propget, helpstring("Returns the width the array")]
00057 HRESULT Width([out,retval] long* width);
00058
00059 [helpstring("Returns the r, g, b and alpha values at the given row/column.")]
00060 HRESULT GetRGBA([in] long row, [in] long column, [out] OLE_COLOR *color);
00061
00066 [helpstring("Returns an array of all the rgba values. The calling application must allocate space.")]
00067 HRESULT GetRGBAValues([in] long size, [out, size_is(size)] OLE_COLOR color[*]);
00068 };
00069
00070 #ifdef SKETCHUPVIEWER
00071
00074 typedef [v1_enum] enum
00075 {
00079 kViewToolOrbit = 1,
00080
00084 kViewToolDolly = 2,
00085
00089 kViewToolZoom = 3,
00090
00094 kViewToolPan = 4,
00095
00099 kViewToolWalk = 5,
00100
00104 kViewToolZoomWindow = 6
00105
00106 } SkpToolType;
00107
00108
00109 [
00110 object,
00111 uuid(1F031E42-5EBC-4E92-B6C5-FCA6FD8EC4A7),
00112 oleautomation,
00113 nonextensible,
00114 helpstring("ISketchupViewer Interface"),
00115 pointer_default(unique)
00116 ]
00117 interface ISketchupViewer : IUnknown{
00118 HRESULT Connect([in] UINT wnd,
00119 [in] ISkpDocument *model,
00120 [in] int new_window);
00121
00122 HRESULT SetLocation( [in] int left,
00123 [in] int top,
00124 [in] int right,
00125 [in] int bottom);
00126
00127 HRESULT DestroyWindow( void);
00128 HRESULT GetPage([out, retval] ISkpPage** page);
00129 HRESULT PageParametersChanged( void );
00130 HRESULT SelectTool([in] int tool);
00131 HRESULT GetActiveTool([out] int *tool);
00132 HRESULT ZoomExtents( void );
00133
00134 HRESULT StartSlideshow( void );
00135 HRESULT StopSlideshow( void );
00136 HRESULT GetSlideshow([out,retval]BOOL *showing);
00137 };
00138 #endif // SKETCHUPVIEWER
00139
00140 [
00141 uuid(317D937D-65E4-419C-9194-E8A18182BDD4),
00142 version(1.0),
00143 helpstring("SketchUpReader 1.0 Type Library")
00144 ]
00145 library SKETCHUPREADERLib
00146 {
00147 importlib("stdole32.tlb");
00148 importlib("stdole2.tlb");
00149
00150 interface IReaderApplication;
00151 interface ISkpRGBAArray;
00152 interface ISkpTextureWriterEx;
00153
00154 interface ISkpFileReader;
00155
00156
00157 [
00158
00159 #ifdef SKETCHUPVIEWER
00160 uuid(35C38154-2FCE-4236-A612-60C0929355E2),
00161 #else // Regular reader GUID
00162 uuid(2C145FBF-B580-4863-A174-940743DC5CB1),
00163 #endif // SKETCHUPVIEWER
00164 helpstring("ReaderApplication Class")
00165 ]
00166 coclass ReaderApplication
00167 {
00168 [default] interface IReaderApplication;
00169 };
00170
00171
00172 [
00173 uuid(2EC915A8-77E4-44e2-A5BE-FAE0C4B3D601),
00174 helpstring("SkpRGBAArray Class")
00175 ]
00176 coclass SkpRGBAArray
00177 {
00178 [default] interface ISkpRGBAArray;
00179 };
00180
00181 #ifdef SKETCHUPVIEWER
00182 [
00183 uuid(B427CE85-4483-4945-AF8C-103F502BA325),
00184 helpstring("SketchupViewer Class")
00185 ]
00186 coclass SketchupViewer
00187 {
00188 [default] interface ISketchupViewer;
00189 };
00190 #endif // SKETCHUPVIEWER
00191 };