LibreOffice Module drawinglayer (master)
1
include
drawinglayer
primitive2d
shadowprimitive2d.hxx
Go to the documentation of this file.
1
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2
/*
3
* This file is part of the LibreOffice project.
4
*
5
* This Source Code Form is subject to the terms of the Mozilla Public
6
* License, v. 2.0. If a copy of the MPL was not distributed with this
7
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
8
*
9
* This file incorporates work covered by the following license notice:
10
*
11
* Licensed to the Apache Software Foundation (ASF) under one or more
12
* contributor license agreements. See the NOTICE file distributed
13
* with this work for additional information regarding copyright
14
* ownership. The ASF licenses this file to you under the Apache
15
* License, Version 2.0 (the "License"); you may not use this file
16
* except in compliance with the License. You may obtain a copy of
17
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
18
*/
19
20
#pragma once
21
22
#include <
drawinglayer/drawinglayerdllapi.h
>
23
24
#include <
drawinglayer/primitive2d/BufferedDecompositionGroupPrimitive2D.hxx
>
25
#include <
basegfx/color/bcolor.hxx
>
26
27
namespace
drawinglayer::primitive2d
28
{
43
class
DRAWINGLAYER_DLLPUBLIC
ShadowPrimitive2D
final :
public
BufferedDecompositionGroupPrimitive2D
44
{
45
private
:
47
basegfx::B2DHomMatrix
maShadowTransform
;
48
50
basegfx::BColor
maShadowColor
;
51
53
double
mfShadowBlur
;
54
56
double
mfLastDiscreteBlurRadius
;
57
basegfx::B2DRange
maLastClippedRange
;
58
60
void
getFullyEmbeddedShadowPrimitives(
Primitive2DContainer
& rContainer)
const
;
61
bool
prepareValuesAndcheckValidity(
basegfx::B2DRange
& rRange,
basegfx::B2DRange
& rClippedRange,
62
basegfx::B2DVector
& rDiscreteSize,
63
double
& rfDiscreteBlurRadius,
64
const
geometry::ViewInformation2D
& rViewInformation)
const
;
65
66
protected
:
68
virtual
void
69
create2DDecomposition(
Primitive2DContainer
& rContainer,
70
const
geometry::ViewInformation2D
& rViewInformation)
const override
;
71
72
public
:
74
ShadowPrimitive2D
(
basegfx::B2DHomMatrix
aShadowTransform,
const
basegfx::BColor
& rShadowColor,
75
double
fShadowBlur,
Primitive2DContainer
&& aChildren);
76
78
const
basegfx::B2DHomMatrix
&
getShadowTransform
()
const
{
return
maShadowTransform; }
79
const
basegfx::BColor
&
getShadowColor
()
const
{
return
maShadowColor
; }
80
double
getShadowBlur
()
const
{
return
mfShadowBlur; }
81
83
virtual
bool
operator==
(
const
BasePrimitive2D
& rPrimitive)
const override
;
84
86
virtual
basegfx::B2DRange
87
getB2DRange(
const
geometry::ViewInformation2D
& rViewInformation)
const override
;
88
90
virtual
void
91
get2DDecomposition(
Primitive2DDecompositionVisitor
& rVisitor,
92
const
geometry::ViewInformation2D
& rViewInformation)
const override
;
93
95
virtual
sal_uInt32 getPrimitive2DID()
const override
;
96
};
97
}
// end of namespace drawinglayer::primitive2d
98
99
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
BufferedDecompositionGroupPrimitive2D.hxx
bcolor.hxx
basegfx::B2DHomMatrix
basegfx::B2DRange
basegfx::B2DVector
basegfx::BColor
drawinglayer::geometry::ViewInformation2D
ViewInformation2D class.
Definition:
viewinformation2d.hxx:64
drawinglayer::primitive2d::BasePrimitive2D
BasePrimitive2D class.
Definition:
baseprimitive2d.hxx:121
drawinglayer::primitive2d::BufferedDecompositionGroupPrimitive2D
BufferedDecompositionGroupPrimitive2D class.
Definition:
BufferedDecompositionGroupPrimitive2D.hxx:36
drawinglayer::primitive2d::Primitive2DContainer
Definition:
Primitive2DContainer.hxx:41
drawinglayer::primitive2d::Primitive2DDecompositionVisitor
Definition:
Primitive2DVisitor.hxx:31
drawinglayer::primitive2d::ShadowPrimitive2D
ShadowPrimitive2D class.
Definition:
shadowprimitive2d.hxx:44
drawinglayer::primitive2d::ShadowPrimitive2D::getShadowColor
const basegfx::BColor & getShadowColor() const
Definition:
shadowprimitive2d.hxx:79
drawinglayer::primitive2d::ShadowPrimitive2D::maLastClippedRange
basegfx::B2DRange maLastClippedRange
Definition:
shadowprimitive2d.hxx:57
drawinglayer::primitive2d::ShadowPrimitive2D::mfShadowBlur
double mfShadowBlur
the blur radius of the shadow
Definition:
shadowprimitive2d.hxx:53
drawinglayer::primitive2d::ShadowPrimitive2D::getShadowBlur
double getShadowBlur() const
Definition:
shadowprimitive2d.hxx:80
drawinglayer::primitive2d::ShadowPrimitive2D::maShadowColor
basegfx::BColor maShadowColor
the shadow color to which all geometry is to be forced
Definition:
shadowprimitive2d.hxx:50
drawinglayer::primitive2d::ShadowPrimitive2D::maShadowTransform
basegfx::B2DHomMatrix maShadowTransform
the shadow transformation, normally just an offset
Definition:
shadowprimitive2d.hxx:47
drawinglayer::primitive2d::ShadowPrimitive2D::getShadowTransform
const basegfx::B2DHomMatrix & getShadowTransform() const
data read access
Definition:
shadowprimitive2d.hxx:78
drawinglayer::primitive2d::ShadowPrimitive2D::mfLastDiscreteBlurRadius
double mfLastDiscreteBlurRadius
last used DiscreteBlurRadius and ClippedRange
Definition:
shadowprimitive2d.hxx:56
drawinglayerdllapi.h
DRAWINGLAYER_DLLPUBLIC
#define DRAWINGLAYER_DLLPUBLIC
Definition:
drawinglayerdllapi.h:18
drawinglayer::primitive2d
maShadowColor
const ::Color maShadowColor
operator==
bool operator==(const XclFontData &rLeft, const XclFontData &rRight)
Generated on Sun Jul 30 2023 04:42:56 for LibreOffice Module drawinglayer (master) by
1.9.3