diff options
| author | Denis Declara <declara91@gmail.com> | 2012-03-26 15:59:00 +0000 |
|---|---|---|
| committer | Denis Declara <declara91@gmail.com> | 2012-03-26 15:59:00 +0000 |
| commit | 8874f80dd60361ed721554497862ce3a6fb5ea8e (patch) | |
| tree | fe114b3559c430d1a90f073a3458f4bd1c6d2285 /src/extension/internal/pdfinput/pdf-parser.cpp | |
| parent | Added anchor-selection widget, it doesn't do much at the moment, next step wi... (diff) | |
| parent | powerstroke: spiro join: more robust detection of tangent direction. fixes in... (diff) | |
| download | inkscape-8874f80dd60361ed721554497862ce3a6fb5ea8e.tar.gz inkscape-8874f80dd60361ed721554497862ce3a6fb5ea8e.zip | |
Trunk merge
(bzr r11073.1.4)
Diffstat (limited to 'src/extension/internal/pdfinput/pdf-parser.cpp')
| -rw-r--r-- | src/extension/internal/pdfinput/pdf-parser.cpp | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/src/extension/internal/pdfinput/pdf-parser.cpp b/src/extension/internal/pdfinput/pdf-parser.cpp index 3b19f925e..5347a85ac 100644 --- a/src/extension/internal/pdfinput/pdf-parser.cpp +++ b/src/extension/internal/pdfinput/pdf-parser.cpp @@ -1672,17 +1672,23 @@ void PdfParser::opShFill(Object args[], int /*numArgs*/) if (matrix != NULL) { xTemp = matrix[0]*xMin + matrix[2]*yMin + matrix[4]; yTemp = matrix[1]*xMin + matrix[3]*yMin + matrix[5]; - xMin = xTemp; - yMin = yTemp; + state->moveTo(xTemp, yTemp); + xTemp = matrix[0]*xMax + matrix[2]*yMin + matrix[4]; + yTemp = matrix[1]*xMax + matrix[3]*yMin + matrix[5]; + state->lineTo(xTemp, yTemp); xTemp = matrix[0]*xMax + matrix[2]*yMax + matrix[4]; yTemp = matrix[1]*xMax + matrix[3]*yMax + matrix[5]; - xMax = xTemp; - yMax = yTemp; + state->lineTo(xTemp, yTemp); + xTemp = matrix[0]*xMin + matrix[2]*yMax + matrix[4]; + yTemp = matrix[1]*xMin + matrix[3]*yMax + matrix[5]; + state->lineTo(xTemp, yTemp); + } + else { + state->moveTo(xMin, yMin); + state->lineTo(xMax, yMin); + state->lineTo(xMax, yMax); + state->lineTo(xMin, yMax); } - state->moveTo(xMin, yMin); - state->lineTo(xMax, yMin); - state->lineTo(xMax, yMax); - state->lineTo(xMin, yMax); state->closePath(); state->clip(); if (savedState) |
