00001 /* 00002 * PROPRIETARY INFORMATION. This software is proprietary to 00003 * Side Effects Software Inc., and is not to be reproduced, 00004 * transmitted, or disclosed in any way without written permission. 00005 * 00006 * Produced by: 00007 * Jeff Lait 00008 * Side Effects Software Inc 00009 * 477 Richmond Street West 00010 * Toronto, Ontario 00011 * Canada M5V 3E7 00012 * 416-504-9876 00013 * 00014 * NAME: GR_RenderTable.h ( GR Library, C++) 00015 * 00016 * COMMENTS: This holds the table of all active render hooks. 00017 */ 00018 00019 #ifndef __GR_RenderTable__ 00020 #define __GR_RenderTable__ 00021 00022 #include "GR_API.h" 00023 #include <UT/UT_SymbolTable.h> 00024 #include <UT/UT_PtrArray.h> 00025 00026 class GR_RenderHook; 00027 00028 class GR_API GR_RenderTable 00029 { 00030 public: 00031 GR_RenderTable(); 00032 virtual ~GR_RenderTable(); 00033 00034 // The responsibility to delete a hook resides with this. 00035 void addHook(GR_RenderHook *hook); 00036 00037 // Query the hooks currently present in the table. 00038 int getNumHooks() const; 00039 GR_RenderHook *getHook(int i) const; 00040 00041 protected: 00042 UT_PtrArray<GR_RenderHook *> myHooks; 00043 UT_SymbolTable myHookLUT; 00044 }; 00045 00046 #endif 00047
1.5.9