15.8 Other CAPI and Graphics Ports changes
15.8.1 Tree view RSS reader example
A new example illustrates how to combine an XML parser with
capi:tree-view to display an RSS file:
15.8.2 Windows 8 style improvements
capi:multi-column-list-pane with titles and subclasses of
capi:layout are now displayed on Windows 8 without a recessed border, to match the default theme. This change is also visible in the LispWorks IDE.
15.8.3 Premultiplication of Image Access pixel values
The Graphics Ports documentation has been changed to clarify that color values that are received and set using the Image Access API are premultiplied, which means that the value of each of the three components (Red, Green and Blue) is already multiplied by the Alpha value. This is different from the way colors are represented elsewhere in Graphics Ports.
The new functions
color:color-from-premultiplied can be used to convert between premultiplied colors and ordinary colors, though they lose some precision in the process.
15.8.4 Transparency from an external image
The transparent-color-index argument to
gp:read-external-image can now be a cons:
(index . new-color)
where new-color is a color specification that is converted to the color to use.
new-color can also be
:transparent. On Mac OS X, Microsoft Windows and GTK+ this makes it truly transparent.
15.8.5 Flagging an editor-pane for application-only use
:flag allows you to ensure that creating your instance of
capi:editor-pane creates a new
editor:buffer object, which is killed when your editor pane is destroyed.
Buffers created in this way do not appear in IDE windows such as the Editor tool's Buffers view or the Editor command
:flag keyword argument of
capi:modify-editor-pane-buffer is deprecated.
15.8.6 Text printing now makes a new page for formfeed
The CAPI text printing functions such as
capi:print-file now start a new page when a line consisting of just a formfeed character (ASCII 12) is found in the text.
15.8.7 text-input-pane default limit increased on Windows
On Microsoft Windows, a default limit on the number of characters in a
capi:text-input-pane has been increased. The pane can now contain more text when max-characters is
nil, though you can still specify max-characters directly.
15.8.8 draw-image width and height default values
gp:draw-image arguments from-width and from-height now default to the size of the image. In addition, to-width defaults to from-width and to-height defaults to from-height.
In LispWorks 6.1 and earlier releases, the to-width and to-height arguments defaulted to the size of the image and from-width defaulted to to-width and from-height defaulted to to-height.
15.8.9 find-matching-fonts weight and slant default values on Windows
gp:find-matching-fonts now defaults the weight and slant attributes to value
:wild on Microsoft Windows. This matches what it has always done on other platforms.
15.8.10 Temporary editor buffer for an editor-pane
capi:editor-pane now accepts buffer-name initarg value
This creates a temporary buffer which, except when actually editing files, is what you normally need.
15.8.11 Representing modified keyboard input
Character bits attributes are no longer supported hence you can no longer supply characters with bits in the input-model of
capi:output-pane (and its subclasses such as
If you need to represent keyboard input with modifier keys, use
15.8.12 Changing the input model of a graph pane
Using the initarg
capi:graph-pane now overrides the existing input-model. If you want to use
capi:graph-pane with a modified input model, you need to avoid passing
:input-model, and instead use the
capi:output-pane-input-model accessor. The best way of doing this is to have your own subclass of
capi:graph-pane and do it in the
cl:initialize-instance method of your subclass. Note that to override the input-model of the
capi:graph-pane in cases of clashes you need to prepend your mappings, for example:
(defclass my-graph-pane (graph-pane) ())
(defmethod initialize-instance :after ((pane my-graph-pane) &key)
(setf (output-pane-input-model pane)
(append *my-input-model* (output-pane-input-model pane))))
capi:graph-pane now behaves like all other subclasses of
capi:output-pane in this respect.
15.8.13 Additional space inside frames
Additional space is added inside the frame when using the
:title-position with value
:title-position :frame now adds a border around the contents to create some space between it and the frame. This border is only added if the contents have internal-border
15.8.14 title-pane does not support :pane-menu on Microsoft Windows.
This is not a change of functionality but a clarification of a restriction in LispWorks for Windows. If you need interaction, use
15.8.15 File dialog placement on Windows XP
On Windows XP the file dialog now appears on the same monitor as its owner. Note however that LispWorks 7.0 does not support Windows XP.
15.8.16 Graphics Port classes documented
capi:printer-port is a graphics port, used by
capi:with-print-job when a pane is not supplied.
capi:printer-port is not new, but is now documented in its own right.
gp:graphics-port-mixin is now documented.
capi:metafile-port is now exported and documented.
15.8.17 Bitmap ports deprecated
gp:with-bitmap-port are deprecated. They are implemented only on Motif, they remain undocumented and are not going to be supported on other platforms.
15.8.18 Dithers deprecated
gp:dither-color-spec are deprecated. Dithers do not affect drawing or anti-aliasing.
15.8.19 Font single- and dual-width predicates deprecated
gp:font-single-width-p are deprecated.
15.8.20 collection-search deprecated
capi:collection-search is deprecated. Use
15.8.21 pane-close-display deprecated
capi:pane-close-display is deprecated.
15.8.22 pane-adjusted-position, pane-adjusted-offset deprecated
capi:pane-adjusted-offset are deprecated.
15.8.23 pinboard-pane-position and pinboard-pane-size deprecated
capi:pinboard-pane-size are deprecated, but are retained in LispWorks 7.0 for backwards compatibility.
capi:static-layout-child-size instead. These newly-documented functions do just the same.
15.8.24 pane-string deprecated
capi:pane-string is deprecated. Use the accessor
15.8.25 capi:*update-screen-interfaces-hooks* deprecated
capi:*update-screen-interfaces-hooks* is deprecated as we do not believe it is useful. If you use it, please contact Lisp Support.
15.8.26 interactive-pane synonyms dropped
In LispWorks versions 4.x, 5.x and 6.x the class
capi:interactive-pane and its accessors have synonyms for backwards compatibility with the LispWorks 3.x names
capi:interactive-stream and so on.
This synonym and the accessor synonyms
capi:interactive-stream-stream do not exist in LispWorks 7.0.
capi:interactive-pane and its accessors
capi:interactive-pane-stream are still supported and their functionality is not affected by this change.
LispWorks Release Notes and Installation Guide - 2 Mar 2015