diff -r de3d5b6102ac -r 5e51caaeeb72 graphicsdeviceinterface/bitgdi/tbit/toutlineandshadowfonts.cpp --- a/graphicsdeviceinterface/bitgdi/tbit/toutlineandshadowfonts.cpp Tue Apr 27 17:59:32 2010 +0300 +++ b/graphicsdeviceinterface/bitgdi/tbit/toutlineandshadowfonts.cpp Tue May 11 17:25:23 2010 +0300 @@ -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); + } } }