The pane-adjusted-position
generic function calculates how to place a pane correctly within a layout, given a minimum and maximum position.
This function calculates the position required by the adjust keyword so that the pane pane is placed correctly within the available space in its parent layout, given a minimum and maximum position. It is a complementary function to pane-adjusted-offset
, and the default method actually calls pane-adjusted-offset
with the gap between the two positions, and then adds on the minimum position to get the new position.
The default method accepts the following values for adjust.
Place the pane at the top of the region.
Place the pane at the bottom of the region.
Place the pane at the left of the region.
Place the pane at the right of the region.
Place the pane in the center of the region.
However, new methods can accept alternative values for adjust where required and can also add extra keywords. For example, the grid-layout
allows adjust to be a list of adjust values, and then passes the offset into this list as an additional keyword. It is preferable to add new methods to pane-adjusted-offset
as these changes will be seen by the default method of pane-adjusted-position
.
(setq button-panel (make-instance 'capi:button-panel
:items '(1 2 3)))
(capi:pane-adjusted-position button-panel
:center 100 200)
(capi:pane-adjusted-position button-panel
:right 100 200)
(capi:pane-adjusted-position button-panel
:left 100 200)