protected void renderBlock(Block block) {
atts.clear();
addAreaAttributes(block);
addTraitAttributes(block);
if (block instanceof BlockViewport) {
BlockViewport bvp = (BlockViewport)block;
boolean abspos = false;
if (bvp.getPositioning() == Block.ABSOLUTE) {
addAttribute("positioning", "absolute");
abspos = true;
} else if (bvp.getPositioning() == Block.FIXED) {
addAttribute("positioning", "fixed");
abspos = true;
}
if (abspos) {
addAttribute("left-position", bvp.getXOffset());
addAttribute("top-position", bvp.getYOffset());
}
addAttribute("ctm", bvp.getCTM().toString());
if (bvp.getClip()) {
addAttribute("clipped", "true");
}
} else {
if (block.getPositioning() == Block.RELATIVE) {
addAttribute("positioning", "relative");