Re: Converting to new CAPI...

"David McClain (as dbm at refined-audiometrics dot com)" <[email protected]> Tue, 7 Apr 2026 01:52:36 -0700
Newsgroups gmane.lisp.lispworks.general
Message-ID <[email protected]>
Aha! No wonder I’m having difficulty trying to encapsulate an Output-pane into a drawn-pixmap-object… (#4 below)

From the CAPI manual page for PINBOARD-LAYOUT:
Notes
The output-pane <file:///Applications/LispWorks%208.1%20(64-bit)/Library/lib/8-1-0-0/manual/html-m/capi/capi-capi-ref-298.htm#CAPI)output-pane> initarg :drawing-mode controls quality of drawing in a pinboard-layout, including anti-aliasing of any text displayed on Microsoft Windows and GTK+.
If redrawing flickers on Microsoft Windows or Motif, perhaps because there are many pinboard objects, you can pass the output-pane <file:///Applications/LispWorks%208.1%20(64-bit)/Library/lib/8-1-0-0/manual/html-m/capi/capi-capi-ref-298.htm#CAPI)output-pane> initarg :draw-with-buffer t, which uses a pixmap to buffer the output before drawing it to the screen. See output-pane <file:///Applications/LispWorks%208.1%20(64-bit)/Library/lib/8-1-0-0/manual/html-m/capi/capi-capi-ref-298.htm#CAPI)output-pane> for more information.
pinboard-layout defines its own default display-callback (see output-pane <file:///Applications/LispWorks%208.1%20(64-bit)/Library/lib/8-1-0-0/manual/html-m/capi/capi-capi-ref-298.htm#CAPI)output-pane>), pinboard-layout-display <file:///Applications/LispWorks%208.1%20(64-bit)/Library/lib/8-1-0-0/manual/html-m/capi/capi-capi-ref-326.htm#CAPI)pinboard-layout-display>. If you want to do additional drawing, see pinboard-layout-display <file:///Applications/LispWorks%208.1%20(64-bit)/Library/lib/8-1-0-0/manual/html-m/capi/capi-capi-ref-326.htm#CAPI)pinboard-layout-display>.
Objects of type simple-pane <file:///Applications/LispWorks%208.1%20(64-bit)/Library/lib/8-1-0-0/manual/html-m/capi/capi-capi-ref-452.htm#CAPI)simple-pane> are drawn directly by the windowing system and cannot be clipped relative to pinboard-object <file:///Applications/LispWorks%208.1%20(64-bit)/Library/lib/8-1-0-0/manual/html-m/capi/capi-capi-ref-327.htm#CAPI)pinboard-object>s, which are drawn by CAPI. Therefore simple-pane <file:///Applications/LispWorks%208.1%20(64-bit)/Library/lib/8-1-0-0/manual/html-m/capi/capi-capi-ref-452.htm#CAPI)simple-pane>s always appear on top in a pinboard, and their position in the description does not affect the Z-order.


> On Apr 6, 2026, at 13:01, David McClain <[email protected]> wrote:
> 
> My best guess is to provide a subclass of drawn-pinboard-object, and do my own drawing callback. But I’m a bit confused about just where in space my output pane becomes defined. 
> 
> I already know how to make one of my graph panes inside a new window, or inside of another Interface object using Pane declarations and Layout specs. So maybe do all the drawings relative to the bounding pinboard object?
> 
>> On Apr 6, 2026, at 12:48, David McClain (as dbm at refined-audiometrics dot com) <[email protected]> wrote:
>> 
>> I am slowly converting ca. 2009 CAPI code to current epoch. I have a graphing pane defined as a subclass of a CAPI:OUTPUT-PANE. 
>> Pinboard panes are defined as a subclass of output panes, and pinboard objects are drawn on them.
>> 
>> Wondering what the simplest method would be to provide a pinboard object that contains one of my graphing output panes inside its bounding rect, along with other non-overlapping graphical items like labels and colored rects inside the same bounding rect. 
>> 
>> _______________________________________________
>> Lisp Hug - the mailing list for LispWorks users
>> [email protected]
>> http://www.lispworks.com/support/lisp-hug.html
>