com.lowagie.text.pdf
Class PdfGraphics2D

java.lang.Object
  extended by java.awt.Graphics
      extended by java.awt.Graphics2D
          extended by com.lowagie.text.pdf.PdfGraphics2D
Direct Known Subclasses:
PdfPrinterGraphics2D

public class PdfGraphics2D
extends Graphics2D


Nested Class Summary
private static class PdfGraphics2D.FakeComponent
           
static class PdfGraphics2D.HyperLinkKey
           
 
Field Summary
static int AFM_DIVISOR
           
private  float alpha
           
private  Color background
           
private  BaseFont baseFont
           
private  HashMap baseFonts
          Storage for BaseFont objects created.
private  PdfContentByte cb
           
private  Area clip
           
private static int CLIP
           
private  Composite composite
           
private  boolean convertImagesToJPEG
           
protected  int currentFillGState
           
protected  int currentStrokeGState
           
private  Graphics2D dg2
           
private  boolean disposeCalled
           
private static int FILL
           
protected  PdfGState[] fillGState
           
private  Font font
           
private  FontMapper fontMapper
           
private  float fontSize
           
private  float height
           
private static AffineTransform IDENTITY
           
private  float jpegQuality
           
private  boolean kid
           
private  ArrayList kids
           
private  MediaTracker mediaTracker
           
private  Stroke oldStroke
           
private  boolean onlyShapes
           
private  Stroke originalStroke
           
private  Paint paint
           
private  Paint paintFill
           
private  Paint paintStroke
           
private  Paint realPaint
           
private  RenderingHints rhints
           
private  Stroke stroke
           
private static int STROKE
           
protected  PdfGState[] strokeGState
           
private  BasicStroke strokeOne
           
private  AffineTransform transform
           
protected  boolean underline
           
private  float width
           
 
Constructor Summary
private PdfGraphics2D()
           
(package private) PdfGraphics2D(PdfContentByte cb, float width, float height, FontMapper fontMapper, boolean onlyShapes, boolean convertImagesToJPEG, float quality)
          Constructor for PDFGraphics2D.
 
Method Summary
 void addRenderingHints(Map hints)
           
static double asPoints(double d, int i)
          Calculates position and/or stroke thickness depending on the font size
private  boolean checkNewPaint(Paint oldPaint)
           
 void clearRect(int x, int y, int width, int height)
           
 void clip(Shape s)
           
 void clipRect(int x, int y, int width, int height)
           
 void copyArea(int x, int y, int width, int height, int dx, int dy)
           
 Graphics create()
           
 void dispose()
           
protected  void doAttributes(AttributedCharacterIterator iter)
          This routine goes through the attributes and sets the font before calling the actual string drawing routine
 void draw(Shape s)
           
 void drawArc(int x, int y, int width, int height, int startAngle, int arcAngle)
           
 void drawGlyphVector(GlyphVector g, float x, float y)
           
 void drawImage(BufferedImage img, BufferedImageOp op, int x, int y)
           
 boolean drawImage(Image img, AffineTransform xform, ImageObserver obs)
           
private  boolean drawImage(Image img, Image mask, AffineTransform xform, Color bgColor, ImageObserver obs)
           
 boolean drawImage(Image img, int x, int y, Color bgcolor, ImageObserver observer)
           
 boolean drawImage(Image img, int x, int y, ImageObserver observer)
           
 boolean drawImage(Image img, int x, int y, int width, int height, Color bgcolor, ImageObserver observer)
           
 boolean drawImage(Image img, int x, int y, int width, int height, ImageObserver observer)
           
 boolean drawImage(Image img, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2, Color bgcolor, ImageObserver observer)
           
 boolean drawImage(Image img, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2, ImageObserver observer)
           
 void drawLine(int x1, int y1, int x2, int y2)
           
 void drawOval(int x, int y, int width, int height)
           
 void drawPolygon(int[] xPoints, int[] yPoints, int nPoints)
           
 void drawPolyline(int[] x, int[] y, int nPoints)
           
 void drawRect(int x, int y, int width, int height)
           
 void drawRenderableImage(RenderableImage img, AffineTransform xform)
           
 void drawRenderedImage(RenderedImage img, AffineTransform xform)
           
 void drawRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight)
           
 void drawString(AttributedCharacterIterator iter, float x, float y)
           
 void drawString(AttributedCharacterIterator iterator, int x, int y)
           
 void drawString(String s, float x, float y)
           
 void drawString(String s, int x, int y)
           
 void fill(Shape s)
           
 void fillArc(int x, int y, int width, int height, int startAngle, int arcAngle)
           
 void fillOval(int x, int y, int width, int height)
           
 void fillPolygon(int[] xPoints, int[] yPoints, int nPoints)
           
 void fillRect(int x, int y, int width, int height)
           
 void fillRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight)
           
