diff -r 8b609b439da2 -r 0fecfaa711d2 graphicsdeviceinterface/bitgdi/tbit/toutlineandshadowfonts.cpp --- a/graphicsdeviceinterface/bitgdi/tbit/toutlineandshadowfonts.cpp Wed Jun 16 12:37:57 2010 +0100 +++ b/graphicsdeviceinterface/bitgdi/tbit/toutlineandshadowfonts.cpp Thu Jul 22 16:46:06 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); + } } }