void __fastcall TMode::TurnBoard () { Graphics::TBitmap *pBitmap = new Graphics::TBitmap(); pBitmap->LoadFromResourceName(0,"board"); Game->Board->Left=0; Game->Board->Top=0; Game->Board->Width=pBitmap->Width; Game->Board->Height=pBitmap->Height; for(int j=0; j < pBitmap->Height; j++) Game->Board->Canvas->CopyRect(Rect(0,j,pBitmap->Width,j+1), pBitmap->Canvas,Rect(0,j,pBitmap->Width,j+1)); delete pBitmap; }
// Class functions. TPresError TGUIView::SetStyle( const char *inStyleName ) { // Load the colors and widths of view elements from a bitmap resource or file. // The rows of the bitmap represent the elements in the order given by // the TGUIElements enumeration in GUI.h. An element's width is taken // by counting the number of pixels in its row that have the same color // as the leftmost one. if( inStyleName == NULL || *inStyleName == '\0' ) return presNoError; TPresError result = presNoError; Graphics::TBitmap *bitmap = new Graphics::TBitmap(); std::string fileName( inStyleName ); for( std::string::iterator i = fileName.begin(); i != fileName.end(); ++i ) *i = toupper( *i ); fileName += ".BMP"; // Look for a bitmap resource for the style given. try { bitmap->LoadFromResourceName( ( int )HInstance, fileName.c_str() ); } catch( const EResNotFound& ) { result = presResNotFoundError; } // No resource found, look for a bitmap file in the application default path. if( result == presResNotFoundError ) { result = presNoError; try { bitmap->LoadFromFile( fileName.c_str() ); } catch( ... ) { result = presFileOpeningError; } } // No file found, look in the resource directory. if( result == presFileOpeningError ) { result = presNoError; Util::TPath curPath; fileName = curPath + fileName; try { bitmap->LoadFromFile( fileName.c_str() ); } catch( ... ) { result = presFileOpeningError; gPresErrors.AddError( result, fileName.c_str() ); } } if( result == presNoError ) { for( int i = 0; i < MIN( int( numGUIElements ), bitmap->Height ); ++i ) { TColor curColor = bitmap->Canvas->Pixels[ 0 ][ i ]; ElementColors[ i ].cl = curColor; int j = 0; while( j < bitmap->Width && bitmap->Canvas->Pixels[ j ][ i ] == curColor ) ++j; ElementWidths[ i ] = j; } } delete bitmap; return result; }