//--------------------------------------------------
// Panoramic is an interface for the visualization of panoramas capable of
// handling wide fields of view, based on Möbius transformations.
// Copyright (C) 2015 Luis Peñaranda, Luiz Velho and Leonardo Sacht.
//
// This program is free software: you can redistribute it and/or modify it
// under the terms of the GNU General Public License as published by the
// Free Software Foundation, either version 3 of the License, or (at your
// option) any later version.
//
// This program is distributed in the hope that it will be useful, but
// WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// General Public License for more details.
//
// You should have received a copy of the GNU General Public License along
// with this program. If not, see .
//--------------------------------------------------
#ifndef IMAGE_READ_H
#define IMAGE_READ_H
#include
#include
#include
#ifndef _MSC_VER
extern "C" {
#include
#include
#include
}
#ifndef _MSC_VER
#define PROGNAME "pano_interface"
#endif
#endif
enum FileType{
JPEG,
PNG,
PNM,
UNKNOWN
};
class FileRead{
private:
static enum FileType get_file_type(const char*);
protected:
static unsigned char *read_image(const char*,int*,int*);
static const char *image_types;
private:
static unsigned char *jpgRead(const char*,int*,int*);
static unsigned char *pngRead(const char*,int*,int*);
#ifndef _MSC_VER
static unsigned char *pnmRead(const char * const,const char*,int*,int*);
#endif
};
#endif // IMAGE_READ_H