summaryrefslogtreecommitdiff
path: root/canvas/source/vcl/canvashelper_texturefill.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'canvas/source/vcl/canvashelper_texturefill.cxx')
-rw-r--r--canvas/source/vcl/canvashelper_texturefill.cxx38
1 files changed, 14 insertions, 24 deletions
diff --git a/canvas/source/vcl/canvashelper_texturefill.cxx b/canvas/source/vcl/canvashelper_texturefill.cxx
index 8deaaa8b59b0..1021d33de702 100644
--- a/canvas/source/vcl/canvashelper_texturefill.cxx
+++ b/canvas/source/vcl/canvashelper_texturefill.cxx
@@ -555,8 +555,6 @@ namespace vclcanvas
const rendering::Texture& texture,
int nTransparency )
{
- (void)nTransparency;
-
// TODO(T2): It is maybe necessary to lock here, should
// maGradientPoly someday cease to be const. But then, beware of
// deadlocks, canvashelper calls this method with locked own
@@ -606,18 +604,14 @@ namespace vclcanvas
false );
rOutDev.Pop();
- if( p2ndOutDev )
+ if( p2ndOutDev && nTransparency < 253 )
{
- p2ndOutDev->Push( PUSH_CLIPREGION );
- p2ndOutDev->IntersectClipRegion( aPolygonDeviceRectOrig );
- doGradientFill( *p2ndOutDev,
- rValues,
- rColors,
- aTotalTransform,
- aPolygonDeviceRectOrig,
- nStepCount,
- false );
- p2ndOutDev->Pop();
+ // HACK. Normally, CanvasHelper does not care about
+ // actually what mp2ndOutDev is... well, here we do &
+ // assume a 1bpp target - everything beyond 97%
+ // transparency is fully transparent
+ p2ndOutDev->SetFillColor( COL_BLACK );
+ p2ndOutDev->DrawRect( aPolygonDeviceRectOrig );
}
}
else
@@ -636,18 +630,14 @@ namespace vclcanvas
false );
rOutDev.Pop();
- if( p2ndOutDev )
+ if( p2ndOutDev && nTransparency < 253 )
{
- p2ndOutDev->Push( PUSH_CLIPREGION );
- p2ndOutDev->SetClipRegion( aPolyClipRegion );
- doGradientFill( *p2ndOutDev,
- rValues,
- rColors,
- aTotalTransform,
- aPolygonDeviceRectOrig,
- nStepCount,
- false );
- p2ndOutDev->Pop();
+ // HACK. Normally, CanvasHelper does not care about
+ // actually what mp2ndOutDev is... well, here we do &
+ // assume a 1bpp target - everything beyond 97%
+ // transparency is fully transparent
+ p2ndOutDev->SetFillColor( COL_BLACK );
+ p2ndOutDev->DrawPolyPolygon( rPoly );
}
}