diff -uNr old/cppcanvas/source/mtfrenderer/implrenderer.cxx new/cppcanvas/source/mtfrenderer/implrenderer.cxx --- old/cppcanvas/source/mtfrenderer/implrenderer.cxx 2007-07-10 16:32:12.000000000 +0800 +++ new/cppcanvas/source/mtfrenderer/implrenderer.cxx 2007-07-10 16:43:08.026534000 +0800 @@ -2089,10 +2089,18 @@ case META_BMPSCALE_ACTION: { MetaBmpScaleAction* pAct = static_cast(pCurrAct); + BitmapEx aBitmap = pAct->GetBitmap(); + long nY = ( pAct->GetSize()).Height(); + + if ( nY < 0 ) + { + aBitmap.Mirror( BMP_MIRROR_VERT ); + } ActionSharedPtr pBmpAction( internal::BitmapActionFactory::createBitmapAction( - pAct->GetBitmap(), + //pAct->GetBitmap(), + aBitmap, rVDev.LogicToPixel( pAct->GetPoint() ), rVDev.LogicToPixel( pAct->GetSize() ), rCanvas,