# HG changeset patch # Parent 4e5a8c827dc40e7ff44064162bd9d747cd7234a0 diff -r 4e5a8c827dc4 -r 94856a22043a javafx-ui-common/src/javafx/scene/Node.java --- a/javafx-ui-common/src/javafx/scene/Node.java Mon Nov 26 12:01:58 2012 -0800 +++ b/javafx-ui-common/src/javafx/scene/Node.java Mon Nov 26 12:22:43 2012 -0800 @@ -3929,12 +3929,18 @@ } } else { // Mirror a leaf node + double xOffset = impl_getPivotX(); if (hasMirroring()) { - double xOffset = impl_getPivotX(); localToParentTx.translate(xOffset, 0, 0); localToParentTx.scale(-1, 1); localToParentTx.translate(-xOffset, 0, 0); } + Node clip = getClip(); + if (clip != null && !isAutomaticallyMirrored()) { + clip.localToParentTx.translate(xOffset, 0, 0); + clip.localToParentTx.scale(-1, 1); + clip.localToParentTx.translate(-xOffset, 0, 0); + } } transformDirty = false; diff -r 4e5a8c827dc4 -r 94856a22043a javafx-ui-controls/src/com/sun/javafx/scene/control/skin/ScrollPaneSkin.java --- a/javafx-ui-controls/src/com/sun/javafx/scene/control/skin/ScrollPaneSkin.java Mon Nov 26 12:01:58 2012 -0800 +++ b/javafx-ui-controls/src/com/sun/javafx/scene/control/skin/ScrollPaneSkin.java Mon Nov 26 12:22:43 2012 -0800 @@ -1005,9 +1005,15 @@ } private void resetClip() { +clipRect = new Rectangle(); +viewRect.setClip(clipRect); clipRect.setWidth(snapSize(contentWidth)); clipRect.setHeight(snapSize(contentHeight)); clipRect.relocate(snapPosition(getInsets().getLeft()), snapPosition(getInsets().getTop())); +// clipRect.setNodeOrientation(getSkinnable().getEffectiveNodeOrientation()); + +System.err.println(clipRect.getEffectiveNodeOrientation()); +System.err.println(clipRect.getX() + "," + clipRect.getY() + " " + clipRect.getWidth() + "x" + clipRect.getHeight()); } Timeline sbTouchTimeline; @@ -1115,6 +1121,7 @@ contentPosX = new DoublePropertyBase() { @Override protected void invalidated() { hsb.setValue(getContentPosX()); +System.err.println("contentPosX "+getContentPosX()); requestLayout(); }