summaryrefslogtreecommitdiff
path: root/include/drawinglayer/texture/texture.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'include/drawinglayer/texture/texture.hxx')
-rw-r--r--include/drawinglayer/texture/texture.hxx52
1 files changed, 34 insertions, 18 deletions
diff --git a/include/drawinglayer/texture/texture.hxx b/include/drawinglayer/texture/texture.hxx
index 0fa666d19411..daa0348103a3 100644
--- a/include/drawinglayer/texture/texture.hxx
+++ b/include/drawinglayer/texture/texture.hxx
@@ -76,14 +76,14 @@ namespace drawinglayer
{
protected:
basegfx::ODFGradientInfo maGradientInfo;
- basegfx::B2DRange maTargetRange;
+ basegfx::B2DRange maDefinitionRange;
basegfx::BColor maStart;
basegfx::BColor maEnd;
double mfBorder;
public:
GeoTexSvxGradient(
- const basegfx::B2DRange& rTargetRange,
+ const basegfx::B2DRange& rDefinitionRange,
const basegfx::BColor& rStart,
const basegfx::BColor& rEnd,
sal_uInt32 nSteps,
@@ -96,7 +96,7 @@ namespace drawinglayer
// virtual base methods
virtual void appendTransformationsAndColors(
std::vector< B2DHomMatrixAndBColor >& rEntries,
- basegfx::BColor& rOutmostColor) = 0;
+ basegfx::BColor& rOuterColor) = 0;
// data access
const basegfx::BColor& getStart() const { return maStart; }
@@ -113,9 +113,15 @@ namespace drawinglayer
{
class DRAWINGLAYER_DLLPUBLIC GeoTexSvxGradientLinear : public GeoTexSvxGradient
{
+ protected:
+ double mfUnitMinX;
+ double mfUnitWidth;
+ double mfUnitMaxY;
+
public:
GeoTexSvxGradientLinear(
- const basegfx::B2DRange& rTargetRange,
+ const basegfx::B2DRange& rDefinitionRange,
+ const basegfx::B2DRange& rOutputRange,
const basegfx::BColor& rStart,
const basegfx::BColor& rEnd,
sal_uInt32 nSteps,
@@ -125,7 +131,7 @@ namespace drawinglayer
virtual void appendTransformationsAndColors(
std::vector< B2DHomMatrixAndBColor >& rEntries,
- basegfx::BColor& rOutmostColor) SAL_OVERRIDE;
+ basegfx::BColor& rOuterColor) SAL_OVERRIDE;
virtual void modifyBColor(const basegfx::B2DPoint& rUV, basegfx::BColor& rBColor, double& rfOpacity) const SAL_OVERRIDE;
};
} // end of namespace texture
@@ -139,9 +145,14 @@ namespace drawinglayer
{
class DRAWINGLAYER_DLLPUBLIC GeoTexSvxGradientAxial : public GeoTexSvxGradient
{
+ protected:
+ double mfUnitMinX;
+ double mfUnitWidth;
+
public:
GeoTexSvxGradientAxial(
- const basegfx::B2DRange& rTargetRange,
+ const basegfx::B2DRange& rDefinitionRange,
+ const basegfx::B2DRange& rOutputRange,
const basegfx::BColor& rStart,
const basegfx::BColor& rEnd,
sal_uInt32 nSteps,
@@ -151,7 +162,7 @@ namespace drawinglayer
virtual void appendTransformationsAndColors(
std::vector< B2DHomMatrixAndBColor >& rEntries,
- basegfx::BColor& rOutmostColor) SAL_OVERRIDE;
+ basegfx::BColor& rOuterColor) SAL_OVERRIDE;
virtual void modifyBColor(const basegfx::B2DPoint& rUV, basegfx::BColor& rBColor, double& rfOpacity) const SAL_OVERRIDE;
};
} // end of namespace texture
@@ -167,7 +178,7 @@ namespace drawinglayer
{
public:
GeoTexSvxGradientRadial(
- const basegfx::B2DRange& rTargetRange,
+ const basegfx::B2DRange& rDefinitionRange,
const basegfx::BColor& rStart,
const basegfx::BColor& rEnd,
sal_uInt32 nSteps,
@@ -178,7 +189,7 @@ namespace drawinglayer
virtual void appendTransformationsAndColors(
std::vector< B2DHomMatrixAndBColor >& rEntries,
- basegfx::BColor& rOutmostColor) SAL_OVERRIDE;
+ basegfx::BColor& rOuterColor) SAL_OVERRIDE;
virtual void modifyBColor(const basegfx::B2DPoint& rUV, basegfx::BColor& rBColor, double& rfOpacity) const SAL_OVERRIDE;
};
} // end of namespace texture
@@ -194,7 +205,7 @@ namespace drawinglayer
{
public:
GeoTexSvxGradientElliptical(
- const basegfx::B2DRange& rTargetRange,
+ const basegfx::B2DRange& rDefinitionRange,
const basegfx::BColor& rStart,
const basegfx::BColor& rEnd,
sal_uInt32 nSteps,
@@ -206,7 +217,7 @@ namespace drawinglayer
virtual void appendTransformationsAndColors(
std::vector< B2DHomMatrixAndBColor >& rEntries,
- basegfx::BColor& rOutmostColor) SAL_OVERRIDE;
+ basegfx::BColor& rOuterColor) SAL_OVERRIDE;
virtual void modifyBColor(const basegfx::B2DPoint& rUV, basegfx::BColor& rBColor, double& rfOpacity) const SAL_OVERRIDE;
};
} // end of namespace texture
@@ -222,7 +233,7 @@ namespace drawinglayer
{
public:
GeoTexSvxGradientSquare(
- const basegfx::B2DRange& rTargetRange,
+ const basegfx::B2DRange& rDefinitionRange,
const basegfx::BColor& rStart,
const basegfx::BColor& rEnd,
sal_uInt32 nSteps,
@@ -234,7 +245,7 @@ namespace drawinglayer
virtual void appendTransformationsAndColors(
std::vector< B2DHomMatrixAndBColor >& rEntries,
- basegfx::BColor& rOutmostColor) SAL_OVERRIDE;
+ basegfx::BColor& rOuterColor) SAL_OVERRIDE;
virtual void modifyBColor(const basegfx::B2DPoint& rUV, basegfx::BColor& rBColor, double& rfOpacity) const SAL_OVERRIDE;
};
} // end of namespace texture
@@ -250,7 +261,7 @@ namespace drawinglayer
{
public:
GeoTexSvxGradientRect(
- const basegfx::B2DRange& rTargetRange,
+ const basegfx::B2DRange& rDefinitionRange,
const basegfx::BColor& rStart,
const basegfx::BColor& rEnd,
sal_uInt32 nSteps,
@@ -262,7 +273,7 @@ namespace drawinglayer
virtual void appendTransformationsAndColors(
std::vector< B2DHomMatrixAndBColor >& rEntries,
- basegfx::BColor& rOutmostColor) SAL_OVERRIDE;
+ basegfx::BColor& rOuterColor) SAL_OVERRIDE;
virtual void modifyBColor(const basegfx::B2DPoint& rUV, basegfx::BColor& rBColor, double& rfOpacity) const SAL_OVERRIDE;
};
} // end of namespace texture
@@ -277,15 +288,20 @@ namespace drawinglayer
class DRAWINGLAYER_DLLPUBLIC GeoTexSvxHatch : public GeoTexSvx
{
protected:
+ basegfx::B2DRange maOutputRange;
basegfx::B2DHomMatrix maTextureTransform;
basegfx::B2DHomMatrix maBackTextureTransform;
double mfDistance;
double mfAngle;
sal_uInt32 mnSteps;
+ /// bitfield
+ bool mbDefinitionRangeEqualsOutputRange : 1;
+
public:
GeoTexSvxHatch(
- const basegfx::B2DRange& rTargetRange,
+ const basegfx::B2DRange& rDefinitionRange,
+ const basegfx::B2DRange& rOutputRange,
double fDistance,
double fAngle);
virtual ~GeoTexSvxHatch();
@@ -293,7 +309,7 @@ namespace drawinglayer
// compare operator
virtual bool operator==(const GeoTexSvx& rGeoTexSvx) const SAL_OVERRIDE;
- virtual void appendTransformations(::std::vector< basegfx::B2DHomMatrix >& rMatrices);
+ void appendTransformations(::std::vector< basegfx::B2DHomMatrix >& rMatrices);
double getDistanceToHatch(const basegfx::B2DPoint& rUV) const;
const basegfx::B2DHomMatrix& getBackTextureTransform() const;
};
@@ -332,7 +348,7 @@ namespace drawinglayer
// compare operator
virtual bool operator==(const GeoTexSvx& rGeoTexSvx) const SAL_OVERRIDE;
- virtual void appendTransformations(::std::vector< basegfx::B2DHomMatrix >& rMatrices);
+ void appendTransformations(::std::vector< basegfx::B2DHomMatrix >& rMatrices);
};
} // end of namespace texture
} // end of namespace drawinglayer