diff options
author | Miklos Vajna <vmiklos@collabora.co.uk> | 2015-10-02 13:48:17 +0200 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.co.uk> | 2015-10-07 10:57:35 +0200 |
commit | e97e59a61f2d74e2cee337ee75d3cc33c0419b77 (patch) | |
tree | 96473738a698fbff1bf39ba68b03c827fe5b1ef7 | |
parent | 72852df904bf1bf3efcde20371a0414052a798d8 (diff) |
drawinglayer: add transparency support to BackgroundColorPrimitive2D
Impress has tools Color that is wrapped in this primitive, then later
drawinglayer::processor2d::VclPixelProcessor2D::processBasePrimitive2D()
converts it back to tools Color. Problem is that the primitive uses basegfx
BColor, so the alpha channel is lost.
Add member and API to survive this roundtrip.
Change-Id: I940e60f6e352022306abac3223636d19dd859355
(cherry picked from commit 9824134ab3c19aa0a00943c65a0e09c36ef23899)
-rw-r--r-- | drawinglayer/source/primitive2d/backgroundcolorprimitive2d.cxx | 6 | ||||
-rw-r--r-- | include/drawinglayer/primitive2d/backgroundcolorprimitive2d.hxx | 5 |
2 files changed, 8 insertions, 3 deletions
diff --git a/drawinglayer/source/primitive2d/backgroundcolorprimitive2d.cxx b/drawinglayer/source/primitive2d/backgroundcolorprimitive2d.cxx index 3441483a9ac4..ea10d205e2d8 100644 --- a/drawinglayer/source/primitive2d/backgroundcolorprimitive2d.cxx +++ b/drawinglayer/source/primitive2d/backgroundcolorprimitive2d.cxx @@ -50,9 +50,11 @@ namespace drawinglayer } BackgroundColorPrimitive2D::BackgroundColorPrimitive2D( - const basegfx::BColor& rBColor) + const basegfx::BColor& rBColor, + double fTransparency) : BufferedDecompositionPrimitive2D(), maBColor(rBColor), + mfTransparency(fTransparency), maLastViewport() { } @@ -63,7 +65,7 @@ namespace drawinglayer { const BackgroundColorPrimitive2D& rCompare = static_cast<const BackgroundColorPrimitive2D&>(rPrimitive); - return (getBColor() == rCompare.getBColor()); + return (getBColor() == rCompare.getBColor() && getTransparency() == rCompare.getTransparency()); } return false; diff --git a/include/drawinglayer/primitive2d/backgroundcolorprimitive2d.hxx b/include/drawinglayer/primitive2d/backgroundcolorprimitive2d.hxx index 3b789eb00bcb..def2b431c48d 100644 --- a/include/drawinglayer/primitive2d/backgroundcolorprimitive2d.hxx +++ b/include/drawinglayer/primitive2d/backgroundcolorprimitive2d.hxx @@ -48,6 +48,7 @@ namespace drawinglayer private: /// the fill color to use basegfx::BColor maBColor; + double mfTransparency; /// the last used viewInformation, used from getDecomposition for buffering basegfx::B2DRange maLastViewport; @@ -59,10 +60,12 @@ namespace drawinglayer public: /// constructor explicit BackgroundColorPrimitive2D( - const basegfx::BColor& rBColor); + const basegfx::BColor& rBColor, + double fTransparency = 0); /// data read access const basegfx::BColor& getBColor() const { return maBColor; } + double getTransparency() const { return mfTransparency; } /// compare operator virtual bool operator==(const BasePrimitive2D& rPrimitive) const SAL_OVERRIDE; |