/** * @see Graphics#create() */ public Graphics create() { PdfGraphics2D g2 = new PdfGraphics2D(); g2.onlyShapes = this.onlyShapes; g2.transform = new AffineTransform(this.transform); g2.baseFonts = this.baseFonts; g2.fontMapper = this.fontMapper; g2.kids = this.kids; g2.paint = this.paint; g2.background = this.background; g2.setFont(this.font); g2.stroke = this.stroke; g2.cb = new PdfContentByte(this.cb.getPdfWriter()); g2.cb.saveState(); g2.width = this.width; g2.height = this.height; g2.clip = new Area(new Rectangle2D.Float(0, 0, width, height)); g2.clip(g2.clip); g2.cb.saveState(); g2.followPath(this.clip, CLIP); g2.kid = true; lock (kids) { kids.add(g2); } return(g2); }
/** * @see Graphics#dispose() */ public void dispose() { if (kid) { return; } if (!disposeCalled) { disposeCalled = true; cb.restoreState(); cb.restoreState(); for (int k = 0; k < kids.size(); ++k) { PdfGraphics2D g2 = (PdfGraphics2D)kids.get(k); g2.cb.restoreState(); g2.cb.restoreState(); cb.add(g2.cb); } } }