diff options
-rw-r--r-- | Core/clim-core/frames/frames.lisp | 48 |
1 files changed, 31 insertions, 17 deletions
diff --git a/Core/clim-core/frames/frames.lisp b/Core/clim-core/frames/frames.lisp index c52764c0..2b618c01 100644 --- a/Core/clim-core/frames/frames.lisp +++ b/Core/clim-core/frames/frames.lisp @@ -840,26 +840,21 @@ frames and will not have focus. (declare (ignore input-context stream event)) nil) -(defun frame-highlight-at-position (frame stream x y modifier input-context) - "Given stream x,y; key modifiers; input-context, find the applicable - presentation and maybe highlight it." - (let ((presentation (find-innermost-applicable-presentation - input-context - stream - x y - :frame frame - :modifier-state modifier))) - (set-highlighted-presentation stream presentation))) +(defun frame-highlight-at-position (frame input-context stream event) + (let* ((modifier (event-modifier-state event)) + (x (device-event-x event)) + (y (device-event-y event)) + (presentation (find-innermost-applicable-presentation + input-context stream x y + :frame frame + :modifier-state modifier))) + (set-highlighted-presentation stream presentation) + (update-pointer-documentation frame input-context stream event))) -(defmethod frame-input-context-track-pointer :before +(defmethod frame-input-context-track-pointer ((frame standard-application-frame) input-context (stream output-recording-stream) event) - (frame-highlight-at-position frame stream - (device-event-x event) - (device-event-y event) - (event-modifier-state event) - input-context) - (update-pointer-documentation frame input-context stream event)) + (frame-highlight-at-position frame input-context stream event)) (defun simple-event-loop (&optional (frame *application-frame*)) "An simple event loop for applications that want all events to be handled by @@ -882,6 +877,25 @@ frames and will not have focus. do (setf (client-setting frame setting) value))) +(defmethod frame-document-highlighted-presentation + ((frame standard-application-frame) presentation input-context + window-context x y stream) + (values)) + +(defmethod frame-document-highlighted-presentation + ((frame standard-application-frame) presentation input-context + window-context x y (stream encapsulating-stream)) + (frame-document-highlighted-presentation + frame presentation input-context + window-context x y (encapsulating-stream-stream stream))) + +;;; IMPLEMENTME +(defmethod frame-document-highlighted-presentation + ((frame standard-application-frame) presentation input-context + window-context x y (stream clim-stream-pane)) + (values)) + + (defmethod frame-drag-and-drop-feedback ((frame standard-application-frame) from-presentation stream initial-x initial-y x y state) |