1 #include <iostream> 2 3 #include "imagesource_histogram.h" 4 5 using namespace std; 6 ImageSource_Histogram(ImageSource * source,ISHistogram & histogram)7ImageSource_Histogram::ImageSource_Histogram(ImageSource *source,ISHistogram &histogram) 8 : ImageSource(source), source(source), histogram(histogram) 9 { 10 currentrow=-1; 11 histogram.SetHistogramType(source->samplesperpixel,source->type); 12 } 13 14 ~ImageSource_Histogram()15ImageSource_Histogram::~ImageSource_Histogram() 16 { 17 if(source) 18 delete(source); 19 } 20 21 GetRow(int row)22ISDataType *ImageSource_Histogram::GetRow(int row) 23 { 24 ISDataType *srcdata=source->GetRow(row); 25 if(row!=currentrow) 26 { 27 histogram.Record(srcdata,source->width); 28 // Build histogram 29 } 30 currentrow=row; 31 return(srcdata); 32 } 33 34 35