if (bv.getPositioning() == Block.ABSOLUTE) {
- currentIPPosition = 0;
- currentBPPosition = 0;
-
closeText();
- endTextObject();
+ CTM tempctm = new CTM(containingIPPosition, containingBPPosition);
+ ctm = tempctm.multiply(ctm);
+
+ float x = (float)(bv.getXOffset() + containingIPPosition) / 1000f;
+ float y = (float)(bv.getYOffset() + containingBPPosition) / 1000f;
+ float width = (float)bv.getWidth() / 1000f;
+ float height = (float)bv.getHeight() / 1000f;
+
+ drawBackAndBorders(bv, x, y, width, height);
+
+ endTextObject();
if (bv.getClip()) {
saveGraphicsState();
- float x = (float)(bv.getXOffset() + containingIPPosition) / 1000f;
- float y = (float)(bv.getYOffset() + containingBPPosition) / 1000f;
- float width = (float)bv.getWidth() / 1000f;
- float height = (float)bv.getHeight() / 1000f;
clip(x, y, width, height);
}
- CTM tempctm = new CTM(containingIPPosition, containingBPPosition);
- ctm = tempctm.multiply(ctm);
-
startVParea(ctm);
- handleBlockTraits(bv);
+
+ currentIPPosition = 0;
+ currentBPPosition = 0;
+
renderBlocks(bv, children);
endVParea();
} else {
if (ctm != null) {
- currentIPPosition = 0;
- currentBPPosition = 0;
-
closeText();
- endTextObject();
double[] vals = ctm.toArray();
//boolean aclock = vals[2] == 1.0;
if (bv.getClip()) {
if (ctm == null) {
closeText();
- endTextObject();
}
saveGraphicsState();
float x = (float)bv.getXOffset() / 1000f;
clip(x, y, width, height);
}
+ handleBlockTraits(bv);
if (ctm != null) {
+ endTextObject();
startVParea(ctm);
+ currentIPPosition = 0;
+ currentBPPosition = 0;
}
- handleBlockTraits(bv);
renderBlocks(bv, children);
if (ctm != null) {
endVParea();