All Manuals > LispWorks Release Notes and Installation Guide > 15 Release Notes


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:

(example-edit-file "capi/applications/rss-reader")

15.8.2 Windows 8 style improvements

The class capi:multi-column-list-pane with titles and subclasses of capi:output-pane and 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-to-premultiplied and 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

The new capi:editor-pane initarg :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 Select Buffer.

The :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-text and 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

The 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 :temp.

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 capi:editor-pane and capi:graph-pane).

If you need to represent keyboard input with modifier keys, use sys:gesture-spec objects.

15.8.12 Changing the input model of a graph pane

Using the initarg :input-model in 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 capi:titled-object initarg :title-position with value :frame.

Using :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 nil.

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 capi:display-pane or capi:text-input-pane with :pane-menu and :enabled :read-only.

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:bitmap-port, gp:create-bitmap-port, 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:with-dither, gp:make-dither, gp:initialize-dithers and 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-dual-width-p and gp:font-single-width-p are deprecated.

15.8.20 collection-search deprecated

capi:collection-search is deprecated. Use capi:collection-find-string instead.

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-position and capi:pane-adjusted-offset are deprecated.

15.8.23 pinboard-pane-position and pinboard-pane-size deprecated

capi:pinboard-pane-position and capi:pinboard-pane-size are deprecated, but are retained in LispWorks 7.0 for backwards compatibility.

Please use capi:static-layout-child-position and 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 capi:editor-pane-text instead.

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-top-level-function and capi:interactive-stream-stream do not exist in LispWorks 7.0.

capi:interactive-pane and its accessors capi:interactive-pane-top-level-function and 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