Katana Plug-in APIs 0.1

FnViewerDelegateComponentSuite.h

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
 All Classes Functions Variables Typedefs Enumerations Enumerator