Katana Plug-in APIs 0.1

FnResolutionTableSuite.h

00001 // Copyright (c) 2013 The Foundry Visionmongers Ltd. All Rights Reserved.
00002 
00003 #ifndef FnResolutionTableSuite_H
00004 #define FnResolutionTableSuite_H
00005 
00006 #include <stdint.h>
00007 
00008 #include <FnAttribute/suite/FnAttributeSuite.h>
00009 
00010 extern "C" {
00011 
00012 #define FnResolutionTableHostSuite_version 1
00013 
00014 typedef struct FnResolutionTableEntryStruct * FnResolutionTableEntryHandle;
00015 typedef struct FnResolutionTableEntryListStruct * FnResolutionTableEntryListHandle;
00016 
00019 struct FnResolutionTableHostSuite_v1
00020 {
00021     // ResolutionTable
00022     uint8_t (*hasResolution)(const char *name);
00023     FnResolutionTableEntryHandle (*getResolution)(const char *name);
00024     FnResolutionTableEntryHandle (*findResolution)(const int32_t xres,
00025             const int32_t yres, const float aspectRatio);
00026     FnAttributeHandle (*extractValidResolutionName)(const char *str);
00027     FnAttributeHandle (*getGroups)();
00028     FnResolutionTableEntryListHandle (*getEntries)();
00029     FnResolutionTableEntryListHandle (*getEntriesForGroup)(const char *group);
00030 
00031     // ResolutionTableEntry
00032     const char * (*entryName)(FnResolutionTableEntryHandle handle);
00033     int32_t (*entryXres)(FnResolutionTableEntryHandle handle);
00034     int32_t (*entryYres)(FnResolutionTableEntryHandle handle);
00035     float (*entryAspectRatio)(FnResolutionTableEntryHandle handle);
00036     const char * (*entryFullName)(FnResolutionTableEntryHandle handle);
00037     const char * (*entryProxyName)(FnResolutionTableEntryHandle handle);
00038     const char * (*entryGroupName)(FnResolutionTableEntryHandle handle);
00039     void (*releaseEntry)(FnResolutionTableEntryHandle handle);
00040 
00041     // ResolutionTableEntryList
00042     int64_t (*entryListNumEntries)(FnResolutionTableEntryListHandle handle);
00043     FnResolutionTableEntryHandle (*entryListEntry)(
00044             FnResolutionTableEntryListHandle handle, int64_t index);
00045     void (*releaseEntryList)(FnResolutionTableEntryListHandle handle);
00046 };
00047 
00048 }
00049 #endif // FnResolutionTableSuite_H
 All Classes Functions Variables Typedefs Enumerations Enumerator