| Allegro CL version 10.1 Unrevised from 10.0 to 10.1. 10.0 version |
Arguments: graphical-stream &optional (stream-units-p t)
Returns the current bottom margin of a graphical-stream
, measured from the
top edge of the stream. The bottom-margin is initially the
page-height of the stream, except as noted below. (setf
bottom-margin) may be called to set the margin at any time.
If stream-units-p is true, as it is by default,
then the margin is measured in pixels. If nil
, it is measured in text line heights (see line-height).
Margin attributes are provided primarily to allow an application to keep a drawing within arbitrary margins by drawing everything within the coordinates returned by left-margin, top-margin, right-margin, and bottom-margin. Common Graphics also uses them in a few special ways, though, as described below.
When drawing on a printer
stream, typically an
application should check whether the next thing that it is about to
draw would extend past the bottom-margin. If so, then it
should call new-page to tell the printer to
move to a new sheet of paper, and then proceed to draw on the new
page. The call to new-page will set the current-position-x of the
stream to its left-margin and the current-position-y of the
stream to its top-margin, so that text output
will continue from the top of the new page. For other drawing
functions, the application should adjust the coordinates at which it
is drawing, generally by subtracting the page-length of the stream. The
page-length is
equal to the stream's top-margin subtracted from its
bottom-margin.
A printer
stream's coordinate system has position (0, 0) at the printer-physical-offset
of the printer. To allow an application to avoid dealing with this
arbitrary offset, Common Graphics sets the margins of a printer stream
to the distance from the physical offset to the margins selected by
the user in the print job dialog or page setup dialog. This allows
the application to maintain the requested paper margins by simply
drawing everything within the four margins that were set up
automatically. See *default-printer-left-margin*
for
more information.
Copyright (c) 1998-2022, Franz Inc. Lafayette, CA., USA. All rights reserved.
This page was not revised from the 10.0 page.
Created 2019.8.20.
| Allegro CL version 10.1 Unrevised from 10.0 to 10.1. 10.0 version |