bool PictureTest::Test(draw_func* func, BRect frame) { CleanUp(); fDirectBitmap = CreateBitmap(func, frame); TEST_AND_RETURN(fDirectBitmap == NULL, "Could not create direct draw bitmap!", false); BPicture *picture = RecordPicture(func, frame); AutoDelete<BPicture> _picture(picture); TEST_AND_RETURN(picture == NULL, "Picture could not be recorded!", false); BPicture *archivedPicture = SaveAndRestore(picture); AutoDelete<BPicture> _archivedPicture(archivedPicture); TEST_AND_RETURN(picture == NULL, "Picture could not be flattened and unflattened!", false); fBitmapFromPicture = CreateBitmap(picture, frame); TEST_AND_RETURN(fBitmapFromPicture == NULL, "Could not create bitmap from original picture!", false); fBitmapFromRestoredPicture = CreateBitmap(archivedPicture, frame); TEST_AND_RETURN(fBitmapFromRestoredPicture == NULL, "Could not create bitmap from archived picture!", false); BString reason; if (!IsSame(fDirectBitmap, fBitmapFromPicture, reason)) { BString message("Bitmap from picture differs from direct drawing bitmap: "); message += reason; SetErrorMessage(message.String()); return false; } if (!IsSame(fDirectBitmap, fBitmapFromRestoredPicture, reason)) { BString message("Bitmap from restored picture differs from direct drawing bitmap: "); message += reason; SetErrorMessage(message.String()); return false; } return true; }
Forum::Forum() : ServiceBuilding(Service::forum, object::forum, Size(2)), _d( new Impl ) { _d->taxValue = 0; _picture().load( ResourceGroup::govt, 10 ); }
Merchant::Merchant( EmpirePtr empire ) : Object( empire ), _d( new Impl ) { //default picture _picture().load( ResourceGroup::empirebits, PicID::landTradeRoute ); }