case "indexof": return METHOD;
case "distanceto": return METHOD;
case "text": return text;
- case "path": throw new JSExn("cannot read from the path property");
+ case "path":
+ if (path != null) return path.toString();
+ if (text == null) return null;
+ if (font == null) return null;
+ String ret = "";
+ for(int i=0; i<text.length(); i++) ret += font.glyphs[text.charAt(i)].path;
+ return ret;
case "fill": return Color.colorToString(fillcolor);
case "strokecolor": return Color.colorToString(strokecolor);
case "textcolor": return Color.colorToString(strokecolor);
case "shrink": CHECKSET_FLAG(HSHRINK | VSHRINK); RECONSTRAIN();
case "hshrink": CHECKSET_FLAG(HSHRINK); RECONSTRAIN();
case "vshrink": CHECKSET_FLAG(VSHRINK); RECONSTRAIN();
- case "path": path = Path.parse(toString(value)); dirty();
+ case "path": path = Path.parse(toString(value)); RECONSTRAIN(); dirty();
case "width": setWidth(toInt(value), toInt(value));
case "height": setHeight(toInt(value), toInt(value));
case "maxwidth": setWidth(minwidth, toInt(value));