Commit bfa91b9a authored by Alastair Bridgewater's avatar Alastair Bridgewater
Browse files

backend/clx/mirror: Initial support for non-GRAFT mirrored sheets.

  * This is just the method for REALIZE-MIRROR at this point, no
hookups for event handling (which we don't have any code for yet),
no support for DESTROY-MIRROR (seven years bad luck), none of the
special magical integration for things like (SETF SHEET-ENABLED),
but enough that we can use it to put a window on the screen.
parent a6ec2d02
;;;
;;; nq-clim/backend/clx/mirror
;;;
;;; CLX mirrored sheet support
;;;
(cl:defpackage :nq-clim/backend/clx/mirror
(:use :cl
:nq-clim/backend/clx/port
:nq-clim/sheet/mirror-functions
:nq-clim/geometry/bounding-rectangle-protocol
:nq-clim/sheet/sheet-hierarchy-protocol))
(cl:in-package :nq-clim/backend/clx/mirror)
(defmethod realize-mirror ((port clx-port) mirrored-sheet)
(let ((parent-mirror (realize-mirror port (sheet-parent mirrored-sheet))))
(multiple-value-bind (min-x min-y max-x max-y)
(bounding-rectangle* mirrored-sheet)
(xlib:create-window :parent parent-mirror
:x min-x
:y min-y
:width (- max-x min-x)
:height (- max-y min-y)))))
;;; EOF
......@@ -47,6 +47,7 @@
"backend/clx/port"
"backend/clx/graft"
"backend/clx/medium"
"backend/clx/mirror"
"clx-interface"))
(load (compile-file file)))
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment