Contents

adjustPageHeightNew(_:top:bottom:limit:)

Overridden by subclasses to adjust page height during automatic pagination.

Declaration

func adjustPageHeightNew(_ newBottom: UnsafeMutablePointer<CGFloat>, top oldTop: CGFloat, bottom oldBottom: CGFloat, limit bottomLimit: CGFloat)

Parameters

  • newBottom:

    Returns by indirection a new Cgfloat Swift.struct value for the bottom edge of the pending page rectangle in the view’s coordinate system.

  • oldTop:

    A Cgfloat Swift.struct value that sets the top edge of the pending page rectangle in the view’s coordinate system.

  • oldBottom:

    A Cgfloat Swift.struct value that sets the bottom edge of the pending page rectangle in the view’s coordinate system.

  • bottomLimit:

    The topmost Cgfloat Swift.struct value newBottom can be set to, as calculated using the value of the Heightadjustlimit property.

Discussion

This method is invoked by printView(_:). The view can raise the bottom edge and return the new value in newBottom, allowing it to prevent items such as lines of text from being divided across pages. If bottomLimit is exceeded, the pagination mechanism simply uses bottomLimit for the bottom edge.

The default implementation of this method propagates the message to its subviews, allowing nested views to adjust page height for their drawing as well. An NSButton object or other small view, for example, will nudge the bottom edge up if necessary to prevent itself from being cut in two (thereby pushing it onto an adjacent page). Subclasses should invoke super’s implementation, if desired, after first making their own adjustments.

See Also

Handling Pagination