Generic Function | Package: cg | ToC | DocOverview | CGDoc | RelNotes | FAQ | Index | PermutedIndex
| Allegro CL version 10.1 Unrevised from 10.0 to 10.1. 10.0 version

## left-margin

Arguments: graphical-stream &optional (stream-units-p t)

Returns the current left margin of a `graphical-stream`, measured from the left edge of the stream. The left-margin is initially zero, except as noted below. (setf left-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 space character widths (see space-width).

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.

Whenever a newline character is printed to a graphical-stream, the current-position-x of the stream is set to the stream's left-margin, and the current-position-y is incremented by the line-height of the stream. This causes the next line of text to be printed at the left margin and just below the previous line.

A `text-edit-pane` is an exception to the general newline behavior. It is a control that positions text in its own way, and inserting a newline does not add spaces or tabs to the text-editing area to reflect the stream's left margin. The left-margin of a `text-edit-pane` normally should be left at zero to allow pretty-printed output to fit the interior width of the window as usual (see right-margin). The function (setf text-edit-margins) may be called instead to establish or modify the margins for all of a `text-edit-pane`'s text.

When opening a `printer` stream or calling new-page to advance to the next printed page, the current-position-x of the stream is set to its left-margin, and the current-position-y is set to its top-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.

|  | ToC | DocOverview | CGDoc | RelNotes | FAQ | Index | PermutedIndex
| Allegro CL version 10.1 Unrevised from 10.0 to 10.1. 10.0 version