private  void followPath(Shape s, int drawType)
           
 Color getBackground()
           
private  BaseFont getCachedBaseFont(Font f)
           
 Shape getClip()
           
 Rectangle getClipBounds()
           
 Color getColor()
           
 Composite getComposite()
           
 PdfContentByte getContent()
           
 GraphicsConfiguration getDeviceConfiguration()
           
 Font getFont()
           
 FontMetrics getFontMetrics(Font f)
           
 FontRenderContext getFontRenderContext()
           
 Paint getPaint()
          Method contributed by Alexej Suchov
 Object getRenderingHint(RenderingHints.Key arg0)
           
 RenderingHints getRenderingHints()
           
 Stroke getStroke()
           
 AffineTransform getTransform()
           
 boolean hit(Rectangle rect, Shape s, boolean onStroke)
           
private  void internalDispose(ByteBuffer buf)
           
private  AffineTransform normalizeMatrix()
           
private  float normalizeY(float y)
           
private  void normalizeY(float[] coords)
           
 void rotate(double theta)
           
 void rotate(double theta, double x, double y)
           
 void scale(double sx, double sy)
           
 void setBackground(Color color)
           
 void setClip(int x, int y, int width, int height)
           
 void setClip(Shape s)
           
 void setColor(Color color)
           
 void setComposite(Composite comp)
          Method contributed by Alexej Suchov
private  void setFillPaint()
           
 void setFont(Font f)
          Sets the current font.
private  void setPaint(boolean invert, double xoffset, double yoffset, boolean fill)
           
 void setPaint(Paint paint)
          Method contributed by Alexej Suchov
 void setPaintMode()
           
 void setRenderingHint(RenderingHints.Key arg0, Object arg1)
          Sets a rendering hint
 void setRenderingHints(Map hints)
           
 void setStroke(Stroke s)
           
private  void setStrokeDiff(Stroke newStroke, Stroke oldStroke)
           
private  void setStrokePaint()
           
 void setTransform(AffineTransform t)
           
 void setXORMode(Color c1)
           
 void shear(double shx, double shy)
           
 void transform(AffineTransform tx)
           
private  Stroke transformStroke(Stroke stroke)
           
 void translate(double tx, double ty)
           
 void translate(int x, int y)
           
private  void waitForImage(Image image)
           
 
Methods inherited from class java.awt.Graphics2D
draw3DRect, fill3DRect
 
Methods inherited from class java.awt.Graphics
create, drawBytes, drawChars, drawPolygon, fillPolygon, finalize, getClipBounds, getClipRect, getFontMetrics, hitClip, toString
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

FILL

private static final int FILL
See Also:
Constant Field Values

STROKE

private static final int STROKE
See Also:
Constant Field Values

CLIP

private static final int CLIP
See Also:
Constant Field Values

strokeOne

private BasicStroke strokeOne

IDENTITY

private static final AffineTransform IDENTITY

font

private Font font

baseFont

private BaseFont baseFont

fontSize

private float fontSize

transform

private AffineTransform transform

paint

private Paint paint

background

private Color background

width

private float width

height

private float height

clip

private Area clip

rhints

private RenderingHints rhints

stroke

private Stroke stroke

originalStroke

private Stroke originalStroke

cb

private PdfContentByte cb

