[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: How to get the window hilite color?
- To: Repenning Alexander <ralex@tigger.cs.colorado.edu>
- Subject: Re: How to get the window hilite color?
- From: bill@cambridge.apple.com (Bill St. Clair)
- Date: Mon, 12 Oct 1992 12:13:33 -0500
- Cc: info-mcl
>I'm trying to get the hilite color of a window. One would think
>this should be a pretty trivial task but I'm goin insane..
>
>[...]
>However, if I use the inspector I can find my way though the hilite
>color which is different from the one returned by _getauxwin.
>
>Unfortunately, I'm not able to get the value returned by the inspector
>via rref:
>
>(rref
> (rref
> (rref (wptr w) :cwindowrecord.port)
> :cgrafport.grafvars)
> :grafvars.rgbhilitecolor)
>
>> Error: Illegal attempt to get a pointer to a :RGBCOLOR within a handle
>> While executing: CCL::EXPAND-HANDLE-RECORD-GET
>
>So, how can I access the hilite color of a window? Any ideas?
(defun hilite-rgb (window)
(with-macptrs ((grafvars (pref (wptr window) :cwindowrecord.port.grafvars)))
(values (href grafvars :grafvars.rgbHiliteColor.red)
(href grafvars :grafvars.rgbHiliteColor.green)
(href grafvars :grafvars.rgbHiliteColor.blue))))
; Some code to pop up a color picker with a window's hilight color.
#|
(defparameter *w* (make-instance 'window :color-p t))
(user-pick-color :color (multiple-value-call 'make-color (hilite-rgb *w*)))
|#