//TODO some transforms moving painter outside of visible region
private MutableTreeNode createTransformPainterDemos() {
DefaultMutableTreeNode node = createInfoNode("Compound Painter Transform Demos", null);
Font font = new Font("SansSerif", Font.BOLD, 80);
TextPainter tp = new TextPainter("Text", font);
CompoundPainter<Object> cp = new CompoundPainter<Object>(tp);
node.add(createInfoNode("Normal Text", cp));
tp = new TextPainter("Text", font);
cp = new CompoundPainter<Object>(tp);
cp.setTransform(AffineTransform.getRotateInstance(-Math.PI * 2 / 8, 100, 100));
node.add(createInfoNode("Rotated Text", cp));
tp = new TextPainter("Text", font);
cp = new CompoundPainter<Object>(tp);
cp.setTransform(AffineTransform.getShearInstance(-0.2, 0));
node.add(createInfoNode("Sheared Text", cp));
tp = new TextPainter("Text", font);
cp = new CompoundPainter<Object>(tp);
cp.setTransform(AffineTransform.getScaleInstance(2, 2));
node.add(createInfoNode("Scaled Text", cp));
RectanglePainter rp = new RectanglePainter(30, 30, 30, 30, 30, 30,
true, Color.RED, 4f, Color.RED.darker());
tp = new TextPainter("Text", font);
cp = new CompoundPainter<Object>(rp, tp);
cp.setTransform(AffineTransform.getRotateInstance(-Math.PI * 2 / 8, 100, 100));
node.add(createInfoNode("Rotated Text w/ effects on rect", cp));
return node;