diff -r 9c70c0a878c0 -r 77b29c7ebdbb graphicsdeviceinterface/bitgdi/tbit/toutlineandshadowfonts.cpp --- a/graphicsdeviceinterface/bitgdi/tbit/toutlineandshadowfonts.cpp Fri May 14 17:03:25 2010 +0100 +++ b/graphicsdeviceinterface/bitgdi/tbit/toutlineandshadowfonts.cpp Fri May 28 15:45:54 2010 +0100 @@ -995,6 +995,19 @@ iGc->SetBrushColor(aSettings.brushColor); iGc->SetPenColor(aSettings.penColor); iGc->SetShadowColor(aSettings.shadowColor); + + if (aSettings.backgroundColor != KRgbWhite) + { + iGc->SetDrawMode(CGraphicsContext::EDrawModeWriteAlpha); + CFbsBitmap* bgBitmap = new CFbsBitmap; + bgBitmap->Create(TSize(1, 1), EColor16MA); + bgBitmap->BeginDataAccess(); + Mem::Copy(bgBitmap->DataAddress(), &(aSettings.backgroundColor), 4); + bgBitmap->EndDataAccess(EFalse); + iGc->DrawBitmap(TRect(TPoint(0, 0), iBitmap->SizeInPixels()), bgBitmap); + delete bgBitmap; + iGc->SetDrawMode(CGraphicsContext::EDrawModePEN); + } } }