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 java.lang.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
    Modifier and Type | Method and Description
    --- | ---
    `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 java.io.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(java.awt.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 java.io.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 java.io.IOException

      Writes the introducer for a chained control sequence.
      Throws:
        `java.io.IOException` - if an I/O error occurs

    - #### setCodedFont

          public void setCodedFont(byte font)
                            throws java.io.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:
        `java.io.IOException` - if an I/O error occurs

    - #### absoluteMoveInline

          public void absoluteMoveInline(int coordinate)
                                  throws java.io.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:
        `java.io.IOException` - if an I/O error occurs

    - #### relativeMoveInline

          public void relativeMoveInline(int increment)
                                  throws java.io.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:
        `java.io.IOException` - if an I/O error occurs

    - #### absoluteMoveBaseline

          public void absoluteMoveBaseline(int coordinate)
                                    throws java.io.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:
        `java.io.IOException` - if an I/O error occurs

    - #### addTransparentData

          public void addTransparentData(CharactersetEncoder.EncodedChars encodedChars)
                                  throws java.io.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:
        `java.io.IOException` - if an I/O error occurs

    - #### drawBaxisRule

          public void drawBaxisRule(int length,
                                    int width)
                             throws java.io.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:
        `java.io.IOException` - if an I/O error occurs

    - #### drawIaxisRule

          public void drawIaxisRule(int length,
                                    int width)
                             throws java.io.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:
        `java.io.IOException` - if an I/O error occurs

    - #### setTextOrientation

          public void setTextOrientation(int orientation)
                                  throws java.io.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:
        `java.io.IOException` - if an I/O error occurs

    - #### setExtendedTextColor

          public void setExtendedTextColor(java.awt.Color col)
                                    throws java.io.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:
        `java.io.IOException` - if an I/O error occurs

    - #### setVariableSpaceCharacterIncrement

          public void setVariableSpaceCharacterIncrement(int incr)
                                                  throws java.io.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:
        `java.io.IOException` - if an I/O error occurs

    - #### setInterCharacterAdjustment

          public void setInterCharacterAdjustment(int incr)
                                           throws java.io.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:
        `java.io.IOException` - if an I/O error occurs

    - #### endChainedControlSequence

          public void endChainedControlSequence()
                                         throws java.io.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:
        `java.io.IOException` - if an I/O error occurs

Copyright 1999-2022 The Apache Software Foundation. All Rights Reserved.