|
Katana Plug-in APIs 0.1
|
00001 // Copyright (c) 2016 The Foundry Visionmongers Ltd. All Rights Reserved. 00002 00003 #ifndef FNVIEWER_FNVIEWPORTLAYERCOMPONENTSUITE_H 00004 #define FNVIEWER_FNVIEWPORTLAYERCOMPONENTSUITE_H 00005 00006 extern "C" 00007 { 00008 typedef struct FnViewerDelegateComponentPluginStruct* FnViewerDelegateComponentPluginHandle; 00009 typedef struct FnViewerDelegateComponentHostStruct* FnViewerDelegateComponentHostHandle; 00010 00011 struct FnViewerDelegatePluginSuite_v3; // Forward declaration 00012 typedef struct FnViewerLocationEventStruct FnViewerLocationEventStruct; 00013 00014 #include <FnAttribute/suite/FnAttributeSuite.h> 00015 #include <FnGeolib/suite/FnGeolibRuntimeSuite.h> 00016 00017 #include "FnViewerDelegateSuite.h" 00018 00019 #define FnViewerDelegateComponentPluginSuite_version 2 00020 #define FnViewerDelegateComponentHostSuite_version 2 00021 00022 struct FnViewerDelegateComponentPluginSuite_v2 00023 { 00024 FnViewerDelegateComponentPluginHandle (*create)( 00025 FnViewerDelegateComponentHostHandle hostHandle); 00026 00027 void (*destroy)(FnViewerDelegateComponentPluginHandle handle); 00028 00029 int (*locationEvent)(FnViewerDelegateComponentPluginHandle handle, 00030 FnViewerLocationEventStruct* event, uint8_t locationHandled); 00031 00032 void (*locationsSelected)( 00033 FnViewerDelegateComponentPluginHandle handle, 00034 const char** locationPaths, int64_t numPaths); 00035 00036 void (*setOption)( FnViewerDelegateComponentPluginHandle handle, 00037 uint64_t optionId, FnAttributeHandle attr); 00038 00039 FnAttributeHandle (*getOption)( FnViewerDelegateComponentPluginHandle handle, 00040 uint64_t optionId); 00041 00042 void(*setup)(FnViewerDelegateComponentPluginHandle handle); 00043 00044 void(*cleanup)(FnViewerDelegateComponentPluginHandle handle); 00045 00046 int (*isProcessing)(FnViewerDelegateComponentPluginHandle handle); 00047 00048 FnAttributeHandle (*getBounds)( 00049 FnViewerDelegateComponentPluginHandle handle, const char* location); 00050 FnAttributeHandle (*computeExtent)( 00051 FnViewerDelegateComponentPluginHandle handle, const char* location); 00052 }; 00053 00054 struct FnViewerDelegateComponentHostSuite_v2 00055 { 00056 void (*getViewerDelegate)(FnViewerDelegateComponentHostHandle handle, 00057 FnViewerDelegateHostHandle* delegateHostHandle, 00058 FnViewerDelegatePluginHandle* delegatePluginHandle, 00059 FnViewerDelegatePluginSuite_v3** delegatePluginSuite); 00060 00061 int (*isProcessing)(FnViewerDelegateComponentHostHandle handle); 00062 }; 00063 00064 } 00065 00066 #endif //FNVIEWER_FNVIEWPORTLAYERCOMPONENTSUITE_H
1.7.3