The generic function top-level-interface-geometry
returns the coordinates of the given interface in a form suitable for use as the :best-x
, :best-y
, :best-width
and :best-height
initargs to interface. The value of
interface
should be a top level interface.
tx and ty are measured from the top-left of the screen rectangle representing the area of the primary monitor (the primary screen rectangle).
On Cocoa, the result does not account for the size of the interface toolbar, if present in interface .
;; Define and display an interface.
(capi:define-interface test ()
()
(:panes (panel capi:list-panel)))
(setq int (capi:display (make-instance 'test)))
;; Now manually position the interface somewhere.
;; Find where the interface is.
(multiple-value-setq (tx ty twidth theight)
(capi:top-level-interface-geometry int))
;; Now manually close the interface.
;; Create a new interface in the same place.
(setq int
(capi:display
(make-instance
'test
:best-x tx
:best-y ty
:best-width twidth
:best-height theight)))
top-level-interface-p
top-level-interface-display-state
set-top-level-interface-geometry
interface
Support for multiple monitors
Programming with CAPI Windows
Querying and modifying interface geometry
CAPI User Guide and Reference Manual (Windows version) - 3 Aug 2017