X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=src%2Forg%2Fxwt%2FBox.java;h=c1dfd86ac3c771fe307f320ff5055ae9c0f7515d;hb=a5b4833ce4307242eb20dd96df36d847322bf29e;hp=ba54b9c7930582314c643f75d9394b4f57336c2a;hpb=7a60de6ee0e991c71a92a2d8bdb0d4d0635ed3a7;p=org.ibex.core.git diff --git a/src/org/xwt/Box.java b/src/org/xwt/Box.java index ba54b9c..c1dfd86 100644 --- a/src/org/xwt/Box.java +++ b/src/org/xwt/Box.java @@ -325,6 +325,9 @@ public final class Box extends JSObject { // if the pad changes, update cmin if (which == pad) sync_cmin_to_children(); + // needed in the shrink case, since dmin may have been the deciding factor in calculating cmin + if ((vshrink || hshrink) && which == dmin) sync_cmin_to_children(); + // if the cmin changes, we need to be re-prerendered if (which == cmin) mark_for_prerender(); @@ -549,7 +552,7 @@ public final class Box extends JSObject { } /** Adds the intersection of (x,y,w,h) and the node's current actual geometry to the Surface's dirty list */ - final void dirty(int x, int y, int w, int h) { + public final void dirty(int x, int y, int w, int h) { for(Box cur = this; cur != null; cur = cur.getParent()) { w = min(x + w, cur.pos(0) + cur.size(0)) - max(x, cur.pos(0)); h = min(y + h, cur.pos(1) + cur.size(1)) - max(y, cur.pos(1)); @@ -969,15 +972,15 @@ public final class Box extends JSObject { if (font.lastIndexOf('d') > i) { for(int j = pos(0) + pad(0); j < pos(0) + pad(0) + textdim(0); j += 2) - buf.fillRect(j, pos(1) + pad(1) + (xwf == null ? Platform.getMaxAscent(font) : xwf.getMaxAscent()) + 3, - j + 1, pos(1) + pad(1) + (xwf == null ? Platform.getMaxAscent(font) : xwf.getMaxAscent()) + 3 + 1, + buf.fillRect(j, pos(1) + pad(1) + (xwf == null ? Platform.getMaxAscent(font) : xwf.getMaxAscent()) + 2, + j + 1, pos(1) + pad(1) + (xwf == null ? Platform.getMaxAscent(font) : xwf.getMaxAscent()) + 2 + 1, textcolor); } else if (font.lastIndexOf('u') > i) { buf.fillRect(pos(0) + pad(0), - pos(1) + pad(1) + (xwf == null ? Platform.getMaxAscent(font) : xwf.getMaxAscent()) + 3, + pos(1) + pad(1) + (xwf == null ? Platform.getMaxAscent(font) : xwf.getMaxAscent()) + 2, pos(0) + pad(0) + textdim(0), - pos(1) + pad(1) + (xwf == null ? Platform.getMaxAscent(font) : xwf.getMaxAscent()) + 3 + 1, + pos(1) + pad(1) + (xwf == null ? Platform.getMaxAscent(font) : xwf.getMaxAscent()) + 2 + 1, textcolor); }