Parent Directory | Revision Log
|Links to HEAD:||(view) (annotate)|
Added a few "ignore" declarations to avoid compiler notes.
Due to popular demand we spit FORMAT-style debugging messages out to *trace-output* instead of *debug-io*
Fixed a silly bug that interfered with the address book If the style of highlighting going on presently really annoys anyone, I'm happy to revert it back to how it was, rather than piss anyone off. =)
* Presentation output records now ask their children to highlight themselves. This makes user-defined highlight methods work, and leads to slightly saner behavior for objects that span multiple lines. * Unhighlighting now works by triggering a repaint on the appropriate area of the sheet. This allows proper highlighting over things other than the background color, without using flipping ink. * HANDLE-REPAINT modified to restore the background color. Some work needs to be done here to prevent unneeded clearing of the background in response to expose events.
make all of the package names passed to in-package be lowercase keywords for ACL's java mode
DISPATCH-REPAINT: When the sheet has no mirror it cannot have a native transformation, can it? In this case we just forget the repaint.
DISPATCH-REPAINT: was not taking the native transformation into account -- fixed.
Besides some support for enabled/disabled sheets in panes.lisp and removal of some unused code, the most notable change is: - removal of all method defintions like (defmethod handle-event ((foo foo-pane) (event window-repaint-event)) (repaint-sheet foo (event-region event)) - Switched last remaining REPAINT-SHEET methods into HANDLE-REPAINT, since HANDLE-REPAINT is where you define repainting. REPAINT-SHEET is for forcing a repaint not for implementing a repaint. [Although I am German my reading comprehension should be just good enough to understand the relevant chapter of the specification]. This breaks CLIM-FIG again, refer to my posting to the mailing list.
Make a global choice, based on multiprocessing or not, whether events should be handled immediately or queued up to be serviced by another process. The choice is implemented by the classes clim-sheet-input-mixin and clim-repainting-mixin, from which all panes inherit. These classes' superclasses are conditionalized on whether or not the implementation is capable of multiprocessing. When multiprocessing there is a single event queue per frame. This is implemented by queue-event on pane classes. The event loop is implemented in stream-input-wait. In single processing mode, stream-input-wait calls process-next-event and handles events immediately. When multiprocessing, stream-input-wait reads events from the frame event queue and handles them. The function clim-extensions:simple-event-loop is supplied for applications which do not loop reading from a stream; various examples have been changed to use it. In stream-read-gesture/stream-input-wait the input-wait-test function is not expected to block anymore; nor is the input-wait-handler expected to dispatch events. input-wait-handler is responsible for consuming events that should not be seen by anyone else. input-context-wait-test and highlight-applicable-presentation have been rewritten to reflect this. The adjustable-array buffer for extended-input-streams has been added back in. A typo in %event-matches-gesture has been fixed. Default methods for map-over-output-records-containing-position and map-over-output-records-overlapping-region have been added. The cursor implementation has been broken out into a cursor-mixin so I can snarf it for Goatee :)
Some attempt to figure out the repaint protocol. HANDLE-REPAINT immediate-repainting-mixin t gone, since HANDLE-REPAINT is for the user. DISPATCH-EVENT :around immediate-repainting-mixin window-repaint-event calls DISPTACH-REPAINT now.
Suppressed the medium argument in the handle-repaint method. It has been removed in the new spec version, and wasn't used in the code anyway. Added the new basic-sheet class, and changed a few things in the code accordingly. Modified the definition of some functions, and added new ones, namely : map-over-sheets map-over-sheets-containing-position map-over-sheets-overlapping-region move-sheet resize-sheet move-and-resize-sheet Moved the repaint protocol code in a stand-alone file, because it need to have access to window-repaint-event defined in the events code.
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|