1 // -*- mode: c++; c-set-style: "stroustrup"; tab-width: 4; -*-
2 //
3 // CReader.h
4 //
5 // Copyright (C) 2004 Koji Nakamaru
6 //
7 // This program is free software; you can redistribute it and/or modify
8 // it under the terms of the GNU General Public License as published by
9 // the Free Software Foundation; either version 2, or (at your option)
10 // any later version.
11 //
12 // This program is distributed in the hope that it will be useful,
13 // but WITHOUT ANY WARRANTY; without even the implied warranty of
14 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 // GNU General Public License for more details.
16 //
17 // You should have received a copy of the GNU General Public License
18 // along with this program; if not, write to the Free Software Foundation,
19 // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
20 //
21 
22 #ifndef _CReader_h_
23 #define _CReader_h_
24 
25 #include "CFile.h"
26 #include "CImage.h"
27 
28 class CReader {
29 public:
30 	const char **magic;
31 
32 	virtual ~CReader();
33 	virtual bool initialize(CFile *fp, char *magic) = 0;
34 	virtual void read(CFile *fp, CImage<float, 4> *image) = 0;
35 	int w();
36 	int h();
37 
38 protected:
39 	int _w;
40 	int _h;
41 
42 	CReader();
43 };
44 
45 // inline functions
46 
w()47 inline int CReader::w()
48 {
49 	return _w;
50 }
51 
h()52 inline int CReader::h()
53 {
54 	return _h;
55 }
56 
57 #endif
58