All Manuals > LispWorks Release Notes and Installation Guide > 13 Release Notes > 13.7 Other CAPI and Graphics Ports changes


13.7.1 Origin of coordinates of interfaces

The coordinates of interfaces are now always with respect to the top-left corner of the primary monitor. That includes the result of capi:top-level-interface-geometry , the :x and :y arguments to capi:set-top-level-interface-geometry , and the initialization arguments :x , :y , :best-x and :best-y .

In LispWorks 6.0 and previous versions these values were with respect to the top-left of the "work-area" of the screen, which excludes "system areas" like taskbars and the menu bar on Cocoa. This made it difficult to position interfaces consistently. There were also various bugs causing inconsistent behavior.

The effect is most visible on Cocoa, where the vertical origin is now at the top of the Mac OS X menu bar rather than at the bottom of it.

The values returned by capi:screen-internal-geometry are now also always measured from the top-left of the monitor. That is a change only on Cocoa, where (in LispWorks 6.0 and earlier versions) the result for the primary monitor was measured from the bottom of the Mac OS X menu bar.

We use the term screen rectangle to mean a rectangle ( x y width height ) where ( x y ) are coordinates relative to the top-left of the primary monitor. The full area of the primary monitor, including any system areas, is the primary screen rectangle. For information about the primary monitor, see Support for multiple monitors.

LispWorks Release Notes and Installation Guide - 23 Dec 2011