#include #include #include #include #include #include #include #include #include HINSTANCE Main::smhInstance=0; HINSTANCE Main::smhPrevInstance=0; OwnerDraw Main::smhBitmap; int Main::smnCmdShow=0; BWindow *Main::smlpStatusBar=0; void Main::hmemcpy(UHUGE *destination,UHUGE *source,unsigned long length) { for(unsigned long count=0;count=0;srcRow--) { *(destPtr+(((long)destRow*(long)destCols)+(long)destCol))= *(srcPtr+(((long)srcRow*(long)width)+(long)srcCol)); if(destCol+1>=destCols) { destRow++; destCol=0; } else destCol++; } } ::GlobalUnlock(hGlobalDest); return hGlobalDest; } HGLOBAL Main::rotateLeft(UHUGE *srcPtr,WORD width,WORD height) { HGLOBAL hGlobalDest; UHUGE *destPtr; int srcCol; int srcRow; int destRows; int destCols; int destRow; int destCol; hGlobalDest=::GlobalAlloc(GMEM_FIXED,(long)width*(long)height); if(!hGlobalDest)return 0; destPtr=(UHUGE *)::GlobalLock(hGlobalDest); destRows=width; destCols=height; destRow=destRows-1; destCol=0; for(srcRow=0;srcRow