#if 0 Point xyPoint; GDIPoint gdiPoint; getDimensions(guiWindow,gdiPoint); for(int index=0;index &ptrThumbNail=mThumbNails[index]; if(xyPoint.x()+ptrThumbNail->width()>=guiWindow.width()) { xyPoint.x(0); xyPoint.y(xyPoint.y()+ptrThumbNail->height()+Separator); } ptrThumbNail->draw(pureDevice,xyPoint); xyPoint.x(xyPoint.x()+ptrThumbNail->width()+Separator); } #endif // cursorControl.waitCursor(TRUE); // setTitle(strPathDirectory); // getDirectoryFileNames(strPathDirectory,strPathFileNames); // int usage; // for(int index=0;index3)break; // } // cursorControl.waitCursor(FALSE); // pureDevice.colorRect(Rect(xyPoint.x()+1,xyPoint.y()+1,(xyPoint.x()+width())-2,(xyPoint.y()+height())-2),getFillColor()); // String strCaption; // String strString; // windowText(strCaption); // strString=strCaption; // strCaption=strCaption.betweenString(0,' '); // if(strCaption.isNull())strCaption=strString; /// strCaption+=String(" - [")+strTitle+String("]"); // setCaption(strCaption); #if 0 if(mMediaPak.entries()) { GlobalData pakData; PakEntry pakEntry; for(int index=0;index rawData; PakEntry pakEntry; String strPathFileName(strPathDirectory+String("\\")+strPathFileNames[index]); mThumbPage.insert(strPathFileName,pureDevice); mThumbPage[mThumbPage.entries()-1].getRawData(rawData); pakEntry.type(PakEntry::Blob); pakEntry.name(strPathFileNames[index]); pakEntry.id(mMediaPak.entries()); pakEntry.rawData(rawData); mMediaPak.add(pakEntry); } } #endif // merge(mMediaPak,strPathFileNames,strPathDirectory,pureDevice); // for(int index=0;index &rawData=pakEntry.rawData(); int span=0; int maxSpan=0; int numSpans=0; int totalSpans=0; int avgSpans; BYTE currByte; for(int index=0;indexmaxSpan)maxSpan=span; totalSpans+=span; span=0; currByte=rawData[index]; numSpans++; } } } avgSpans=totalSpans/numSpans; } analyze(pakEntry); void BrowseView::analyze(PakEntry &pakEntry) { GlobalData &rawData=pakEntry.rawData(); int span=0; int maxSpan=0; int numSpans=0; int totalSpans=0; int avgSpans; BYTE currByte; for(int index=0;indexmaxSpan)maxSpan=span; totalSpans+=span; span=0; currByte=rawData[index]; numSpans++; } } } avgSpans=totalSpans/numSpans; } #ifndef _BROWSE_IMAGERAW_HPP_ #define _BROWSE_IMAGERAW_HPP_ class DIB24Raw { public: DIB24Raw(void); DIB24Raw(const DIB24Raw &someDIB24Raw); DIB24Raw &operator=(const DIB24Raw &someDIB24Raw); BitmapInfo &getBitmapInfo(void); void setBitmapInfo(const BitmapInfo &someBitmapInfo); Array &getRGBArray(void); void setRGBArray(Array &someRGBArray); private: BitmapInfo mBitmapInfo; Array mRGBArray; }; bool getRawData(GlobalData &rawData); bool setRawData(GlobalData &rawData,PureDevice &pureDevice); RGB888 getAt(DWORD row,DWORD col)const; private: JPGImage(const JPGImage &someJPGImage); JPGImage &operator=(const JPGImage &someJPGImage); void verifyDimensions(BitmapInfo &someBitmapInfo); void destroy(void); HBITMAP mhBitmap; BitmapInfo mBitmapInfo; Array mRGBArray; #endif #include String strPathFileName("d:\\download\\altbin~1.den.pak"); String strString; MediaPak mediaPak; PakEntry pakEntry; DWORD elapsedTime; DWORD entries; mediaPak.open(strPathFileName,MediaPak::OpenAlways); entries=mediaPak.entries(); if(!entries)return 0; elapsedTime=::GetTickCount(); for(int index=0;indexwidth()>=mDIB24.width()||xyPoint.y()+ptrThumbNail->height()>=mDIB24.height())break; bool ThumbPage::createBitmap(GUIWindow &guiWindow) { PureDevice pureDevice(guiWindow); // PureDevice compatibleDevice; GDIPoint gdiPoint; if(!mThumbNails.size()||!guiWindow.isValid())return false; if(!getDimensions(guiWindow,gdiPoint))return false; mDIB24.create(gdiPoint.x(),-gdiPoint.y(),pureDevice); mDIB24.setBits(BkColorBits); // compatibleDevice.compatibleDevice(pureDevice); // compatibleDevice.select(mDIB24.getBitmap()); drawThumbNails(compatibleDevice,guiWindow); isDirty(false); return mDIB24.isOkay(); } bool DIB24::setAt(DWORD row,DWORD col,JPGImage &jpgImage) { DWORD srcWidth; DWORD srcHeight; DWORD dstWidth; DWORD dstHeight; RGB888 rgb888; if(!isOkay())return false; srcWidth=jpgImage.width(); srcHeight=jpgImage.height(); dstWidth=mBitmapInfo.width(); dstHeight=mBitmapInfo.height()<0?-mBitmapInfo.height():mBitmapInfo.height(); for(int srcRow=0,dstRow=row;srcRow