com.lowagie.text.pdf
Class PdfLine

java.lang.Object
  extended bycom.lowagie.text.pdf.PdfLine

public class PdfLine
extends Object

PdfLine defines an array with PdfChunk-objects that fit into 1 line.


Field Summary
protected  int alignment
          The alignment of the line.
protected  float height
          The heigth of the line.
protected  boolean isRTL
           
protected  float left
          The left indentation of the line.
protected  ArrayList line
          The arraylist containing the chunks.
protected  Chunk listSymbol
          The listsymbol (if necessary).
protected  boolean newlineSplit
          true if the chunk splitting was caused by a newline.
protected  float originalWidth
          The original width.
protected  float symbolIndent
          The listsymbol (if necessary).
protected  float width
          The width of the line.
 
Constructor Summary
(package private) PdfLine(float left, float remainingWidth, int alignment, boolean newlineSplit, ArrayList line, boolean isRTL)
           
(package private) PdfLine(float left, float right, int alignment, float height)
          Constructs a new PdfLine-object.
 
Method Summary
(package private)  PdfChunk add(PdfChunk chunk)
          Adds a PdfChunk to the PdfLine.
 float getAscender()
          Gets the maximum size of the ascender for all the fonts used in this line.
 PdfChunk getChunk(int idx)
          Gets a PdfChunk by index.
 float getDescender()
          Gets the biggest descender for all the fonts used in this line.
 int getLastStrokeChunk()
          Gets the index of the last PdfChunk with metric attributes
(package private)  float getMaxSize()
          Gets the maximum size of all the fonts used in this line including images (if there are images in the line and if the leading has to be changed).
(package private)  float getMaxSizeSimple()
          Gets the maximum size of all the fonts used in this line including images.
 float getOriginalWidth()
          Gets the original width of the line.
 float getWidthCorrected(float charSpacing, float wordSpacing)
          Gets a width corrected with a charSpacing and wordSpacing.
 boolean hasToBeJustified()
          Checks if this line has to be justified.
(package private)  float height()
          Returns the height of the line.
(package private)  float indentLeft()
          Returns the left indentation of the line taking the alignment of the line into account.
 boolean isNewlineSplit()
          Checks if a newline caused the line split.
(package private)  boolean isRTL()
           
 Iterator iterator()
          Returns an iterator of PdfChunks.
 float listIndent()
          Return the indentation needed to show the listsymbol.
 Chunk listSymbol()
          Returns the listsymbol of this line.
(package private)  int numberOfSpaces()
          Returns the number of space-characters in this line.
 void resetAlignment()
          Resets the alignment of this line.
 void setListItem(ListItem listItem)
          Sets the listsymbol of this line.
 int size()
          Returns the number of chunks in the line.
 String toString()
          Get the string representation of what is in this line.
(package private)  float widthLeft()
          Returns the width that is left, after a maximum of characters is added to the line.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

line

protected ArrayList line
The arraylist containing the chunks.


left

protected float left
The left indentation of the line.


width

protected float width
The width of the line.


alignment

protected int alignment
The alignment of the line.


height

protected float height
The heigth of the line.


listSymbol

protected Chunk listSymbol
The listsymbol (if necessary).


symbolIndent

protected float symbolIndent
The listsymbol (if necessary).


newlineSplit

protected boolean newlineSplit
true if the chunk splitting was caused by a newline.


originalWidth

protected float originalWidth
The original width.


isRTL

protected boolean isRTL
Constructor Detail

PdfLine

PdfLine(float left,
        float right,
        int alignment,
        float height)
Constructs a new PdfLine-object.

Parameters:
left - the limit of the line at the left
right - the limit of the line at the right
alignment - the alignment of the line
height - the height of the line

PdfLine

PdfLine(float left,
        float remainingWidth,
        int alignment,
        boolean newlineSplit,
        ArrayList line,
        boolean isRTL)
Method Detail

add

PdfChunk add(PdfChunk chunk)
Adds a PdfChunk to the PdfLine.

Parameters:
chunk - the PdfChunk to add
Returns:
null if the chunk could be added completely; if not a PdfChunk containing the part of the chunk that could not be added is returned

size

public int size()
Returns the number of chunks in the line.

Returns:
a value

iterator

public Iterator iterator()
Returns an iterator of PdfChunks.

Returns:
an Iterator

height

float height()
Returns the height of the line.

Returns:
a value

indentLeft

float indentLeft()
Returns the left indentation of the line taking the alignment of the line into account.

Returns:
a value

hasToBeJustified

public boolean hasToBeJustified()
Checks if this line has to be justified.

Returns:
true if the alignment equals ALIGN_JUSTIFIED and there is some width left.

resetAlignment

public void resetAlignment()
Resets the alignment of this line.

The alignment of the last line of for instance a Paragraph that has to be justified, has to be reset to ALIGN_LEFT.


widthLeft

float widthLeft()
Returns the width that is left, after a maximum of characters is added to the line.

Returns:
a value

numberOfSpaces

int numberOfSpaces()
Returns the number of space-characters in this line.

Returns:
a value

setListItem

public void setListItem(ListItem listItem)
Sets the listsymbol of this line.

This is only necessary for the first line of a ListItem.

Parameters:
listItem - the list symbol

listSymbol

public Chunk listSymbol()
Returns the listsymbol of this line.

Returns:
a PdfChunk if the line has a listsymbol; null otherwise

listIndent

public float listIndent()
Return the indentation needed to show the listsymbol.

Returns:
a value

toString

public String toString()
Get the string representation of what is in this line.

Returns:
a String

isNewlineSplit

public boolean isNewlineSplit()
Checks if a newline caused the line split.

Returns:
true if a newline caused the line split

getLastStrokeChunk

public int getLastStrokeChunk()
Gets the index of the last PdfChunk with metric attributes

Returns:
the last PdfChunk with metric attributes

getChunk

public PdfChunk getChunk(int idx)
Gets a PdfChunk by index.

Parameters:
idx - the index
Returns:
the PdfChunk or null if beyond the array

getOriginalWidth

public float getOriginalWidth()
Gets the original width of the line.

Returns:
the original width of the line

getMaxSize

float getMaxSize()
Gets the maximum size of all the fonts used in this line including images (if there are images in the line and if the leading has to be changed).

Returns:
maximum size of all the fonts used in this line

getMaxSizeSimple

float getMaxSizeSimple()
Gets the maximum size of all the fonts used in this line including images.

Returns:
maximum size of all the fonts used in this line

isRTL

boolean isRTL()

getWidthCorrected

public float getWidthCorrected(float charSpacing,
                               float wordSpacing)
Gets a width corrected with a charSpacing and wordSpacing.

Parameters:
charSpacing -
wordSpacing -
Returns:
a corrected width

getAscender

public float getAscender()
Gets the maximum size of the ascender for all the fonts used in this line.

Returns:
maximum size of all the ascenders used in this line

getDescender

public float getDescender()
Gets the biggest descender for all the fonts used in this line. Note that this is a negative number.

Returns:
maximum size of all the ascenders used in this line