diff options
author | Luboš Luňák <l.lunak@collabora.com> | 2014-04-27 17:33:07 +0200 |
---|---|---|
committer | Luboš Luňák <l.lunak@collabora.com> | 2014-04-27 17:53:00 +0200 |
commit | a55dac47b386cd5485ba1d828316e7695c34769b (patch) | |
tree | d693b410f1be321d86d5529adccca9220b03ac42 /svx | |
parent | 37c3a1c097567de818daec1e68ef132d57bcf17a (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.cxx | 27 |
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(); } |