diff options
author | Noel Grandin <noel.grandin@collabora.co.uk> | 2020-03-20 12:09:42 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2020-03-21 10:30:07 +0100 |
commit | ad38105f45b517e09bf65a76e66517ece41fb62e (patch) | |
tree | c22546143d65369aa50fabba41112b84e50809a4 /include/drawinglayer/primitive2d | |
parent | c663d0bcc93b278f50c8f6802928a7a6154207f2 (diff) |
move headers inside modules
Change-Id: Iad5c414861eb807e6246b8a988b94d66ef5f687d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90776
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'include/drawinglayer/primitive2d')
9 files changed, 0 insertions, 818 deletions
diff --git a/include/drawinglayer/primitive2d/cropprimitive2d.hxx b/include/drawinglayer/primitive2d/cropprimitive2d.hxx deleted file mode 100644 index ba427eb6fba6..000000000000 --- a/include/drawinglayer/primitive2d/cropprimitive2d.hxx +++ /dev/null @@ -1,96 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you under the Apache - * License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.apache.org/licenses/LICENSE-2.0 . - */ - -#pragma once - -#include <drawinglayer/drawinglayerdllapi.h> -#include <drawinglayer/primitive2d/groupprimitive2d.hxx> -#include <basegfx/matrix/b2dhommatrix.hxx> - - -namespace drawinglayer -{ - namespace primitive2d - { - /** CropPrimitive2D class - - Caution: Due to old constraints (old core definitions) the - crop distances describe how the uncropped content is defined - relative to the current object size. This means that maTransformation - describes the current object size (the part of the object visible - with the crop applied). To get the original size and orientation - of the uncropped content it is necessary to calc back from the - current situation (maTransformation) using the crop values - to get to the uncropped original content. - - Thus a transformation has to be calculated which will be applied - to the already existing content to get it to the uncropped state - and then this is masked with the current state (mask polygon - created from unit polygon and maTransformation). - - At least in this primitive the units of the crop values are - already in the local coordinate system; in the core these distances - are defined relative to the object content size (PrefMapMode - and PrefSize of the content)... - - Of course this is a primitive, so feel free to just ignore all that - stuff and use the automatically generated decomposition. Sigh. - */ - class CropPrimitive2D final : public GroupPrimitive2D - { - private: - // the transformation already applied to the child geometry - basegfx::B2DHomMatrix maTransformation; - - // the crop offsets relative to the range of the unrotated content - double mfCropLeft; - double mfCropTop; - double mfCropRight; - double mfCropBottom; - - public: - /// constructor - CropPrimitive2D( - const Primitive2DContainer& rChildren, - const basegfx::B2DHomMatrix& rTransformation, - double fCropLeft, - double fCropTop, - double fCropRight, - double fCropBottom); - - /// data read access - const basegfx::B2DHomMatrix& getTransformation() const { return maTransformation; } - double getCropLeft() const { return mfCropLeft; } - double getCropTop() const { return mfCropTop; } - double getCropRight() const { return mfCropRight; } - double getCropBottom() const { return mfCropBottom; } - - /// compare operator - virtual bool operator==(const BasePrimitive2D& rPrimitive) const override; - - /// local decomposition - virtual void get2DDecomposition(Primitive2DDecompositionVisitor& rVisitor, const geometry::ViewInformation2D& rViewInformation) const override; - - /// provide unique ID - virtual sal_uInt32 getPrimitive2DID() const override; - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/include/drawinglayer/primitive2d/epsprimitive2d.hxx b/include/drawinglayer/primitive2d/epsprimitive2d.hxx deleted file mode 100644 index eb4a38678af6..000000000000 --- a/include/drawinglayer/primitive2d/epsprimitive2d.hxx +++ /dev/null @@ -1,74 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you under the Apache - * License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.apache.org/licenses/LICENSE-2.0 . - */ - -#pragma once - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/primitive2d/baseprimitive2d.hxx> -#include <basegfx/matrix/b2dhommatrix.hxx> -#include <vcl/gfxlink.hxx> -#include <vcl/gdimtf.hxx> - -namespace drawinglayer -{ - namespace primitive2d - { - /** EpsPrimitive2D class */ - class EpsPrimitive2D final : public BufferedDecompositionPrimitive2D - { - private: - /// the geometry definition - basegfx::B2DHomMatrix maEpsTransform; - - /// the Eps content definition - GfxLink maGfxLink; - - /// the replacement content definition - GDIMetaFile maMetaFile; - - /// create local decomposition - virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override; - - public: - /// constructor - EpsPrimitive2D( - const basegfx::B2DHomMatrix& rEpsTransform, - const GfxLink& rGfxLink, - const GDIMetaFile& rMetaFile); - - /// data read access - const basegfx::B2DHomMatrix& getEpsTransform() const { return maEpsTransform; } - const GfxLink& getGfxLink() const { return maGfxLink; } - const GDIMetaFile& getMetaFile() const { return maMetaFile; } - - /// compare operator - virtual bool operator==(const BasePrimitive2D& rPrimitive) const override; - - /// get B2Drange - virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const override; - - /// provide unique ID - virtual sal_uInt32 getPrimitive2DID() const override; - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/include/drawinglayer/primitive2d/fillhatchprimitive2d.hxx b/include/drawinglayer/primitive2d/fillhatchprimitive2d.hxx deleted file mode 100644 index 4b741cef44d6..000000000000 --- a/include/drawinglayer/primitive2d/fillhatchprimitive2d.hxx +++ /dev/null @@ -1,102 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you under the Apache - * License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.apache.org/licenses/LICENSE-2.0 . - */ - -#pragma once - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/primitive2d/baseprimitive2d.hxx> -#include <drawinglayer/primitive2d/primitivetools2d.hxx> -#include <drawinglayer/attribute/fillhatchattribute.hxx> -#include <basegfx/color/bcolor.hxx> - - -// FillHatchPrimitive2D class - -namespace drawinglayer -{ - namespace primitive2d - { - /** FillHatchPrimitive2D class - - This class defines a hatch filling for a rectangular area. The - Range is defined by the Transformation, the hatch by the FillHatchAttribute. - If the background is to be filled, a flag in FillHatchAttribute is set and - the BColor defines the background color. - - #i120230# This primitive is now evtl. metric dependent due to the value - MinimalDiscreteDistance in the FillHatchAttribute if the value is not zero. - This is used for a more appealing, VCL-like visualisation by not letting the - distances get too small between lines. - - The decomposition will deliver the hatch lines. - */ - class FillHatchPrimitive2D final : public DiscreteMetricDependentPrimitive2D - { - private: - /// the geometrically visible area - basegfx::B2DRange maOutputRange; - - /// the area the gradient definition is based on - /// in the simplest case identical to OutputRange - basegfx::B2DRange maDefinitionRange; - - /// the hatch definition - attribute::FillHatchAttribute maFillHatch; - - /// hatch background color (if used) - basegfx::BColor maBColor; - - /// local decomposition. - virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override; - - public: - /// constructors. The one without definition range will use output range as definition range - FillHatchPrimitive2D( - const basegfx::B2DRange& rOutputRange, - const basegfx::BColor& rBColor, - const attribute::FillHatchAttribute& rFillHatch); - FillHatchPrimitive2D( - const basegfx::B2DRange& rOutputRange, - const basegfx::B2DRange& rDefinitionRange, - const basegfx::BColor& rBColor, - const attribute::FillHatchAttribute& rFillHatch); - - /// data read access - const basegfx::B2DRange& getOutputRange() const { return maOutputRange; } - const basegfx::B2DRange& getDefinitionRange() const { return maDefinitionRange; } - const attribute::FillHatchAttribute& getFillHatch() const { return maFillHatch; } - const basegfx::BColor& getBColor() const { return maBColor; } - - /// compare operator - virtual bool operator==(const BasePrimitive2D& rPrimitive) const override; - - /// get range - virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const override; - - /// Override standard getDecomposition to be view-dependent here - virtual void get2DDecomposition(Primitive2DDecompositionVisitor& rVisitor, const geometry::ViewInformation2D& rViewInformation) const override; - - /// provide unique ID - virtual sal_uInt32 getPrimitive2DID() const override; - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/include/drawinglayer/primitive2d/graphicprimitivehelper2d.hxx b/include/drawinglayer/primitive2d/graphicprimitivehelper2d.hxx deleted file mode 100644 index cd1cc99ebf51..000000000000 --- a/include/drawinglayer/primitive2d/graphicprimitivehelper2d.hxx +++ /dev/null @@ -1,66 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you under the Apache - * License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.apache.org/licenses/LICENSE-2.0 . - */ - -#pragma once - -#include <drawinglayer/primitive2d/baseprimitive2d.hxx> -#include <vcl/GraphicObject.hxx> - - -// predefines - -class Graphic; - - -namespace drawinglayer -{ - namespace primitive2d - { - /** Helper method with supports decomposing a Graphic with all - possible contents to lower level primitives. - - #i121194# Unified to use this helper for FillGraphicPrimitive2D - and GraphicPrimitive2D at the same time. It is able to handle - Bitmaps (with the sub-categories animated bitmap, and SVG), - and Metafiles. - */ - void create2DDecompositionOfGraphic( - Primitive2DContainer& rContainer, - const Graphic& rGraphic, - const basegfx::B2DHomMatrix& rTransform); - - /** Helper to embed given sequence of primitives to evtl. a stack - of ModifiedColorPrimitive2D's to get all the needed modifications - applied. - */ - Primitive2DContainer create2DColorModifierEmbeddingsAsNeeded( - const Primitive2DContainer& rChildren, - GraphicDrawMode aGraphicDrawMode, - double fLuminance = 0.0, // [-1.0 .. 1.0] - double fContrast = 0.0, // [-1.0 .. 1.0] - double fRed = 0.0, // [-1.0 .. 1.0] - double fGreen = 0.0, // [-1.0 .. 1.0] - double fBlue = 0.0, // [-1.0 .. 1.0] - double fGamma = 1.0, // ]0.0 .. 10.0] - bool bInvert = false); - - } // end of namespace primitive2d -} // end of namespace drawinglayer - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/include/drawinglayer/primitive2d/pointarrayprimitive2d.hxx b/include/drawinglayer/primitive2d/pointarrayprimitive2d.hxx deleted file mode 100644 index e83220df1726..000000000000 --- a/include/drawinglayer/primitive2d/pointarrayprimitive2d.hxx +++ /dev/null @@ -1,79 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you under the Apache - * License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.apache.org/licenses/LICENSE-2.0 . - */ - -#pragma once - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/primitive2d/baseprimitive2d.hxx> -#include <basegfx/color/bcolor.hxx> - - -// PointArrayPrimitive2D class - -namespace drawinglayer -{ - namespace primitive2d - { - /** PointArrayPrimitive2D class - - This primitive defines single,discrete 'pixels' for the given - positions in the given color. This makes it view-dependent since - the logic size of a 'pixel' depends on the view transformation. - - This is one of the non-decomposable primitives, so a renderer - should process it (Currently it is only used for grid visualisation, - but this may change). - */ - class PointArrayPrimitive2D final : public BasePrimitive2D - { - private: - /// the array of positions - std::vector< basegfx::B2DPoint > maPositions; - - /// the color to use - basegfx::BColor maRGBColor; - - /// #i96669# add simple range buffering for this primitive - basegfx::B2DRange maB2DRange; - - public: - /// constructor - PointArrayPrimitive2D( - const std::vector< basegfx::B2DPoint >& rPositions, - const basegfx::BColor& rRGBColor); - - /// data read access - const std::vector< basegfx::B2DPoint >& getPositions() const { return maPositions; } - const basegfx::BColor& getRGBColor() const { return maRGBColor; } - - /// compare operator - virtual bool operator==(const BasePrimitive2D& rPrimitive) const override; - - /// get range - virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const override; - - /// provide unique ID - virtual sal_uInt32 getPrimitive2DID() const override; - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/include/drawinglayer/primitive2d/texteffectprimitive2d.hxx b/include/drawinglayer/primitive2d/texteffectprimitive2d.hxx deleted file mode 100644 index a39256453f17..000000000000 --- a/include/drawinglayer/primitive2d/texteffectprimitive2d.hxx +++ /dev/null @@ -1,100 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you under the Apache - * License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.apache.org/licenses/LICENSE-2.0 . - */ - -#pragma once - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/primitive2d/baseprimitive2d.hxx> -#include <basegfx/matrix/b2dhommatrix.hxx> - - -namespace drawinglayer -{ - namespace primitive2d - { - /** TextEffectStyle2D definition */ - enum class TextEffectStyle2D - { - ReliefEmbossedDefault, - ReliefEngravedDefault, - ReliefEmbossed, - ReliefEngraved, - Outline - }; - - /** TextEffectPrimitive2D class - - This primitive embeds text primitives (normally, as can be seen can - also be used for any other primitives) which have some TextEffect applied - and create the needed geometry and embedding on decomposition. - */ - class TextEffectPrimitive2D final : public BufferedDecompositionPrimitive2D - { - private: - /// the text (or other) content - Primitive2DContainer maTextContent; - - /// the style to apply, the direction and the rotation center - const basegfx::B2DPoint maRotationCenter; - double mfDirection; - TextEffectStyle2D meTextEffectStyle2D; - - /** the last used object to view transformtion used from getDecomposition - for decide buffering - */ - basegfx::B2DHomMatrix maLastObjectToViewTransformation; - - /// create local decomposition - virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override; - - public: - /// constructor - TextEffectPrimitive2D( - const Primitive2DContainer& rTextContent, - const basegfx::B2DPoint& rRotationCenter, - double fDirection, - TextEffectStyle2D eTextEffectStyle2D); - - /// data read access - const Primitive2DContainer& getTextContent() const { return maTextContent; } - const basegfx::B2DPoint& getRotationCenter() const { return maRotationCenter; } - double getDirection() const { return mfDirection; } - TextEffectStyle2D getTextEffectStyle2D() const { return meTextEffectStyle2D; } - - /// compare operator - virtual bool operator==(const BasePrimitive2D& rPrimitive) const override; - - /** own get range implementation to solve more effective. Content is by definition displaced - by a fixed discrete unit, thus the contained geometry needs only once be asked for its - own basegfx::B2DRange - */ - virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const override; - - /// provide unique ID - virtual sal_uInt32 getPrimitive2DID() const override; - - /// Override standard getDecomposition to be view-dependent here - virtual void get2DDecomposition(Primitive2DDecompositionVisitor& rVisitor, const geometry::ViewInformation2D& rViewInformation) const override; - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/include/drawinglayer/primitive2d/textlineprimitive2d.hxx b/include/drawinglayer/primitive2d/textlineprimitive2d.hxx deleted file mode 100644 index 059c69bd7ca3..000000000000 --- a/include/drawinglayer/primitive2d/textlineprimitive2d.hxx +++ /dev/null @@ -1,78 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you under the Apache - * License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.apache.org/licenses/LICENSE-2.0 . - */ - -#pragma once - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/primitive2d/baseprimitive2d.hxx> -#include <drawinglayer/primitive2d/textenumsprimitive2d.hxx> -#include <basegfx/matrix/b2dhommatrix.hxx> -#include <basegfx/color/bcolor.hxx> - - -namespace drawinglayer -{ - namespace primitive2d - { - class TextLinePrimitive2D final : public BufferedDecompositionPrimitive2D - { - private: - /// geometric definitions - basegfx::B2DHomMatrix maObjectTransformation; - double mfWidth; - double mfOffset; - double mfHeight; - - /// decoration definitions - TextLine meTextLine; - basegfx::BColor maLineColor; - - /// local decomposition. - virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override; - - public: - /// constructor - TextLinePrimitive2D( - const basegfx::B2DHomMatrix& rObjectTransformation, - double fWidth, - double fOffset, - double fHeight, - TextLine eTextLine, - const basegfx::BColor& rLineColor); - - /// data read access - const basegfx::B2DHomMatrix& getObjectTransformation() const { return maObjectTransformation; } - double getWidth() const { return mfWidth; } - double getOffset() const { return mfOffset; } - double getHeight() const { return mfHeight; } - TextLine getTextLine() const { return meTextLine; } - const basegfx::BColor& getLineColor() const { return maLineColor; } - - /// compare operator - virtual bool operator==( const BasePrimitive2D& rPrimitive ) const override; - - /// provide unique ID - virtual sal_uInt32 getPrimitive2DID() const override; - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/include/drawinglayer/primitive2d/textstrikeoutprimitive2d.hxx b/include/drawinglayer/primitive2d/textstrikeoutprimitive2d.hxx deleted file mode 100644 index 1e1e75f7ced1..000000000000 --- a/include/drawinglayer/primitive2d/textstrikeoutprimitive2d.hxx +++ /dev/null @@ -1,143 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you under the Apache - * License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.apache.org/licenses/LICENSE-2.0 . - */ - -#pragma once - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/primitive2d/baseprimitive2d.hxx> -#include <drawinglayer/primitive2d/textenumsprimitive2d.hxx> -#include <basegfx/matrix/b2dhommatrix.hxx> -#include <basegfx/color/bcolor.hxx> -#include <drawinglayer/attribute/fontattribute.hxx> -#include <com/sun/star/lang/Locale.hpp> - - -namespace drawinglayer -{ - namespace primitive2d - { - class BaseTextStrikeoutPrimitive2D : public BufferedDecompositionPrimitive2D - { - private: - /// geometric definitions - basegfx::B2DHomMatrix maObjectTransformation; - double mfWidth; - - /// decoration definitions - basegfx::BColor maFontColor; - - public: - /// constructor - BaseTextStrikeoutPrimitive2D( - const basegfx::B2DHomMatrix& rObjectTransformation, - double fWidth, - const basegfx::BColor& rFontColor); - - /// data read access - const basegfx::B2DHomMatrix& getObjectTransformation() const { return maObjectTransformation; } - double getWidth() const { return mfWidth; } - const basegfx::BColor& getFontColor() const { return maFontColor; } - - /// compare operator - virtual bool operator==( const BasePrimitive2D& rPrimitive ) const override; - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - - -namespace drawinglayer -{ - namespace primitive2d - { - class TextCharacterStrikeoutPrimitive2D final : public BaseTextStrikeoutPrimitive2D - { - private: - sal_Unicode maStrikeoutChar; - attribute::FontAttribute maFontAttribute; - css::lang::Locale maLocale; - - /// local decomposition. - virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override; - - public: - /// constructor - TextCharacterStrikeoutPrimitive2D( - const basegfx::B2DHomMatrix& rObjectTransformation, - double fWidth, - const basegfx::BColor& rFontColor, - sal_Unicode aStrikeoutChar, - const attribute::FontAttribute& rFontAttribute, - const css::lang::Locale& rLocale); - - /// data read access - sal_Unicode getStrikeoutChar() const { return maStrikeoutChar; } - const attribute::FontAttribute& getFontAttribute() const { return maFontAttribute; } - const css::lang::Locale& getLocale() const { return maLocale; } - - /// compare operator - virtual bool operator==( const BasePrimitive2D& rPrimitive ) const override; - - /// provide unique ID - virtual sal_uInt32 getPrimitive2DID() const override; - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - - -namespace drawinglayer -{ - namespace primitive2d - { - class TextGeometryStrikeoutPrimitive2D final : public BaseTextStrikeoutPrimitive2D - { - private: - double mfHeight; - double mfOffset; - TextStrikeout meTextStrikeout; - - /// local decomposition. - virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override; - - public: - /// constructor - TextGeometryStrikeoutPrimitive2D( - const basegfx::B2DHomMatrix& rObjectTransformation, - double fWidth, - const basegfx::BColor& rFontColor, - double fHeight, - double fOffset, - TextStrikeout eTextStrikeout); - - /// data read access - double getHeight() const { return mfHeight; } - double getOffset() const { return mfOffset; } - TextStrikeout getTextStrikeout() const { return meTextStrikeout; } - - /// compare operator - virtual bool operator==( const BasePrimitive2D& rPrimitive ) const override; - - /// provide unique ID - virtual sal_uInt32 getPrimitive2DID() const override; - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/include/drawinglayer/primitive2d/wallpaperprimitive2d.hxx b/include/drawinglayer/primitive2d/wallpaperprimitive2d.hxx deleted file mode 100644 index a8e4b158f30e..000000000000 --- a/include/drawinglayer/primitive2d/wallpaperprimitive2d.hxx +++ /dev/null @@ -1,80 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you under the Apache - * License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.apache.org/licenses/LICENSE-2.0 . - */ - -#pragma once - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/primitive2d/primitivetools2d.hxx> -#include <vcl/bitmapex.hxx> -#include <vcl/wall.hxx> - - -namespace drawinglayer -{ - namespace primitive2d - { - /** WallpaperBitmapPrimitive2D class - - This is a specialized primitive for the Wallpaper definitions included in - VCL and Metafiles. The extraordinary about the bitmap definition part of - the Wallpaper is that it uses PIXEL size of the given Bitmap and not - the logic and/or discrete size derived by PrefMapMode/PrefSize methods. - To emulate this, a ViewTransformation dependent primitive is needed which - takes over the correct scaling(s). - - Since a specialized primitive is needed anyways, i opted to also add the - layouting which is dependent from WallpaperStyle; thus it does not need - to be handled anywhere else in the future. - */ - class WallpaperBitmapPrimitive2D final : public ViewTransformationDependentPrimitive2D - { - private: - basegfx::B2DRange maObjectRange; - BitmapEx maBitmapEx; - WallpaperStyle meWallpaperStyle; - - /// create local decomposition - virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override; - - public: - /// constructor - WallpaperBitmapPrimitive2D( - const basegfx::B2DRange& rObjectRange, - const BitmapEx& rBitmapEx, - WallpaperStyle eWallpaperStyle); - - /// data read access - const basegfx::B2DRange& getLocalObjectRange() const { return maObjectRange; } - const BitmapEx& getBitmapEx() const { return maBitmapEx ; } - WallpaperStyle getWallpaperStyle() const { return meWallpaperStyle; } - - /// compare operator - virtual bool operator==(const BasePrimitive2D& rPrimitive) const override; - - /// get B2Drange - virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const override; - - /// provide unique ID - virtual sal_uInt32 getPrimitive2DID() const override; - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |