Class TXTState


  • public class TXTState
    extends java.lang.Object
    This keeps information about the current state when writing to txt, i.e. manages coordinate transformation matrices for getting absolute coordinates.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private CTM resultCTM
      Current result coordinate transformation matrix.
      private java.util.LinkedList stackCTM
      Keeps all coordinate transformation matrices during rendering.
    • Constructor Summary

      Constructors 
      Constructor Description
      TXTState()
      Constructs a newly allocated TXTState object.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      private void calcResultCTM()
      Recalculate current result coordinate transformation matrix.
      CTM getResultCTM()  
      void pop()
      Pop the coordinate transformation matrix from the stack and reevaluate resultCTM.
      void push​(CTM ctm)
      Push the current coordinate transformation matrix onto the stack and reevaluate resultCTM.
      CTM refineCTM​(CTM ctm)
      Modifies coordinate transformation matrix in such a way, so x-shift and y-shift will be transformed in text positions.
      java.awt.Point transformPoint​(int x, int y)
      Transforms point (x, y) using resultCTM.
      java.awt.Point transformPoint​(java.awt.Point p, CTM ctm)
      Transforms point using ctm.
      private void updateResultCTM​(CTM ctm)
      Updates result coordinate transformation matrix (i.e.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • stackCTM

        private java.util.LinkedList stackCTM
        Keeps all coordinate transformation matrices during rendering.
      • resultCTM

        private CTM resultCTM
        Current result coordinate transformation matrix. It's product of all matrices in order, saved in stackCTM.
    • Constructor Detail

      • TXTState

        public TXTState()
        Constructs a newly allocated TXTState object.
    • Method Detail

      • updateResultCTM

        private void updateResultCTM​(CTM ctm)
        Updates result coordinate transformation matrix (i.e. resultCTM), multipliing it by given matrix.
        Parameters:
        ctm - CTM
      • calcResultCTM

        private void calcResultCTM()
        Recalculate current result coordinate transformation matrix.
      • push

        public void push​(CTM ctm)
        Push the current coordinate transformation matrix onto the stack and reevaluate resultCTM.
        Parameters:
        ctm - instance of CTM
      • pop

        public void pop()
        Pop the coordinate transformation matrix from the stack and reevaluate resultCTM.
      • refineCTM

        public CTM refineCTM​(CTM ctm)
        Modifies coordinate transformation matrix in such a way, so x-shift and y-shift will be transformed in text positions.
        Parameters:
        ctm - CTM to modify
        Returns:
        instance of CTM
      • transformPoint

        public java.awt.Point transformPoint​(java.awt.Point p,
                                             CTM ctm)
        Transforms point using ctm.
        Parameters:
        p - Point
        ctm - CTM
        Returns:
        transformed Point
      • transformPoint

        public java.awt.Point transformPoint​(int x,
                                             int y)
        Transforms point (x, y) using resultCTM.
        Parameters:
        x - x-coordinate
        y - y-coordinate
        Returns:
        transformed Point
      • getResultCTM

        public CTM getResultCTM()
        Returns:
        current result coordinate transformation matrix