Main Page | Class Hierarchy | Class List | File List | Class Members

doubleimage.h

00001 /* 00002 * This file is part of libCP 00003 * FILE: doubleimage.h 00004 * AUTHOR: Harald Studer (hs@lexip.ch) 00005 * 00006 * 00007 * Copyright (c) 2004, The libCP project 00008 * 00009 * This program is free software; you can redistribute it and/or modify 00010 * it under the terms of the GNU Public License as published by 00011 * the Free Software Foundation; either version 2 of the License, or 00012 * (at your opinion) any later version. 00013 * 00014 * This program is distributed in the hope that it will be useful, 00015 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00016 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00017 * General Public License for more details. 00018 * 00019 * You should have received a copy of the GNU General Public License 00020 * along with this program; see the file COPYING. If not, write to 00021 * the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 00022 * Boston, MA 02111-1307, USA. 00023 */ 00024 00025 #ifndef _LIBCP_DOUBLEIMAGE_H_ 00026 #define _LIBCP_DOUBLEIMAGE_H_ 00027 00028 #include <cstdlib> 00029 #include <iostream> 00030 00031 using namespace std; 00032 00033 #include "globals.h" 00034 #include "image.h" 00035 00036 namespace LIBCP{ 00037 00043 class DoubleImage : public BaseImage 00044 { 00045 public: 00046 ~DoubleImage(); 00047 static DoubleImage* createDoubleImage( Image* img ); 00048 static DoubleImage* createDoubleImage( int width, int height, int type ); 00049 int convertToImage( Image* dst ); 00050 bool in( int x, int y ) { return ( x >= 0 && x < width() 00051 && y >= 0 && y < height() ); }; 00052 double& number( int x, int y ) { if( in( x, y ) ) 00053 return ( m_numbers[y] )[x]; }; 00054 00055 void lock() {}; 00056 void unlock() {}; 00057 00058 bool isValidPixel(int x, int y); 00059 DoubleImage& operator=( DoubleImage& i ); 00060 DoubleImage& operator*=( DoubleImage& i ); 00061 00062 private: 00063 DoubleImage( double** numbers, int widht, int height, int type ); 00064 DoubleImage( int widht, int height, int type ); 00065 00066 void newNumbers(); 00067 void deleteNumbers(); 00068 double** m_numbers; 00069 00070 };//end of class Image definition 00071 00072 DoubleImage& operator*( DoubleImage& a, DoubleImage& b ); 00073 00074 } 00075 #endif /* _LIBCP_IMAGE_H_ */

Generated on Wed May 26 16:43:53 2004 for libcp by doxygen 1.3.7