See the CAPI User Guide and Reference Manual for more details of these, unless directed otherwise.
On Cocoa and Windows the capi:output-pane
input-model can now contain specifications for multi-touch gestures that come from devices that can generate them (trackpad or touchscreen). These include zoom, rotate, pan, swipe (Cocoa only), two finger tap (Windows only), press and tap (Windows only), and the beginning or end of a sequence of gestures.
You can now use any available font in capi:editor-pane
in the Cocoa GUI of LispWorks for Macintosh.
In LispWorks 6.1 and earlier versions, you could select only fonts whose widths are (almost) integral, which is not generally guaranteed.
CAPI now supports full screen windows on Mac OS X 10.7 and later, automatically hiding the menu bar and dock. Use the value :can-full-screen
in the window-styles list (see the capi:interface
manual page).
The new Cached Display interface allows you to add transient drawing on top of the permanent drawing of a capi:output-pane
. Typically this will be used to give visual feedback to the user as she drags the mouse while pressing a button in order to select something. You could draw a rectangle, or something more complex.
The Cached Display interface is useful in cases where the display-callback is too slow to add the transient graphics.
For an overview see "Transient display on output-pane and subclasses" in the CAPI User Guide and Reference Manual .
You can now specify scroll parameters by supplying hints when creating a capi:output-pane
or a capi:layout
.
See the section "Scroll values and initialization keywords" in the CAPI User Guide and Reference Manual .
The new capi:grid-layout
initargs :min-column-width
and :min-row-height
can be specified to provide minimum values for the width of each column and the height of each row.
The number of columns in a capi:multi-column-list-panel
, their titles and what they show can be changed after the pane is displayed using the new function capi:modify-multi-column-list-panel-columns
.
Also the column-function of a capi:multi-column-list-panel
can now be a list of function designators, each of which is called with the item to generate the object for the corresponding column.
The new keyword argument :object-sort-caller
for capi:make-sorting-description
allows you to access the capi:sorted-object
to decide how to do the sorting.
The new generic function capi:pinboard-layout-display
is now the default display-callback of capi:pinboard-layout
. Programmers who specialized the internal capi::pinboard-pane-display
(which is the default display-callback in LispWorks 6.1 and earlier versions) must now change to capi:pinboard-layout-display
.
The new function capi:draw-pinboard-layout-objects
draws the pinboard objects within a specified region of a pinboard layout. It is useful when you want to have your own display-callback for a capi:pinboard-layout
or a subclass.
The new generic function capi:output-pane-resize
is called when a capi:output-pane
is resized. You may need to define your own method if you define your own subclass of capi:output-pane
which needs to do something when resizing, and you want to allow different resize-callbacks for individual instances of your class.
The functions capi:record-dependent-object
and capi:unrecord-dependent-object
, together with the generic function capi:destroy-dependent-object
form a new mechanism for destroying objects when a capi:pinboard-layout
is destroyed.
capi:output-pane
now supports modifier change callbacks, allowing your application to respond when the state of Control
, Shift
, Meta
, Command
or Caps Lock
changes.
For the details, see the description of capi:output-pane
input-model.
The new function capi:pane-modifiers-state
returns an integer describing which modifier keys (Control
, Shift
, Meta
, Command
or Caps Lock
) are currently active.
The new function capi:create-dummy-graphics-port
allows you to query fonts and measure text or images, without displaying anything on screen.
capi:convert-to-screen
now accepts the special argument :if-any
, which finds a screen if there is any active screen.
The new function capi:
browser-pane-available-p tests whether capi:
browser-pane is implemented for a specified screen.
The new functions capi:pane-restore-display
and capi:
pane-can-restore-display-p can allow you to restore a pane's display which has been disabled, typically after an error in the display callback.
On Microsoft Windows and GTK+, menu items named File > Close and File > Exit now automatically get accelerator keys as follows:
For the full set of defaults see "Standard default accelerators" in CAPI User Guide and Reference Manual .
The new function capi:popup-menu-force-popdown
cancels a popup menu if it is currently displayed. It can be called from any process, such as a timer.
capi:toolbar
now supports new initargs :names
and :texts
, which allow you to specify the name and text for each implicitly-created capi:toolbar-button
.
capi:toolbar-component
also now supports the new initargs :names
and :texts
. Note that buttons inside an interface toolbar (created with the capi:interface
initarg :toolbar-items
) must have unique names.
The new function capi:display-non-focus-message
displays a message for a short period of time in a window which does not take the input focus, to notify the user of something that does not actually require her attention.
The function capi:prompt-with-list-non-focus
now accepts keyword arguments :right
and :bottom
which allow you to supply an integer specifying the positioning of the right or bottom of the window. right and bottom can both also be the keyword :center
which means center the window relative to the owner window, in the x or y dimension.
The development utility function capi:contain
can now display the interface that it creates as a dialog rather than an ordinary window. See the keyword argument :as-dialog
.
The :filters
keyword argument to capi:prompt-for-files
is now implemented on Cocoa and GTK+.
In LispWorks 6.1 and previous version it works only on Microsoft Windows.
The new function capi:output-pane-stop-composition
stops an ongoing composition, returning the currently composed string. You will typically need to call it when a gesture that is not processed by the input method (for example a mouse click) changes the interaction such that it no longer makes sense to continue the composition.
LispWorks Release Notes and Installation Guide - 2 Mar 2015