summaryrefslogtreecommitdiff
path: root/cppcanvas/source/mtfrenderer/implrenderer.cxx
diff options
context:
space:
mode:
authorAndre Fischer <andre.f.fischer <Andre Fischer<andre.f.fischer@oracle.com>2011-01-13 16:25:57 +0100
committerAndre Fischer <andre.f.fischer <Andre Fischer<andre.f.fischer@oracle.com>2011-01-13 16:25:57 +0100
commit846c70417e1aecc56a6ee1504c2c160e633d0754 (patch)
tree4b60e116e8493842729e40fa1271359f2d3f8369 /cppcanvas/source/mtfrenderer/implrenderer.cxx
parent3d3105c8d406f1b90b10c40bd0c07602cd989291 (diff)
calc65: #i116318# Fixed the painting of axial gradients.
Diffstat (limited to 'cppcanvas/source/mtfrenderer/implrenderer.cxx')
-rw-r--r--cppcanvas/source/mtfrenderer/implrenderer.cxx17
1 files changed, 15 insertions, 2 deletions
diff --git a/cppcanvas/source/mtfrenderer/implrenderer.cxx b/cppcanvas/source/mtfrenderer/implrenderer.cxx
index 1423cd42ed93..592aa6e41ba9 100644
--- a/cppcanvas/source/mtfrenderer/implrenderer.cxx
+++ b/cppcanvas/source/mtfrenderer/implrenderer.cxx
@@ -682,10 +682,23 @@ namespace cppcanvas
case GRADIENT_AXIAL:
{
- basegfx::tools::createLinearODFGradientInfo(aGradInfo,
+ // Adapt the border so that it is suitable
+ // for the axial gradient. An axial
+ // gradient consists of two linear
+ // gradients. Each of those covers half
+ // of the total size. In order to
+ // compensate for the condensed display of
+ // the linear gradients, we have to
+ // enlarge the area taken up by the actual
+ // gradient (1-fBorder). After that we
+ // have to turn the result back into a
+ // border value, hence the second (left
+ // most 1-...
+ const double fAxialBorder (1-2*(1-fBorder));
+ basegfx::tools::createAxialODFGradientInfo(aGradInfo,
aBounds,
nSteps,
- fBorder,
+ fAxialBorder,
fRotation);
// map odf to svg gradient orientation - x
// instead of y direction