Parent Directory | Revision Log
|Links to HEAD:||(view) (annotate)|
Declared some more arguments IGNORE or IGNORABLE to remove some more compiler warnings.
Implemented `pointer-place-rubber-band-line*', `pointer-input-rectangle*' and `pointer-input-rectangle' (CLIM 2.2).
Move most protocol class definitions into protocol-classes.lisp, which is compiled and loaded early. Some class definitions, which had slot definitions that I didn't have the stomach to tease apart, stayed behind. Replace the presentation documentation state mechanism with updating-output so that other functions / programs can write to the pointer documentation area and not screw things up. We still use the state to actually print the documentation.
Rewrote WITH-DOUBLE-BUFFERING. This version takes a rectangle as an argument, allocates a pixmap for that region of the screen, and sets up the sheet transformations so that drawing is done in the correct pixmap coordinates. Use WITH-DOUBLE-BUFFERING in DRAG-OUTPUT-RECORD. Add a little example of using dragging-output. Change the definition of ROUND-COORDINATE in the CLX backend to round down from .5, not up. This should follow the CLIM pixel coverage definition for shapes more closely. Replace most uses of ROUND in the CLX backend with ROUND-COORDINATE. Allow inconsistent :ID-TEST arguments in UPDATING-OUTPUT.
Add support for event keyword in :pointer-motion clauses of tracking-pointer. The specs omission of :event for just this one clause is braindead.
Workaround initialize-instance bug in CMUCL 18e via reader conditional.
Implement PRESENTATION-TYPE-DIRECT-SUPERTYPES. Three bug fixes from email@example.com (Milan Zamazal): pass :allow-other-keywords to invoke-pointer-tracking-loop fix in (generate-panes :before) for disowning and then reowning a frame fix colorslider demo
Changed STREAM-DESIGNATOR-SYMBOL to take a default value argument. The value corresponding to T isn't always *STANDARD-OUTPUT*. Fixed a problem in the incremental redisplay code checked in recently: the output record that holds an updating output record's children wasn't always created. Some tweaks (in progress) to ACCEPTING-VALUES.
Change invoke-with-new-output-record and invoke-with-output-to-output-record to take a constructor argument, as per the Franz CLIM user manual. This permits one to call make-instance with a constant class argument, which can be a big win in some implementations. Change with-new-output-record and friends to use this new form. This change requires a recompile of user code. Change stream-write-output to take a width argument. If the width of the string is already available (and it usually is), this saves an extra call to the expensive function stream-string-width.
dragging-output and drag-output-record. I rewrote the tracking-pointer implementation to follow a little protocol. Work is in progress on presentation drag-and-drop translators. The :incremental-redisplay option in a pane specification can be a list of arguments that will be passed to the call to redisplay. This change is described in the Franz user manual. Added some checks of :check-overlapping in the incremental redisplay code. Changed funcall-presentation-generic-function to call the private generic function directly, bypassing %funcall-presentation-generic-function. Added the :parent keyword to invoke-with-new-output-record. Optimized the table layout code a bit. Avoid traversing the whole table hierarchy: stop at the level of interest. Use arrays instead of lists in adjust-table-cells. Patch for SBCL package locks from Nikodemus Siivola (firstname.lastname@example.org). Listener SBCL fixes from Christophe Rhodes (email@example.com)
Some cleanup of pointer tracking. Insert a handler to ungrab the pointer if there is any error, with the intent of solving the complaints of problems during pointer grabs.
Implement :multiple-window option to tracking-pointer. Added a new backend protocol to support this, through functions PORT-GRAB-POINTER and PORT-UNGRAB-POINTER. Using this, ensure that MENU-CHOOSE grabs the pointer and clicking anywhere outside the menu will dismiss it (which previously only worked somewhat, due to the lack of pointer grabbing). Note the slight limitation that the CLX backend does not always accurately report the window which the pointer is over during a grab. Imported some symbols into CLIM-CLX package. Changed the Help command to present available commands using the item formatter.
fix-tracking-pointer-args was not returning the arglist if args was already preceded by &key, breaking menu-choose-from-drawer.
Set up an input context for commands when there's no interactor pane. Be more liberal in accepting clause arguments for tracking-pointer. Translate from CLIM line-cap names to XLIB names.
Implement highlight keyword to tracking-pointer.
Due to popular demand we spit FORMAT-style debugging messages out to *trace-output* instead of *debug-io*
make all of the package names passed to in-package be lowercase keywords for ACL's java mode
Added and enabled pointer motion hints for stream panes. This seems to make performance snappier on "slow" systems like my iBook + openmcl + XDarwin setup. Added a sheet-motion-hints interface to sheets so that motion hints can be selectively disabled. I added support to tracking-pointer to turn motion hints off; I'm not sure if that's the right thing or not.
* Moved TRACKING-POINTER to a separate file. * Added tracking of presentations.
This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, select a symbolic revision name using the selection box, or choose 'Use Text Field' and enter a numeric revision.
|Powered by ViewVC 1.1.5|