baseFonts

private HashMap baseFonts
Storage for BaseFont objects created.


disposeCalled

private boolean disposeCalled

fontMapper

private FontMapper fontMapper

kids

private ArrayList kids

kid

private boolean kid

dg2

private Graphics2D dg2

onlyShapes

private boolean onlyShapes

oldStroke

private Stroke oldStroke

paintFill

private Paint paintFill

paintStroke

private Paint paintStroke

mediaTracker

private MediaTracker mediaTracker

underline

protected boolean underline

fillGState

protected PdfGState[] fillGState

strokeGState

protected PdfGState[] strokeGState

currentFillGState

protected int currentFillGState

currentStrokeGState

protected int currentStrokeGState

AFM_DIVISOR

public static final int AFM_DIVISOR
See Also:
Constant Field Values

convertImagesToJPEG

private boolean convertImagesToJPEG

jpegQuality

private float jpegQuality

alpha

private float alpha

composite

private Composite composite

realPaint

private Paint realPaint
Constructor Detail

PdfGraphics2D

private PdfGraphics2D()

PdfGraphics2D

PdfGraphics2D(PdfContentByte cb,
              float width,
              float height,
              FontMapper fontMapper,
              boolean onlyShapes,
              boolean convertImagesToJPEG,
              float quality)
Constructor for PDFGraphics2D.

Method Detail

draw

public void draw(Shape s)
Specified by:
draw in class Graphics2D
See Also:
Graphics2D.draw(Shape)

drawImage

public boolean drawImage(Image img,
                         AffineTransform xform,
                         ImageObserver obs)
Specified by:
drawImage in class Graphics2D
See Also:
Graphics2D.drawImage(Image, AffineTransform, ImageObserver)

drawImage

public void drawImage(BufferedImage img,
                      BufferedImageOp op,
                      int x,
                      int y)
Specified by:
drawImage in class Graphics2D
See Also:
Graphics2D.drawImage(BufferedImage, BufferedImageOp, int, int)

drawRenderedImage

public void drawRenderedImage(RenderedImage img,
                              AffineTransform xform)
Specified by:
drawRenderedImage in class Graphics2D
See Also:
Graphics2D.drawRenderedImage(RenderedImage, AffineTransform)

drawRenderableImage

public void drawRenderableImage(RenderableImage img,
                                AffineTransform xform)
Specified by:
drawRenderableImage in class Graphics2D
See Also:
Graphics2D.drawRenderableImage(RenderableImage, AffineTransform)

drawString

public void drawString(String s,
                       int x,
                       int y)
Specified by:
drawString in class Graphics2D
See Also:
Graphics.drawString(String, int, int)

asPoints

public static double asPoints(double d,
                              int i)
Calculates position and/or stroke thickness depending on the font size

Parameters:
d - value to be converted
i - font size
Returns:
position and/or stroke thickness depending on the font size

doAttributes

protected void doAttributes(AttributedCharacterIterator iter)
This routine goes through the attributes and sets the font before calling the actual string drawing routine

Parameters:
iter -

drawString

public void drawString(String s,
                       float x,
                       float y)
Specified by:
drawString in class Graphics2D
See Also:
Graphics2D.drawString(String, float, float)

drawString

public void drawString(AttributedCharacterIterator iterator,
                       int x,
                       int y)
Specified by:
drawString in class Graphics2D
See Also:
Graphics.drawString(AttributedCharacterIterator, int, int)

drawString

public void drawString(AttributedCharacterIterator iter,
                       float x,
                       float y)
Specified by:
drawString in class Graphics2D
See Also:
Graphics2D.drawString(AttributedCharacterIterator, float, float)

drawGlyphVector

public void drawGlyphVector(GlyphVector g,
                            float x,
                            float y)
Specified by:
drawGlyphVector in class Graphics2D
See Also:
Graphics2D.drawGlyphVector(GlyphVector, float, float)

fill

public void fill(Shape s)
Specified by:
fill in class Graphics2D
See Also:
Graphics2D.fill(Shape)

hit

