org.apache.fop.afp.ptoca

## Class PtocaBuilder

- java.lang.Object
- - org.apache.fop.afp.ptoca.PtocaBuilder

All Implemented Interfaces:
  PtocaConstants

    public abstract class PtocaBuilder
    extends Object
    implements PtocaConstants

Generator class for PTOCA data structures.

### Field Summary

### Fields inherited from interface org.apache.fop.afp.ptoca.PtocaConstants

`AMB, AMI, CHAIN_BIT, DBR, DIR, ESCAPE, NOP, RMI, SCFL, SEC, SIA, STO, SVI, TRANSPARENT_DATA_MAX_SIZE, TRN`

### Constructor Summary

Constructors
Constructor and Description
`PtocaBuilder()`

### Method Summary

All Methods Instance Methods Abstract Methods Concrete Methods
`void` `absoluteMoveBaseline(int coordinate)` Establishes the baseline and the current presentation position at a new B-axis coordinate, which is a specified number of measurement units from the I-axis.
`void` `absoluteMoveInline(int coordinate)` Establishes the current presentation position on the baseline at a new I-axis coordinate, which is a specified number of measurement units from the B-axis.
`void` `addTransparentData(CharactersetEncoder.EncodedChars encodedChars)` The Transparent Data control sequence contains a sequence of code points that are presented without a scan for embedded control sequences.
`void` `drawBaxisRule(int length, int width)` Draws a line of specified length and specified width in the B-direction from the current presentation position.
`void` `drawIaxisRule(int length, int width)` Draws a line of specified length and specified width in the I-direction from the current presentation position.
`void` `endChainedControlSequence()` A control sequence is a sequence of bytes that specifies a control function.
`protected abstract OutputStream` `getOutputStreamForControlSequence(int length)` Returns an `OutputStream` for the next control sequence.
`void` `relativeMoveInline(int increment)` Moves the inline coordinate of the presentation position relative to the current inline position.
`void` `setCodedFont(byte font)` The Set Coded Font Local control sequence activates a coded font and specifies the character attributes to be used.
`void` `setExtendedTextColor(Color col)` The Set Extended Text Color control sequence specifies a color value and defines the color space and encoding for that value.
`void` `setInterCharacterAdjustment(int incr)` Sets the intercharacter adjustment (additional increment or decrement between graphic characters).
`void` `setTextOrientation(int orientation)` The Set Text Orientation control sequence establishes the I-direction and B-direction for the subsequent text.
`void` `setVariableSpaceCharacterIncrement(int incr)` Sets the variable space character increment.
`void` `writeIntroducer()` Writes the introducer for a chained control sequence.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### PtocaBuilder

    public PtocaBuilder()

### Method Detail

#### getOutputStreamForControlSequence

    protected abstract OutputStream getOutputStreamForControlSequence(int length)

Returns an `OutputStream` for the next control sequence. This gives a subclass a chance to do chunking of control sequences into multiple presentation text data objects.

Parameters:
  `length` - the length of the following control sequence
Returns:
  the output stream where the control sequence will be written to

#### writeIntroducer

    public void writeIntroducer()
                         throws IOException

Writes the introducer for a chained control sequence.

Throws:
  `IOException` - if an I/O error occurs

#### setCodedFont

    public void setCodedFont(byte font)
                      throws IOException

The Set Coded Font Local control sequence activates a coded font and specifies the character attributes to be used.

This is a modal control sequence.

Parameters:
  `font` - The font local identifier.
Throws:
  `IOException` - if an I/O error occurs

#### absoluteMoveInline

    public void absoluteMoveInline(int coordinate)
                            throws IOException

Establishes the current presentation position on the baseline at a new I-axis coordinate, which is a specified number of measurement units from the B-axis. There is no change to the current B-axis coordinate.

Parameters:
  `coordinate` - The coordinate for the inline move.
Throws:
  `IOException` - if an I/O error occurs

#### relativeMoveInline

    public void relativeMoveInline(int increment)
                            throws IOException

Moves the inline coordinate of the presentation position relative to the current inline position.

Parameters:
  `increment` - the increment in 1/1440 inch units
Throws:
  `IOException` - if an I/O error occurs

#### absoluteMoveBaseline

    public void absoluteMoveBaseline(int coordinate)
                              throws IOException

Establishes the baseline and the current presentation position at a new B-axis coordinate, which is a specified number of measurement units from the I-axis. There is no change to the current I-axis coordinate.

Parameters:
  `coordinate` - The coordinate for the baseline move.
Throws:
  `IOException` - if an I/O error occurs

#### addTransparentData

    public void addTransparentData(CharactersetEncoder.EncodedChars encodedChars)
                            throws IOException

The Transparent Data control sequence contains a sequence of code points that are presented without a scan for embedded control sequences. If the data is larger than fits in one chunk, additional chunks are automatically generated.

Parameters:
  `encodedChars` - The encoded text data to add.
Throws:
  `IOException` - if an I/O error occurs

#### drawBaxisRule

    public void drawBaxisRule(int length,
                              int width)
                       throws IOException

Draws a line of specified length and specified width in the B-direction from the current presentation position. The location of the current presentation position is unchanged.

Parameters:
  `length` - The length of the rule.
  `width` - The width of the rule.
Throws:
  `IOException` - if an I/O error occurs

#### drawIaxisRule

    public void drawIaxisRule(int length,
                              int width)
                       throws IOException

Draws a line of specified length and specified width in the I-direction from the current presentation position. The location of the current presentation position is unchanged.

Parameters:
  `length` - The length of the rule.
  `width` - The width of the rule.
Throws:
  `IOException` - if an I/O error occurs

#### setTextOrientation

    public void setTextOrientation(int orientation)
                            throws IOException

The Set Text Orientation control sequence establishes the I-direction and B-direction for the subsequent text. This is a modal control sequence. Semantics: This control sequence specifies the I-axis and B-axis orientations with respect to the Xp-axis for the current Presentation Text object. The orientations are rotational values expressed in degrees and minutes.

Parameters:
  `orientation` - The text orientation (0, 90, 180, 270).
Throws:
  `IOException` - if an I/O error occurs

#### setExtendedTextColor

    public void setExtendedTextColor(Color col)
                              throws IOException

The Set Extended Text Color control sequence specifies a color value and defines the color space and encoding for that value. The specified color value is applied to foreground areas of the text presentation space.

This is a modal control sequence.

Parameters:
  `col` - The color to be set.
Throws:
  `IOException` - if an I/O error occurs

#### setVariableSpaceCharacterIncrement

    public void setVariableSpaceCharacterIncrement(int incr)
                                            throws IOException

Sets the variable space character increment.

This is a modal control sequence.

Parameters:
  `incr` - The increment to be set (positive integer, 1/1440 inch)
Throws:
  `IOException` - if an I/O error occurs

#### setInterCharacterAdjustment

    public void setInterCharacterAdjustment(int incr)
                                     throws IOException

Sets the intercharacter adjustment (additional increment or decrement between graphic characters).

This is a modal control sequence.

Parameters:
  `incr` - The increment to be set (1/1440 inch)
Throws:
  `IOException` - if an I/O error occurs

#### endChainedControlSequence

    public void endChainedControlSequence()
                                   throws IOException

A control sequence is a sequence of bytes that specifies a control function. A control sequence consists of a control sequence introducer and zero or more parameters. The control sequence can extend multiple presentation text data objects, but must eventually be terminated. This method terminates the control sequence (by using a NOP command).

Throws:
  `IOException` - if an I/O error occurs