src/macosx/classes/sun/lwawt/LWComponentPeer.java
Print this page
*** 461,499 ****
}
private void applyConstrain(final Graphics g) {
final SunGraphics2D sg2d = (SunGraphics2D) g;
! final Rectangle constr = localToWindow(getSize());
! // translate and set rectangle constrain.
! sg2d.constrain(constr.x, constr.y, constr.width, constr.height);
! // set region constrain.
! //sg2d.constrain(getVisibleRegion());
! SG2DConstraint(sg2d, getVisibleRegion());
! }
!
! //TODO Move this method to SG2D?
! void SG2DConstraint(final SunGraphics2D sg2d, Region r) {
! sg2d.constrainX = sg2d.transX;
! sg2d.constrainY = sg2d.transY;
!
! Region c = sg2d.constrainClip;
! if ((sg2d.constrainX | sg2d.constrainY) != 0) {
! r = r.getTranslatedRegion(sg2d.constrainX, sg2d.constrainY);
! }
! if (c == null) {
! c = r;
! } else {
! c = c.getIntersection(r);
! if (c == sg2d.constrainClip) {
! // Common case to ignore
! return;
! }
! }
! sg2d.constrainClip = c;
! //validateCompClip() forced call.
! sg2d.setDevClip(r.getLoX(), r.getLoY(), r.getWidth(), r.getHeight());
}
public Region getVisibleRegion() {
return computeVisibleRect(this, getRegion());
}
--- 461,472 ----
}
private void applyConstrain(final Graphics g) {
final SunGraphics2D sg2d = (SunGraphics2D) g;
! final Rectangle size = localToWindow(getSize());
! sg2d.constrain(size.x, size.y, size.width, size.height, getVisibleRegion());
}
public Region getVisibleRegion() {
return computeVisibleRect(this, getRegion());
}