public boolean hit(Rectangle rect,
                   Shape s,
                   boolean onStroke)
Specified by:
hit in class Graphics2D
See Also:
Graphics2D.hit(Rectangle, Shape, boolean)

getDeviceConfiguration

public GraphicsConfiguration getDeviceConfiguration()
Specified by:
getDeviceConfiguration in class Graphics2D
See Also:
Graphics2D.getDeviceConfiguration()

setComposite

public void setComposite(Composite comp)
Method contributed by Alexej Suchov

Specified by:
setComposite in class Graphics2D
See Also:
Graphics2D.setComposite(Composite)

setPaint

public void setPaint(Paint paint)
Method contributed by Alexej Suchov

Specified by:
setPaint in class Graphics2D
See Also:
Graphics2D.setPaint(Paint)

transformStroke

private Stroke transformStroke(Stroke stroke)

setStrokeDiff

private void setStrokeDiff(Stroke newStroke,
                           Stroke oldStroke)

setStroke

public void setStroke(Stroke s)
Specified by:
setStroke in class Graphics2D
See Also:
Graphics2D.setStroke(Stroke)

setRenderingHint

public void setRenderingHint(RenderingHints.Key arg0,
                             Object arg1)
Sets a rendering hint

Specified by:
setRenderingHint in class Graphics2D
Parameters:
arg0 -
arg1 -

getRenderingHint

public Object getRenderingHint(RenderingHints.Key arg0)
Specified by:
getRenderingHint in class Graphics2D
Parameters:
arg0 - a key
Returns:
the rendering hint

setRenderingHints

public void setRenderingHints(Map hints)
Specified by:
setRenderingHints in class Graphics2D
See Also:
Graphics2D.setRenderingHints(Map)

addRenderingHints

public void addRenderingHints(Map hints)
Specified by:
addRenderingHints in class Graphics2D
See Also:
Graphics2D.addRenderingHints(Map)

getRenderingHints

public RenderingHints getRenderingHints()
Specified by:
getRenderingHints in class Graphics2D
See Also:
Graphics2D.getRenderingHints()

translate

public void translate(int x,
                      int y)
Specified by:
translate in class Graphics2D
See Also:
Graphics.translate(int, int)

translate

public void translate(double tx,
                      double ty)
Specified by:
translate in class Graphics2D
See Also:
Graphics2D.translate(double, double)

rotate

public void rotate(double theta)
Specified by:
rotate in class Graphics2D
See Also:
Graphics2D.rotate(double)

rotate

public void rotate(double theta,
                   double x,
                   double y)
Specified by:
rotate in class Graphics2D
See Also:
Graphics2D.rotate(double, double, double)

scale

public void scale(double sx,
                  double sy)
Specified by:
scale in class Graphics2D
See Also:
Graphics2D.scale(double, double)

shear

public void shear(double shx,
                  double shy)
Specified by:
shear in class Graphics2D
See Also:
Graphics2D.shear(double, double)

transform

public void transform(AffineTransform tx)
Specified by:
transform in class Graphics2D
See Also:
Graphics2D.transform(AffineTransform)

setTransform

public void setTransform(AffineTransform t)
Specified by:
setTransform in class Graphics2D
See Also:
Graphics2D.setTransform(AffineTransform)

getTransform

public AffineTransform getTransform()
Specified by:
getTransform in class Graphics2D
See Also:
Graphics2D.getTransform()

getPaint

public Paint getPaint()
Method contributed by Alexej Suchov

Specified by:
getPaint in class Graphics2D
See Also:
Graphics2D.getPaint()

getComposite

public Composite getComposite()
Specified by:
getComposite in class Graphics2D
See Also:
Graphics2D.getComposite()

setBackground

public void setBackground(Color color)
Specified by:
setBackground in class Graphics2D
See Also:
Graphics2D.setBackground(Color)

getBackground

public Color getBackground()
Specified by:
getBackground in class Graphics2D
See Also:
Graphics2D.getBackground()

getStroke

public Stroke getStroke()
Specified by:
getStroke in class Graphics2D
See Also:
Graphics2D.getStroke()

