00001
00002
00003
00004
00008
00009
00010 import "oaidl.idl";
00011 import "ocidl.idl";
00012
00013
00024 [
00025 object,
00026 uuid(F84E9A80-2DED-11d5-9476-0050DA73EEF2),
00027 pointer_default(unique)
00028 ]
00029 interface IProgressCB : IUnknown
00030 {
00040 HRESULT HasBeenCancelled([out] BOOL* pVal);
00051 HRESULT SetPercentDone([in] double percent);
00064 HRESULT SetStepSize([in] double percent);
00075 HRESULT Step();
00086 HRESULT SetProgressMessage([in] BSTR msg);
00087 };
00088
00097
00098
00099
00100
00101
00102
00103
00104
00105
00106
00107
00108
00109
00110
00111
00112
00113
00114
00115
00116
00117
00118
00119
00120
00121
00122
00126 typedef [v1_enum] enum tagSkpExporterType
00127 {
00128 ExporterTypeModel3d = 0,
00129 ExporterTypeModel2d = 1,
00130 ExporterTypeHLR = 2,
00131 ExporterTypeSection = 3,
00132 ExporterTypeImage = 4
00133 } SkpExporterType;
00134
00145 [
00146 object,
00147 uuid(6B3D624E-5D17-4cf9-886A-15A55B50FD2A),
00148 pointer_default(unique)
00149 ]
00150 interface ISketchUpExporter : IUnknown
00151 {
00152
00168 [propget] HRESULT Id([out,retval] BSTR* pID);
00183 [propget] HRESULT Description([out,retval] BSTR* pDescription);
00198 [propget] HRESULT FileExtension([out,retval] BSTR* pExtension);
00222 [propget] HRESULT ExporterType([out,retval]SkpExporterType* pType);
00246 [propget] HRESULT AllowsExistingFiles([out,retval]BOOL *pAllows);
00247
00262 HRESULT DoExport([in]BSTR fileName, [in]IUnknown* activeDocument, [in] IProgressCB* pCB);
00263 }
00267 [
00268 object,
00269 uuid(9E12C1D9-6F9B-4c20-876C-A73952EE2ECC),
00270 pointer_default(unique)
00271 ]
00272 interface ISketchUpPlugin : IUnknown
00273 {
00284 HRESULT PerformAction([in]IUnknown* activeDocument);
00285
00298 [propget] HRESULT IsAvailable([out,retval]BOOL *pIsAvailable);
00299 }
00303 [
00304 object,
00305 uuid(02075616-955D-49bb-81E1-5CA98FD1B7C0),
00306 pointer_default(unique)
00307 ]
00308 interface ISketchUpExporterPlugin : ISketchUpPlugin
00309 {
00322 [propget] HRESULT Category([out,retval] BSTR* pText);
00323
00337 [propget] HRESULT MenuText([out,retval] BSTR* pText);
00338 }
00339
00348 [
00349 object,
00350 uuid(228CE3CD-EC65-4f13-93D1-E6ADA2D7F17C),
00351 pointer_default(unique)
00352 ]
00353 interface ISupportExporterOptions: IUnknown
00354 {
00366 HRESULT GetOptions([in]IUnknown* activeDocument);
00367 }
00368
00387 [
00388 object,
00389 uuid(20D2AF4B-B2F1-4a19-A515-66C4B259AB2D),
00390 pointer_default(unique)
00391 ]
00392 interface ISupportExporterValidation : IUnknown
00393 {
00407 HRESULT IsValid([in]IUnknown* activeDocument, [out,retval]BOOL* pIsValid);
00408 }
00409
00421 [
00422 object,
00423 uuid(34FB2E87-5DC4-419c-824D-3D2E4D8EF11C),
00424 pointer_default(unique)
00425 ]
00426 interface ISupportExporterVersion : IUnknown
00427 {
00438 [propget]
00439 HRESULT Version([out,retval]BSTR* pVersion);
00440 }
00441
00451 [
00452 object,
00453 uuid(180AB209-6663-40b0-85D1-380E6DEAC808),
00454 pointer_default(unique)
00455 ]
00456
00457 interface ISupportExporterAbout: IUnknown
00458 {
00474 [propget, helpstring("Does this object support its own about box?")]
00475 HRESULT SupportsAboutBox([out,retval]BOOL* pSupports);
00476
00477
00487 [helpstring("Returns S_FALSE if does not support its own About Box.")]
00488 HRESULT DoAbout();
00489
00510 [propget]
00511 HRESULT AboutString([out,retval]BSTR* pAboutString);
00512 }
00513
00563 [
00564 object,
00565 uuid(88088873-90F6-48aa-8380-F8B59AC1CA7C),
00566 pointer_default(unique)
00567 ]
00568 interface IEnumSketchUpExporter : IUnknown
00569 {
00579 [propget]
00580 HRESULT Count([out,retval]long* pCount);
00592 [propget]
00593 HRESULT Item([in]long nIndex, [out,retval]ISketchUpExporter** pExporter);
00594 }
00606 [
00607 object,
00608 uuid(533C3825-AF7D-496f-884C-70BE725F7D65),
00609 pointer_default(unique)
00610 ]
00611
00612 interface ISupportExporterSummary: IUnknown
00613 {
00617 HRESULT ShowSummary();
00618 }
00619
00638 [
00639 object,
00640 uuid(8E072B58-1EB1-48c4-AD8E-E7DE9305F7BD),
00641 pointer_default(unique)
00642 ]
00643
00644 interface ISupportExporterProgress: IUnknown
00645 {
00646 }
00656 [
00657 object,
00658 uuid(B11DE212-9342-4b91-8231-3A2889DD71AE),
00659 pointer_default(unique)
00660 ]
00661
00662 interface ISupportExporterFileSpecificOptions: IUnknown
00663 {
00671 HRESULT DoFileSpecificOptions([in]BSTR filename, [in]IUnknown* pActiveDocument);
00672 }
00673
00674
00675 [
00676 uuid(9F105B40-3358-11d5-9482-0050DA73EEF2),
00677 version(2.0),
00678 helpstring("SketchUpAddin 2.0 Type Library")
00679 ]
00680 library SketchUpAddin
00681 {
00682 interface IEnumSketchUpExporter;
00683 interface ISupportExporterAbout;
00684 interface IProgressCB;
00685 interface ISketchUpExport;
00686 interface ISketchUpExporter;
00687 interface ISupportExporterOptions;
00688 interface ISupportExporterValidation;
00689 interface ISupportExporterVersion;
00690 interface ISupportExporterSummary;
00691 interface ISupportExporterProgress;
00692 interface ISupportExporterFileSpecificOptions;
00693 interface ISketchUpPlugin;
00694 interface ISketchUpExporterPlugin;
00695 };