aboutsummaryrefslogtreecommitdiff
path: root/src/share/classes/sun/java2d/marlin/DStroker.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/share/classes/sun/java2d/marlin/DStroker.java')
-rw-r--r--src/share/classes/sun/java2d/marlin/DStroker.java15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/share/classes/sun/java2d/marlin/DStroker.java b/src/share/classes/sun/java2d/marlin/DStroker.java
index 5fecec848a..bd14b8fe44 100644
--- a/src/share/classes/sun/java2d/marlin/DStroker.java
+++ b/src/share/classes/sun/java2d/marlin/DStroker.java
@@ -540,7 +540,7 @@ final class DStroker implements DPathConsumer2D, MarlinConst {
// basic rejection criteria:
if (sideCode == 0) {
- // ovelap clip:
+ // overlap clip:
if (subdivide) {
// avoid reentrance
subdivide = false;
@@ -634,6 +634,9 @@ final class DStroker implements DPathConsumer2D, MarlinConst {
emitReverse();
this.prev = CLOSE;
+ this.cx0 = sx0;
+ this.cy0 = sy0;
+ this.cOutCode = sOutCode;
if (opened) {
// do not emit close
@@ -668,7 +671,9 @@ final class DStroker implements DPathConsumer2D, MarlinConst {
// i.e. if caps must be drawn or not ?
// Solution: use the ClosedPathDetector before Stroker to determine
// if the path is a closed path or not
- if (!rdrCtx.closedPath) {
+ if (rdrCtx.closedPath) {
+ emitReverse();
+ } else {
if (outcode == 0) {
// current point = end's cap:
if (capStyle == CAP_ROUND) {
@@ -693,8 +698,6 @@ final class DStroker implements DPathConsumer2D, MarlinConst {
}
}
}
- } else {
- emitReverse();
}
emitClose();
}
@@ -1058,7 +1061,7 @@ final class DStroker implements DPathConsumer2D, MarlinConst {
// basic rejection criteria:
if (sideCode == 0) {
- // ovelap clip:
+ // overlap clip:
if (subdivide) {
// avoid reentrance
subdivide = false;
@@ -1206,7 +1209,7 @@ final class DStroker implements DPathConsumer2D, MarlinConst {
// basic rejection criteria:
if (sideCode == 0) {
- // ovelap clip:
+ // overlap clip:
if (subdivide) {
// avoid reentrance
subdivide = false;