00001 00002 #include <cassert> 00003 00004 #include "Image.h" 00005 #include "RGBAColor.h" 00006 00007 00013 Image::Image(int resX, int resY) 00014 : mResX(resX), mResY(resY) 00015 { 00016 assert(resX > 0 && resY > 0); 00017 mPixels = new RGBAColor[resX*resY]; 00018 } 00019 00020 00023 Image::~Image() 00024 { 00025 delete [] mPixels; 00026 } 00027 00028 00031 const RGBAColor & Image::pixel(int x, int y) const 00032 { 00033 assert(mPixels != NULL && x >=0 && y >= 0); 00034 assert(x < mResX && y < mResY); 00035 00036 // return pixel 00037 return mPixels[y * mResX + x]; 00038 } 00039 00040 00043 void Image::setPixel(const RGBAColor & p, int x, int y) 00044 { 00045 assert(mPixels != NULL && x >=0 && y >= 0); 00046 assert(x < mResX && y < mResY); 00047 00048 // set pixel 00049 mPixels[y * mResX + x] = p; 00050 } 00051 00052