BlockViewport (Apache FOP Core 2.11 API)
Date: 2025-04-24

org.apache.fop.area

## Class BlockViewport

- java.lang.Object
- - org.apache.fop.area.AreaTreeObject
  - - org.apache.fop.area.Area
    - - org.apache.fop.area.BlockParent
      - - org.apache.fop.area.Block
        - - org.apache.fop.area.BlockViewport

- All Implemented Interfaces:
    Serializable, Cloneable, Viewport

      public class BlockViewport
      extends Block
      implements Viewport

  A BlockViewport. This is used for block level Viewport/reference pairs. The block-container creates this area.
  See Also:
    Serialized Form

- - ### Field Summary

    - ### Fields inherited from class org.apache.fop.area.Block

      `ABSOLUTE, allowBPDUpdate, FIXED, RELATIVE, STACK`

    - ### Fields inherited from class org.apache.fop.area.BlockParent

      `children, xOffset, yOffset`

    - ### Fields inherited from class org.apache.fop.area.Area

      `bidiLevel, bpd, CLASS_ABSOLUTE, CLASS_BEFORE_FLOAT, CLASS_FIXED, CLASS_FOOTNOTE, CLASS_MAX, CLASS_NORMAL, CLASS_SIDE_FLOAT, effectiveIPD, ipd, log, ORIENT_0, ORIENT_180, ORIENT_270, ORIENT_90, traits`

    - ### Fields inherited from class org.apache.fop.area.AreaTreeObject

      `extensionAttachments, foreignAttributes`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `BlockViewport()` Create a new block viewport area.
    `BlockViewport(boolean allowBPDUpdate)` Create a new block viewport area.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `Rectangle` | `getClipRectangle()` Returns the clipping rectangle of this viewport area.
    `CTM` | `getCTM()` Get the transform of this block viewport.
    `int` | `getEffectiveIPD()`
    `boolean` | `hasClip()` Returns true if this area will clip overflowing content.
    `void` | `setClip(boolean cl)` Set the clipping for this viewport.
    `void` | `setCTM(CTM ctm)` Set the transform of this viewport.

    - ### Methods inherited from class org.apache.fop.area.Block

      `activateEffectiveIPD, addBlock, addBlock, addLineArea, getEndIndent, getLocale, getLocation, getPositioning, getStartIndent, isStacked, setLocale, setLocation, setPositioning`

    - ### Methods inherited from class org.apache.fop.area.BlockParent

      `addChildArea, getChildAreas, getXOffset, getYOffset, isEmpty, setXOffset, setYOffset`

    - ### Methods inherited from class org.apache.fop.area.Area

      `addTrait, clone, getAllocBPD, getAllocIPD, getAreaClass, getBidiLevel, getBorderAndPaddingWidthAfter, getBorderAndPaddingWidthBefore, getBorderAndPaddingWidthEnd, getBorderAndPaddingWidthStart, getBPD, getChangeBarList, getEffectiveAllocIPD, getIPD, getSpaceAfter, getSpaceBefore, getSpaceEnd, getSpaceStart, getTrait, getTraitAsBoolean, getTraitAsInteger, getTraits, hasTrait, hasTraits, isFromFootnote, resetBidiLevel, setAreaClass, setBidiLevel, setBPD, setChangeBarList, setFromFootnote, setIPD, setTraits, setWritingModeTraits, toString`

    - ### Methods inherited from class org.apache.fop.area.AreaTreeObject

      `addExtensionAttachment, getExtensionAttachments, getForeignAttributes, getForeignAttributeValue, hasExtensionAttachments, setExtensionAttachments, setForeignAttribute, setForeignAttributes`

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

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

- - ### Constructor Detail

    - #### BlockViewport

          public BlockViewport()

      Create a new block viewport area.

    - #### BlockViewport

          public BlockViewport(boolean allowBPDUpdate)

      Create a new block viewport area.
      Parameters:
        `allowBPDUpdate` - true allows the BPD to be updated when children are added

  - ### Method Detail

    - #### setCTM

          public void setCTM(CTM ctm)

      Set the transform of this viewport. If the viewport is rotated or has an absolute positioning this transform will do the work.
      Parameters:
        `ctm` - the transformation

    - #### getCTM

          public CTM getCTM()

      Get the transform of this block viewport.
      Returns:
        the transformation of this viewport or null if normally stacked without rotation

    - #### setClip

          public void setClip(boolean cl)

      Set the clipping for this viewport.
      Parameters:
        `cl` - the clipping for the viewport

    - #### hasClip

          public boolean hasClip()

      Returns true if this area will clip overflowing content.
      Specified by:
        `hasClip` in interface `Viewport`
      Returns:
        `true` if the overflow trait has the value "hidden", "scroll" or "error-if-overflow"

    - #### getClipRectangle

          public Rectangle getClipRectangle()

      Returns the clipping rectangle of this viewport area.
      Specified by:
        `getClipRectangle` in interface `Viewport`
      Returns:
        the clipping rectangle expressed in the viewport's coordinate system, or null if clipping is disabled

    - #### getEffectiveIPD

          public int getEffectiveIPD()

      Overrides:
        `getEffectiveIPD` in class `Block`

Copyright © 2025 Apache Software Foundation. All rights reserved.