getFontRenderContext

public FontRenderContext getFontRenderContext()
Specified by:
getFontRenderContext in class Graphics2D
See Also:
Graphics2D.getFontRenderContext()

create

public Graphics create()
Specified by:
create in class Graphics
See Also:
Graphics.create()

getContent

public PdfContentByte getContent()

getColor

public Color getColor()
Specified by:
getColor in class Graphics
See Also:
Graphics.getColor()

setColor

public void setColor(Color color)
Specified by:
setColor in class Graphics
See Also:
Graphics.setColor(Color)

setPaintMode

public void setPaintMode()
Specified by:
setPaintMode in class Graphics
See Also:
Graphics.setPaintMode()

setXORMode

public void setXORMode(Color c1)
Specified by:
setXORMode in class Graphics
See Also:
Graphics.setXORMode(Color)

getFont

public Font getFont()
Specified by:
getFont in class Graphics
See Also:
Graphics.getFont()

setFont

public void setFont(Font f)
Sets the current font.

Specified by:
setFont in class Graphics

getCachedBaseFont

private BaseFont getCachedBaseFont(Font f)

getFontMetrics

public FontMetrics getFontMetrics(Font f)
Specified by:
getFontMetrics in class Graphics
See Also:
Graphics.getFontMetrics(Font)

getClipBounds

public Rectangle getClipBounds()
Specified by:
getClipBounds in class Graphics
See Also:
Graphics.getClipBounds()

clipRect

public void clipRect(int x,
                     int y,
                     int width,
                     int height)
Specified by:
clipRect in class Graphics
See Also:
Graphics.clipRect(int, int, int, int)

setClip

public void setClip(int x,
                    int y,
                    int width,
                    int height)
Specified by:
setClip in class Graphics
See Also:
Graphics.setClip(int, int, int, int)

clip

public void clip(Shape s)
Specified by:
clip in class Graphics2D
See Also:
Graphics2D.clip(Shape)

getClip

public Shape getClip()
Specified by:
getClip in class Graphics
See Also:
Graphics.getClip()

setClip

public void setClip(Shape s)
Specified by:
setClip in class Graphics
See Also:
Graphics.setClip(Shape)

copyArea

public void copyArea(int x,
                     int y,
                     int width,
                     int height,
                     int dx,
                     int dy)
Specified by:
copyArea in class Graphics
See Also:
Graphics.copyArea(int, int, int, int, int, int)

drawLine

public void drawLine(int x1,
                     int y1,
                     int x2,
                     int y2)
Specified by:
drawLine in class Graphics
See Also:
Graphics.drawLine(int, int, int, int)

drawRect

public void drawRect(int x,
                     int y,
                     int width,
                     int height)
Overrides:
drawRect in class Graphics
See Also:
Graphics.fillRect(int, int, int, int)

fillRect

public void fillRect(int x,
                     int y,
                     int width,
                     int height)
Specified by:
fillRect in class Graphics
See Also:
Graphics.fillRect(int, int, int, int)

clearRect

public void clearRect(int x,
                      int y,
                      int width,
                      int height)
Specified by:
clearRect in class Graphics
See Also:
Graphics.clearRect(int, int, int, int)

drawRoundRect

public void drawRoundRect(int x,
                          int y,
                          int width,
                          int height,
                          int arcWidth,
                          int arcHeight)
Specified by:
drawRoundRect in class Graphics
See Also:
Graphics.drawRoundRect(int, int, int, int, int, int)

fillRoundRect

public void fillRoundRect(int x,
                          int y,
                          int width,
                          int height,
                          int arcWidth,
                          int arcHeight)
Specified by:
fillRoundRect in class Graphics
See Also:
Graphics.fillRoundRect(int, int, int, int, int, int)

drawOval

public void drawOval(int x,
                     int y,
                     int width,
                     int height)
Specified by:
drawOval in class Graphics
See Also:
Graphics.drawOval(int, int, int, int)

fillOval

public void fillOval(int x,
                     int y,
                     int width,
                     int height)
