summaryrefslogtreecommitdiff
path: root/svx
diff options
context:
space:
mode:
authorLuboš Luňák <l.lunak@collabora.com>2014-04-27 17:33:07 +0200
committerLuboš Luňák <l.lunak@collabora.com>2014-04-27 17:53:00 +0200
commita55dac47b386cd5485ba1d828316e7695c34769b (patch)
treed693b410f1be321d86d5529adccca9220b03ac42 /svx
parent37c3a1c097567de818daec1e68ef132d57bcf17a (diff)
fix drawing of 100% transparent frames (fdo#77723)
Without this, the 100% transparent frame is actually drawn opaque. Change-Id: Ibaaeead7fe2379d48ea9680719a082e322b7b0c9
Diffstat (limited to 'svx')
-rw-r--r--svx/source/sdr/primitive2d/sdrattributecreator.cxx27
1 files changed, 20 insertions, 7 deletions
diff --git a/svx/source/sdr/primitive2d/sdrattributecreator.cxx b/svx/source/sdr/primitive2d/sdrattributecreator.cxx
index ea4bbb9ed2c3..4726d06bcc85 100644
--- a/svx/source/sdr/primitive2d/sdrattributecreator.cxx
+++ b/svx/source/sdr/primitive2d/sdrattributecreator.cxx
@@ -383,15 +383,15 @@ namespace drawinglayer
{
const XFillStyle eStyle(((XFillStyleItem&)(rSet.Get(XATTR_FILLSTYLE))).GetValue());
- if(XFILL_NONE != eStyle)
- {
- sal_uInt16 nTransparence(((const XFillTransparenceItem&)(rSet.Get(XATTR_FILLTRANSPARENCE))).GetValue());
+ sal_uInt16 nTransparence(((const XFillTransparenceItem&)(rSet.Get(XATTR_FILLTRANSPARENCE))).GetValue());
- if(nTransparence > 100)
- {
- nTransparence = 100;
- }
+ if(nTransparence > 100)
+ {
+ nTransparence = 100;
+ }
+ if(XFILL_NONE != eStyle)
+ {
if(100 != nTransparence)
{
// need to check XFillFloatTransparence, object fill may still be completely transparent
@@ -494,6 +494,19 @@ namespace drawinglayer
}
}
+ if(nTransparence == 100)
+ {
+ attribute::FillGradientAttribute aGradient;
+ attribute::FillHatchAttribute aHatch;
+ attribute::SdrFillGraphicAttribute aFillGraphic;
+ return attribute::SdrFillAttribute(
+ 1,
+ basegfx::BColor( 0, 0, 0 ),
+ aGradient,
+ aHatch,
+ aFillGraphic);
+ }
+
return attribute::SdrFillAttribute();
}