1 // -*- mode: c++; c-set-style: "stroustrup"; tab-width: 4; -*-
2 //
3 // CReaderPFM.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 _CReaderPFM_h_
23 #define _CReaderPFM_h_
24 
25 #include "CReader.h"
26 
27 class CReaderPFM : public CReader {
28 public:
29 	CReaderPFM();
30 	virtual ~CReaderPFM();
31 	virtual bool initialize(CFile *fp, char *magic);
32 	virtual void read(CFile *fp, CImage<float, 4> *image);
33 
34 protected:
35 	bool _is_color;
36 	float _scale;
37 	bool _is_swapped;
38 
39 	void swap4(float *f);
40 };
41 
42 #endif
43