Specified by:
fillOval in class Graphics
See Also:
Graphics.fillOval(int, int, int, int)

drawArc

public void drawArc(int x,
                    int y,
                    int width,
                    int height,
                    int startAngle,
                    int arcAngle)
Specified by:
drawArc in class Graphics
See Also:
Graphics.drawArc(int, int, int, int, int, int)

fillArc

public void fillArc(int x,
                    int y,
                    int width,
                    int height,
                    int startAngle,
                    int arcAngle)
Specified by:
fillArc in class Graphics
See Also:
Graphics.fillArc(int, int, int, int, int, int)

drawPolyline

public void drawPolyline(int[] x,
                         int[] y,
                         int nPoints)
Specified by:
drawPolyline in class Graphics
See Also:
Graphics.drawPolyline(int[], int[], int)

drawPolygon

public void drawPolygon(int[] xPoints,
                        int[] yPoints,
                        int nPoints)
Specified by:
drawPolygon in class Graphics
See Also:
Graphics.drawPolygon(int[], int[], int)

fillPolygon

public void fillPolygon(int[] xPoints,
                        int[] yPoints,
                        int nPoints)
Specified by:
fillPolygon in class Graphics
See Also:
Graphics.fillPolygon(int[], int[], int)

drawImage

public boolean drawImage(Image img,
                         int x,
                         int y,
                         ImageObserver observer)
Specified by:
drawImage in class Graphics
See Also:
Graphics.drawImage(Image, int, int, ImageObserver)

drawImage

public boolean drawImage(Image img,
                         int x,
                         int y,
                         int width,
                         int height,
                         ImageObserver observer)
Specified by:
drawImage in class Graphics
See Also:
Graphics.drawImage(Image, int, int, int, int, ImageObserver)

drawImage

public boolean drawImage(Image img,
                         int x,
                         int y,
                         Color bgcolor,
                         ImageObserver observer)
Specified by:
drawImage in class Graphics
See Also:
Graphics.drawImage(Image, int, int, Color, ImageObserver)

drawImage

public boolean drawImage(Image img,
                         int x,
                         int y,
                         int width,
                         int height,
                         Color bgcolor,
                         ImageObserver observer)
Specified by:
drawImage in class Graphics
See Also:
Graphics.drawImage(Image, int, int, int, int, Color, ImageObserver)

drawImage

public boolean drawImage(Image img,
                         int dx1,
                         int dy1,
                         int dx2,
                         int dy2,
                         int sx1,
                         int sy1,
                         int sx2,
                         int sy2,
                         ImageObserver observer)
Specified by:
drawImage in class Graphics
See Also:
Graphics.drawImage(Image, int, int, int, int, int, int, int, int, ImageObserver)

drawImage

public boolean drawImage(Image img,
                         int dx1,
                         int dy1,
                         int dx2,
                         int dy2,
                         int sx1,
                         int sy1,
                         int sx2,
                         int sy2,
                         Color bgcolor,
                         ImageObserver observer)
Specified by:
drawImage in class Graphics
See Also:
Graphics.drawImage(Image, int, int, int, int, int, int, int, int, Color, ImageObserver)

dispose

public void dispose()
Specified by:
dispose in class Graphics
See Also:
Graphics.dispose()

internalDispose

private void internalDispose(ByteBuffer buf)

followPath

private void followPath(Shape s,
                        int drawType)

normalizeY

private float normalizeY(float y)

normalizeY

private void normalizeY(float[] coords)

normalizeMatrix

private AffineTransform normalizeMatrix()

drawImage

private boolean drawImage(Image img,
                          Image mask,
                          AffineTransform xform,
                          Color bgColor,
                          ImageObserver obs)

checkNewPaint

private boolean checkNewPaint(Paint oldPaint)

setFillPaint

private void setFillPaint()

setStrokePaint

private void setStrokePaint()

setPaint

private void setPaint(boolean invert,
                      double xoffset,
                      double yoffset,
                      boolean fill)

waitForImage

private void waitForImage(Image image)

Hosted by Hostbasket