//-------------------------------------------------- // 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