00001 00002 #ifndef __output_hpp__ 00003 #define __output_hpp__ 00004 00005 #include <crbn/basic/basic.h> 00006 #include <crbn/basic/vec3.hpp> 00007 00023 class Output 00024 { 00025 public: 00026 Output() { _ok = false; } 00027 virtual ~Output() {} 00028 00029 inline uint32 memory() { return _memory_used; } 00030 inline bool is_ok() { return _ok; } 00031 00032 virtual bool is_reachable( const char* name ) = 0; 00040 virtual void open( const char* name, uint32 width, uint32 height ) = 0; 00041 virtual void close() = 0; 00042 00043 virtual void write( int size, vec3* colors ) = 0; 00044 00045 virtual void fill( int size, vec3& color ) = 0; 00046 protected: 00047 uint32 _memory_used; 00048 bool _ok; 00049 }; 00050 00051 #endif // __output_hpp__