|
Katana Plug-in APIs 0.1
|
00001 // Copyright (c) 2016 The Foundry Visionmongers Ltd. All Rights Reserved. 00002 00003 #ifndef FNVIEWER_FNMANIPULATORHANDLESUITE_H 00004 #define FNVIEWER_FNMANIPULATORHANDLESUITE_H 00005 00006 #include <stdint.h> 00007 00008 extern "C" 00009 { 00010 typedef struct FnManipulatorHandlePluginStruct* FnManipulatorHandlePluginHandle; 00011 typedef struct FnManipulatorHandleHostStruct* FnManipulatorHandleHostHandle; 00012 00013 struct FnManipulatorPluginSuite_v1; // Forward declaration 00014 00015 #include <FnAttribute/suite/FnAttributeSuite.h> 00016 00017 #include "FnManipulatorSuite.h" 00018 00019 00020 #define FnManipulatorHandlePluginSuite_version 1 00021 #define FnManipulatorHandleHostSuite_version 1 00022 00023 struct FnManipulatorHandlePluginSuite_v1 00024 { 00025 FnManipulatorHandlePluginHandle (*create)( 00026 FnManipulatorHandleHostHandle hostHandle); 00027 00028 void (*destroy)(FnManipulatorHandlePluginHandle handle); 00029 00030 int (*event)(FnManipulatorHandlePluginHandle handle, 00031 FnAttributeHandle eventAttrHandle); 00032 00033 void (*draw)(FnManipulatorHandlePluginHandle handle); 00034 00035 void (*pickerDraw)(FnManipulatorHandlePluginHandle handle, 00036 int64_t pickerId); 00037 00038 void (*setOption)( FnManipulatorHandlePluginHandle handle, 00039 uint64_t optionId, FnAttributeHandle attr); 00040 00041 FnAttributeHandle (*getOption)( FnManipulatorHandlePluginHandle handle, 00042 uint64_t optionId); 00043 00044 void (*cancelManipulation)(FnManipulatorHandlePluginHandle handle); 00045 }; 00046 00047 struct FnManipulatorHandleHostSuite_v1 00048 { 00049 void (*getManipulator)( 00050 FnManipulatorHandleHostHandle handle, 00051 FnManipulatorHostHandle* manipulatorHostHandle, 00052 FnManipulatorPluginHandle* manipulatorPluginHandle, 00053 FnManipulatorPluginSuite_v1** manipulatorPluginSuite); 00054 00055 FnAttributeHandle (*getXform)(FnManipulatorHandleHostHandle handle); 00056 00057 void (*setLocalXform)(FnManipulatorHandleHostHandle handle, 00058 FnAttributeHandle xformAttr); 00059 00060 FnAttributeHandle (*getLocalXform)( 00061 FnManipulatorHandleHostHandle handle); 00062 00063 int (*event)(FnManipulatorHandleHostHandle handle, 00064 FnAttributeHandle eventAttrHandle); 00065 00066 void (*draw)(FnManipulatorHandleHostHandle handle); 00067 00068 void (*pickerDraw)(FnManipulatorHandleHostHandle handle, 00069 int64_t pickerId); 00070 00071 void (*setActive)(FnManipulatorHandleHostHandle handle, 00072 uint8_t active); 00073 00074 uint8_t (*isActive)(FnManipulatorHandleHostHandle handle); 00075 00076 void (*setHovered)(FnManipulatorHandleHostHandle handle, 00077 uint8_t hovered); 00078 00079 uint8_t (*isHovered)(FnManipulatorHandleHostHandle handle); 00080 00081 void (*cancelManipulation)(FnManipulatorHandleHostHandle handle); 00082 }; 00083 00084 } 00085 00086 #endif //FNVIEWER_FNMANIPULATORHANDLESUITE_H
1.7.3