00001
00002 #ifndef _GK_EFFECT_H
00003 #define _GK_EFFECT_H
00004
00005 #include <string>
00006 #include <vector>
00007
00008 #include "IOResource.h"
00009 #include "TextFile.h"
00010
00011
00012 namespace gk {
00013
00014
00015
00016
00017
00018 class Effect : public IOResource
00019 {
00020 std::vector<TextFile *> m_text;
00021
00022 std::string m_last_line;
00023 std::string m_last_section;
00024 int m_line_number;
00025 char m_last_char;
00026
00027 int read_line( FILE *in );
00028 int read_section( FILE *in );
00029
00030 public:
00031
00032 Effect( );
00033
00034 Effect( const std::string& filename );
00035
00036
00037 ~Effect( );
00038
00039
00040 int read( const std::string& filename );
00041
00042
00043
00044 TextFile *find( const std::string& key ) const;
00045 };
00046
00047
00048 }
00049
00050 #endif