#include bool RawImage::getRawData(GlobalData &rawData)const { if(!isOkay())return false; rawData.size(mImageData.size()); ::memcpy(&rawData[0],&((RawImage&)*this).mImageData[0],mImageData.size()); return true; } bool RawImage::setRawData(const GlobalData &rawData) { if(!rawData.size())return false; mImageData.size(rawData.size()); ::memcpy(&mImageData[0],&((GlobalData&)rawData)[0],rawData.size()); return true; } bool RawImage::draw(PureDevice &displayDevice,const Point &dstPoint,const Point &srcPoint) { if(!mImageData.size())return false; return ::SetDIBitsToDevice(displayDevice,dstPoint.x(),dstPoint.y(),width(),height(),srcPoint.x(),srcPoint.y(),0,height(),&mImageData[0],(BITMAPINFO*)mBitmapInfo,DIB_RGB_COLORS); } bool RawImage::stretch(PureDevice &displayDevice,const Point &dstDim,const Point &srcPoint) { if(!mImageData.size())return false; return ::StretchDIBits(displayDevice,0,0,dstDim.x(),dstDim.y(),srcPoint.x(),srcPoint.y(),width(),height(),&mImageData[0],(BITMAPINFO*)mBitmapInfo,DIB_RGB_COLORS,SRCCOPY); } // ::SetDIBitsToDevice(displayDevice,0,0,640,480,0,0,startScanLine,pureBitmap.height(),&bitmapBytes[0],(BITMAPINFO*)bmInfo,DIB_RGB_COLORS); // ::StretchDIBits(displayDevice,0,0,windowWidth,windowHeight,0,0,pureBitmap.width(),pureBitmap.height(),&bitmapBytes[0],(BITMAPINFO*)bmInfo,DIB_RGB_COLORS,SRCCOPY);