/[mcclim]/mcclim/incremental-redisplay.lisp
ViewVC logotype

Log of /mcclim/incremental-redisplay.lisp

Parent Directory Parent Directory | Revision Log Revision Log


Links to HEAD: (view) (annotate)
Sticky Tag:

Revision 1.66 - (view) (annotate) - [select for diffs]
Sat Aug 1 16:10:32 2009 UTC (4 years, 8 months ago) by gbaumann
Branch: MAIN
CVS Tags: HEAD
Changes since 1.65: +2 -2 lines
Diff to previous 1.65
Use force-output instead of finish-output as the latter implies
waiting for an answer from the display server, which is something
we really do not want to do.

Revision 1.65 - (view) (annotate) - [select for diffs]
Mon Sep 25 00:30:01 2006 UTC (7 years, 6 months ago) by afuchs
Branch: MAIN
CVS Tags: McCLIM-0-9-3, McCLIM-0-9-4, McCLIM-0-9-5, McCLIM-0-9-6, mcclim-0-9-4
Changes since 1.64: +6 -9 lines
Diff to previous 1.64
Fix the rectangle-edges* bug that prevented beirc from properly starting up on os x.

 * map-over-updating-output shouldn't call itself with a nil record;
   it breaks expectations of code in the same file.

Revision 1.64 - (view) (annotate) - [select for diffs]
Sun May 28 21:32:43 2006 UTC (7 years, 10 months ago) by crhodes
Branch: MAIN
Changes since 1.63: +10 -4 lines
Diff to previous 1.63
Rework displayed-output-records.  Instead of setting the medium graphics
state, use with-drawing-options in :around methods (which resets the
graphics state after replaying an output record, which allows the CLIM
user to implement their own output record classes).  Note the potential
for changes in incremental-redisplay, as there's no need to capture the
entire medium state, just the stream cursor position.

(Fixes horizontal partial beams in gsharp)

Revision 1.63 - (view) (annotate) - [select for diffs]
Fri May 5 10:24:02 2006 UTC (7 years, 11 months ago) by crhodes
Branch: MAIN
Changes since 1.62: +1 -0 lines
Diff to previous 1.62
Many more generic function defgenerics in decls.lisp
... moving some out from their individual files.
... one or two tiny code cleanups

I think the only substantive changes in this commit are:
* remove the workaround for sbcl-0.9.8 broken forward-referenced-class
  metacircularity;
* delete the unused uniform-design protocol-class;
* put the standard-sheet-input-mixin as a superclass of
  standard-extended-input-stream, not of the protocol class
  extended-input-stream.
If someone wants to tell me that these things are wrong, that's fine; at
least some things appear still to work.

Now we only emit 209 style warnings when loading mcclim under sbcl.
(When compiling and loading, it's closer to 500).

This commit cures all but a few redefinition style-warnings -- so now
almost all generic functions are defined before the first method
definition is seen.  It doesn't cure implicit definition of generic
function style warnings, so there are probably plenty of specified
generic functions which are not explicitly defined.  (Leaving aside the
issues with unspecified generic functions)

TODO:
* DEFGENERIC* forward declarations
* specified methods and macros
* specified special variables
* unification of protocol-classes and decls

Revision 1.62 - (view) (annotate) - [select for diffs]
Wed May 3 09:39:06 2006 UTC (7 years, 11 months ago) by crhodes
Branch: MAIN
Changes since 1.61: +0 -6 lines
Diff to previous 1.61
Delete definitely not needed method.

Revision 1.61 - (view) (annotate) - [select for diffs]
Wed May 3 09:33:08 2006 UTC (7 years, 11 months ago) by afuchs
Branch: MAIN
Changes since 1.60: +3 -14 lines
Diff to previous 1.60
Fix incremental-redisplay memory leak by removing the children-updating-output
slot and related bookkeeping code.

Revision 1.60 - (view) (annotate) - [select for diffs]
Sat Apr 22 15:31:27 2006 UTC (7 years, 11 months ago) by afuchs
Branch: MAIN
Changes since 1.59: +8 -10 lines
Diff to previous 1.59
Back out the spatial-trees change to compute-difference-set.

Revision 1.59 - (view) (annotate) - [select for diffs]
Thu Apr 20 23:25:23 2006 UTC (8 years ago) by afuchs
Branch: MAIN
Changes since 1.58: +2 -2 lines
Diff to previous 1.58
Remove the STAY list for good from c-d-set.

Agh. Save your buffers before committing. Sorry for the commits spam.

Revision 1.58 - (view) (annotate) - [select for diffs]
Thu Apr 20 23:21:35 2006 UTC (8 years ago) by afuchs
Branch: MAIN
Changes since 1.57: +15 -14 lines
Diff to previous 1.57
Big O changes, this time. Some more constant factors, too.

 * Use a spatial tree for the "stay" records and query it. Note that I
   said "changes", not improvements. It's 1:30 in the morning, so I'll
   leave the benchmarking to others. (:
 * Also, build the list of gone-overlap, come-overlap, come and gone
   records "right" the first time around, so we can just return it
   unmodified, without having to mapcar (list x x) over them first.

Revision 1.57 - (view) (annotate) - [select for diffs]
Thu Apr 20 22:53:15 2006 UTC (8 years ago) by afuchs
Branch: MAIN
Changes since 1.56: +22 -8 lines
Diff to previous 1.56
argh. revert the last constant-factors fold.

gather-was and gather-is are fundamentally different. file under
lessons learned.

Revision 1.56 - (view) (annotate) - [select for diffs]
Thu Apr 20 22:43:47 2006 UTC (8 years ago) by afuchs
Branch: MAIN
Changes since 1.55: +8 -22 lines
Diff to previous 1.55
Improve constant factors on compute-difference-set further

 * gather-was and gather-is do the same, too. merge them.

Revision 1.55 - (view) (annotate) - [select for diffs]
Thu Apr 20 22:40:48 2006 UTC (8 years ago) by afuchs
Branch: MAIN
Changes since 1.54: +66 -62 lines
Diff to previous 1.54
Improve constant factors on compute-difference-set.

 * now does more things in only one iteration over:
   * is, is-table, come, stay
   * was, was-table.
 * big-O improvements left as an exercise to the reader or evaluator.

Revision 1.54 - (view) (annotate) - [select for diffs]
Fri Mar 10 21:58:13 2006 UTC (8 years, 1 month ago) by tmoore
Branch: MAIN
CVS Tags: McCLIM-0-9-2
Changes since 1.53: +0 -2 lines
Diff to previous 1.53
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.

Revision 1.53 - (view) (annotate) - [select for diffs]
Mon Feb 6 14:33:53 2006 UTC (8 years, 2 months ago) by crhodes
Branch: MAIN
Changes since 1.52: +19 -12 lines
Diff to previous 1.52
Some more reduction of .gold.ac.uk mcclim diff
... minor edits to incremental-redisplay.lisp -- the major functional
change has been absorbed into application code, using a specialization
of INCREMENTAL-REDISPLAY for an application-defined subclass of
STANDARD-UPDATING-OUTPUT-RECORD.

Revision 1.52 - (view) (annotate) - [select for diffs]
Thu Aug 18 03:17:21 2005 UTC (8 years, 8 months ago) by rstrandh
Branch: MAIN
Changes since 1.51: +2 -42 lines
Diff to previous 1.51
Initial cleanups to incremental redisplay.

Revision 1.51 - (view) (annotate) - [select for diffs]
Tue Aug 16 04:30:37 2005 UTC (8 years, 8 months ago) by rstrandh
Branch: MAIN
Changes since 1.50: +2 -2 lines
Diff to previous 1.50
Fixed a bug in function-matches-p.  It should use symbol-function and
not symbol-value.

Revision 1.50 - (view) (annotate) - [select for diffs]
Mon Aug 15 00:41:38 2005 UTC (8 years, 8 months ago) by tmoore
Branch: MAIN
Changes since 1.49: +1 -1 lines
Diff to previous 1.49
Change specialized output-record-hash method to specialize on standard-bounding-rectangle, as noted by Taylor Campbell

Revision 1.49 - (view) (annotate) - [select for diffs]
Tue Aug 9 20:30:12 2005 UTC (8 years, 8 months ago) by tmoore
Branch: MAIN
Changes since 1.48: +33 -1 lines
Diff to previous 1.48
Implement a generic output-record-hash which doesn't depend on the coordinates slot of standard-rectangle

Revision 1.48 - (view) (annotate) - [select for diffs]
Sun May 8 18:15:44 2005 UTC (8 years, 11 months ago) by gbaumann
Branch: MAIN
Changes since 1.47: +40 -22 lines
Diff to previous 1.47
incremental redisplay changes, part ii:
If in UPDATING-OUTPUT the cache test passes but the y cursor
coordinate changed, instead of calling the display function again we
just move the record on our own.

Revision 1.47 - (view) (annotate) - [select for diffs]
Sun May 8 18:09:11 2005 UTC (8 years, 11 months ago) by gbaumann
Branch: MAIN
Changes since 1.46: +120 -151 lines
Diff to previous 1.46
Incremental redisplay changes, part i: checking for overlap.

Revision 1.46 - (view) (annotate) - [select for diffs]
Tue Mar 8 10:46:16 2005 UTC (9 years, 1 month ago) by tmoore
Branch: MAIN
Changes since 1.45: +32 -46 lines
Diff to previous 1.45
Added a slot in updating output records for the bounding box of the old
children, which is set at the beginning of redisplay. The bounding rectangle
of the old children may become invalid if the positions of display records are
setf'ed explicitly e.g., by table layout. Use this saved bounding rectangle
in compute-difference-set.

Revision 1.45 - (view) (annotate) - [select for diffs]
Tue Feb 22 14:00:10 2005 UTC (9 years, 1 month ago) by tmoore
Branch: MAIN
CVS Tags: McCLIM-0-9-1
Changes since 1.44: +51 -24 lines
Diff to previous 1.44
Fixed presentation highlighting to do the right thing in the
:SINGLE-BOX NIL case.

Fixed Goatee to not draw anything when drawing is not enabled for the
stream.

Changed input editing streams to never put activation gestures in the
input buffer. There is only one place to receive an activation
gesture: the end of the buffer. If the user types an activation
gesture, the insertion pointer is moved to the end of the buffer.

Fixed various problems with accepting-values. In particular, the
insertion pointer does not need to be left at the end of a field when
the user exits the dialog. Also, the behavior in the presence of
errors new: if an error occurs while the user is typing in an
accepting-values field, the bell is beeped and the insertion pointer
is positioned before the stream position where the error occured.

Revision 1.44 - (view) (annotate) - [select for diffs]
Fri Feb 11 12:55:49 2005 UTC (9 years, 2 months ago) by tmoore
Branch: MAIN
Changes since 1.43: +6 -5 lines
Diff to previous 1.43
In COMPUTE-DIFFERENCE-SET fix null visible-region case. Thanks to
Christophe Rhodes.

Revision 1.43 - (view) (annotate) - [select for diffs]
Fri Feb 11 11:50:22 2005 UTC (9 years, 2 months ago) by tmoore
Branch: MAIN
Changes since 1.42: +10 -1 lines
Diff to previous 1.42
Exit early from COMPUTE-DIFFERENCE-SET if both the old and new trees
lie outside the visible region on the screen. This fixes a problem
that I believe was introduced in 1.35: COMPUTE-DIFFERENCE-SET  has to run
on all updating-output records in a tree, but the full difference
algorithm shouldn't be invoked if nothing is or was visible.

Revision 1.42 - (view) (annotate) - [select for diffs]
Tue Jan 18 09:16:30 2005 UTC (9 years, 3 months ago) by tmoore
Branch: MAIN
Changes since 1.41: +7 -3 lines
Diff to previous 1.41
Add explicit calls to FINISH-OUTPUT in COMPUTE-NEW-OUTPUT-RECORDS and
INVOKE-UPDATING-OUTPUT. The current text record was being put in
different subtrees when a new updating output record was created and
when an existing one was found and reused.

Revision 1.41 - (view) (annotate) - [select for diffs]
Tue Jan 11 13:35:18 2005 UTC (9 years, 3 months ago) by tmoore
Branch: MAIN
Changes since 1.40: +57 -45 lines
Diff to previous 1.40
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.

Revision 1.40 - (view) (annotate) - [select for diffs]
Sun Oct 24 15:47:02 2004 UTC (9 years, 5 months ago) by moore
Branch: MAIN
Changes since 1.39: +2 -1 lines
Diff to previous 1.39
Implemented :ALIGN-PROMPTS in ACCEPTING-VALUES. This was harder than
it sounds, requiring several changes and cleanups:

Moved the call to PROMPT-FOR-ACCEPT from ACCEPT to STREAM-ACCEPT. The
spec vaguely hints that ACCEPT is responsible for drawing the prompt,
but that makes things like wrapping the calls to PROMPT-FOR-ACCEPT
and ACCEPT-PRESENT-DEFAULT inside a table formatting directive hard
to do. This shouldn't affect any user code.

Made Goatee input streams play nice with output recording. Added the
notion of a NEWLINE-CHARACTER to Goatee buffers; NIL is valid, so one
can construct Goatee areas that will only have one line. This
eliminates a lot of ugliness from ACCEPTING-VALUES dialogs.

Fixed a few Goatee bugs.

Revision 1.39 - (view) (annotate) - [select for diffs]
Fri Oct 15 13:05:36 2004 UTC (9 years, 6 months ago) by moore
Branch: MAIN
Changes since 1.38: +24 -2 lines
Diff to previous 1.38
Implement the :INITIALLY-SELECT-QUERY-IDENTIFIER option of
ACCEPTING-VALUES. Update the text entry field in ACCEPTING-VALUES
when the :DEFAULT argument in the corresponding call to ACCEPT
changes. Return the correct third value from ACCEPT when the user
enters new input.

Add some documentation about INCREMENTAL-DISPLAY and the difference
set.

Added FIND-PRESENTATION-TYPE-CLASS and CLASS-PRESENTATION-TYPE-NAME
which are trivial but which were not implemented.

Examples/accepting-values.lisp is a couple of examples from the Franz
user guide.

Tools/unimplemented.lisp prints out all the symbols in the CLIM
package which have no definition.

Revision 1.38 - (view) (annotate) - [select for diffs]
Thu Oct 14 11:16:45 2004 UTC (9 years, 6 months ago) by moore
Branch: MAIN
Changes since 1.37: +149 -79 lines
Diff to previous 1.37
Implemented the generic function INCREMENTAL-DISPLAY. Changed
REDISPLAY-OUTPUT-RECORD to use it. COMPUTE-DIFFERENCE-SET now does
the right thing with respect to :CHECK-OVERLAPPING. Also, it now calls
NOTE-OUTPUT-RECORD-{GOT,LOST}-SHEET on all the display records that
may need it, not just those in the visible region.

Revision 1.37 - (view) (annotate) - [select for diffs]
Wed Oct 6 12:03:56 2004 UTC (9 years, 6 months ago) by moore
Branch: MAIN
Changes since 1.36: +2 -1 lines
Diff to previous 1.36
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.

Revision 1.36 - (view) (annotate) - [select for diffs]
Sun Sep 26 15:57:38 2004 UTC (9 years, 6 months ago) by moore
Branch: MAIN
Changes since 1.35: +389 -227 lines
Diff to previous 1.35
Support for UPDATING-OUTPUT where the display records are moved around
during the course of redisplay. In particular, UPDATING-OUTPUT now
works inside of tables.

Get stream-clear-output from host CL.

Revision 1.35 - (view) (annotate) - [select for diffs]
Fri Aug 13 14:10:11 2004 UTC (9 years, 8 months ago) by moore
Branch: MAIN
Changes since 1.34: +89 -67 lines
Diff to previous 1.34
Fixers for several bugs revealed by indented-lists.lisp from the CLIM
repository. The mechanism for establishing a current updating-output
record for the purposes of cache lookup was broken. There was a bug
in compute-difference-set, and also a problem with recording the
current stream state of an updating-output record during redisplay.

Added a bunch of debugging and tracing code to incremental redisplay.

Revision 1.34 - (view) (annotate) - [select for diffs]
Fri Jul 23 12:36:44 2004 UTC (9 years, 8 months ago) by moore
Branch: MAIN
Changes since 1.33: +30 -20 lines
Diff to previous 1.33
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
(tsiivola@cc.hut.fi).

Listener SBCL fixes from Christophe Rhodes (csr21@cam.ac.uk)

Revision 1.33 - (view) (annotate) - [select for diffs]
Fri Jul 9 09:24:27 2004 UTC (9 years, 9 months ago) by strandh
Branch: MAIN
Changes since 1.32: +3 -2 lines
Diff to previous 1.32
Fixed (actually, Tim fixed) a problem where panes were cleared before
redisplay, even though :no-clear was specified at pane creation time.

Revision 1.32 - (view) (annotate) - [select for diffs]
Fri Apr 23 19:29:48 2004 UTC (9 years, 11 months ago) by moore
Branch: MAIN
Changes since 1.31: +33 -3 lines
Diff to previous 1.31
Changes to turn off, and then turn on again, presentation highlighting
when redrawing a pane, with the aim of fixing various screwups that
happen with tricky presentation highlighting that uses
+flipping-ink+. As part of this I removed redisplay-changed-panes and
rewrote the CLIM standard functions redisplay-frame-panes,
redisplay-frame-pane, and pane-redisplay-needed. I did various
refactoring among methods on panes, frames, and
updating-output-mixin too.

Moved a bunch of :initform forms to :default-initargs.

Random (declare (ignore ...)) to shut up compiler warnings.

Revision 1.31 - (view) (annotate) - [select for diffs]
Wed Mar 24 09:30:29 2004 UTC (10 years ago) by moore
Branch: MAIN
Changes since 1.30: +157 -4 lines
Diff to previous 1.30
2004-03-24  Timothy Moore  <moore@bricoworks.com>

	* INSTALL.OPENMCL: updated instructions.

	* builtin-commands.lisp (default-translator): Return the
	presentation type of the presentation as the second value.
	(document-form-translator): New function
	(%frob-constant-form, %frob-form): Use document-form-translator. Add
	translators from standard-object to expression and form.
	(expression-as-form): Add a menu entry for this translator.
	(ccl::%read-list-expression, (accept expression t textual-view),
	read, read-preserving-whitespace): Move the Lisp form reader
	stuff from the ptype 'form to the ptype 'expression. Disallow any
	activation or delimiter gestures while reading an expression.

	* commands.lisp (command-name-from-symbol): Don't strip leading
	subsequences of "COM-" from the command name.
	(keyword-arg-name-from-symbol): New function.
	(command-parsers): Add argument-unparser slot
	(make-keyword): New function
	(make-key-accessors): Use it. Accept keynames that begin with a
	#\: and have dashes replaced by spaces.
	(make-unprocessor-fun) New function to create an unprocessor
	function for each command.
	(%define-command): New macro preserving  old behavior. Use new
	unprocessor stuff.
	(output-destination, invoke-with-standard-output): New class and
	generic function for outputing the results of commands to an
	output stream.
	(define-command): Implement :provide-output-destination-keyword
	(command-line-unparser): Call new stuff instead.

	* dialog.lisp: Add (redundant):provide-output-destination-keyword
	keyword argument to some commands.

	* incremental-redisplay.lisp: Work in progress. Turn things
	inside-out.

	* input-editing.lisp (complete-input): Don't insert input when mode is
	:complete and we've failed.

	* presentation-defs.lisp (accept-1): Use multiple-value-list when
	looking at results of accept method.
	((present t completion t t)): Use the arguments to the type to drive
	the present method here.
	((accept sequence t textual-view)): Don't peek-char initially! It
	breaks accepting the first element via mouse click.
	(accept sequence-enumerated t textual-view): new method.

	* recording.lisp : Cosmetic fixups.

	* regions.lisp (ellipse-normal-radii*): Add Gilbert's English
	translation of the comment and clean up the function.

	* system.lisp: Add Goatee/presentation-history.

	* transforms.lisp (+identity-transformation+): Move earlier in the
	file to avoid a warning.

	* utils.lisp (delete-1, parse-lambda-list): new functions.

	* Apps/Listener/dev-commands.lisp : Add
	:provide-output-destination-keyword argument to many commands.
	((presentation-type generic-function)): Rewrite. Make it inherit from
	t, add accept method. The type of the object is generic-function, not
	the name or something.
	((presentation-type standard-generic-function), (presentation-type
	method), (presentation-type standard-method)): add.
	(Show Generic Function): All-singing all-dancing command for exploring
	generic functions and their methods.
	((presentation-type package)): New type with completing accept method.
	(Set Package): New command

	* Apps/Listener/listener.lisp (run-frame-top-level): Add bindings for
	all the Common Lisp reader and printer variables.

	* Apps/Scigraph/dwim/macros.lisp (define-command): Add
	:provide-output-destination-keyword support for McCLIM.

	* Goatee/goatee-command.lisp (lookup-gesture-command): Disable
	annoying debugging output.

	* Lisp-Dep/fix-openmcl.lisp (:clim-mop): In OpenMCL 0.14 use and
	export all symbols from :openmcl-mop.
	(compute-applicable-methods-using-classes): Hack for the listener.

Revision 1.30 - (view) (annotate) - [select for diffs]
Thu Jan 15 04:29:11 2004 UTC (10 years, 3 months ago) by moore
Branch: MAIN
Changes since 1.29: +44 -26 lines
Diff to previous 1.29
Some efficiency fixes for table formatting and incremental redisplay. Don't update the parents of row cells until the adjust-table phase. Only consider records on the screen for updating-output (this breaks the got-sheet/lost-sheet stuff I did a few weeks ago; more on that soon). Fix tree-recompute-extent.

Revision 1.29 - (view) (annotate) - [select for diffs]
Fri Dec 12 19:21:46 2003 UTC (10 years, 4 months ago) by moore
Branch: MAIN
Changes since 1.28: +52 -22 lines
Diff to previous 1.28
Suppress note-output-record-{got,lost}-sheet during incremental
redisplay. Class those methods on the records that are added or
deleted at the end if incremental redisplay.

Restore the listener behavior of accepting commands (by clicking)
before a command is entered by adding an around method on
read-frame-command.

Revision 1.28 - (view) (annotate) - [select for diffs]
Wed Dec 3 14:36:34 2003 UTC (10 years, 4 months ago) by mikemac
Branch: MAIN
Changes since 1.27: +2 -4 lines
Diff to previous 1.27
back out changes as per Andy Hefner

Revision 1.27 - (view) (annotate) - [select for diffs]
Sun Nov 30 00:05:28 2003 UTC (10 years, 4 months ago) by hefner1
Branch: MAIN
Changes since 1.26: +4 -2 lines
Diff to previous 1.26
Fixes to make incremental redisplay and WITH-OUTPUT-AS-GADGET play nice
together.

* Replace instaces of (setf (output-record-parent foo) nil) with calls to
  DELETE-OUTPUT-RECORD so as to not undermine the got/lost sheet
  notifications. We could use something like REPARENT-OUTPUT-RECORD here,
  but I'm not going to implement it until there is some real use of gadget
  output records to demonstrate its necessity.

* Shuffle timing of how NOTE-OUTPUT-RECORD-GOT-SHEET gets called. Instead
  of invoking it on :before ADD-OUTPUT-RECORD, invoke it on the :after
  method, and only when the child record's parent really equals the record
  passed to A-O-R. This check prevents confusion from how updating-output
  records delegate the added record to some other record.

Revision 1.26 - (view) (annotate) - [select for diffs]
Tue Nov 11 02:03:59 2003 UTC (10 years, 5 months ago) by mikemac
Branch: MAIN
CVS Tags: McCLIM-0-9
Changes since 1.25: +1 -0 lines
Diff to previous 1.25
ignore the first definition of convert-from-relative-to-absolute-coordinates

Revision 1.25 - (view) (annotate) - [select for diffs]
Mon Nov 10 05:46:32 2003 UTC (10 years, 5 months ago) by moore
Branch: MAIN
Changes since 1.24: +4 -0 lines
Diff to previous 1.24
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.

Revision 1.24 - (view) (annotate) - [select for diffs]
Mon Nov 3 14:02:28 2003 UTC (10 years, 5 months ago) by moore
Branch: MAIN
Changes since 1.23: +9 -5 lines
Diff to previous 1.23
snapshot of scigraph for sbcl

Revision 1.23 - (view) (annotate) - [select for diffs]
Mon Nov 3 09:56:23 2003 UTC (10 years, 5 months ago) by moore
Branch: MAIN
Changes since 1.22: +8 -0 lines
Diff to previous 1.22
Conditionalization (not complete) of scigraph for McCLIM and OpenMCL

Revision 1.22 - (view) (annotate) - [select for diffs]
Sat Jul 26 17:37:57 2003 UTC (10 years, 8 months ago) by gilbert
Branch: MAIN
Changes since 1.21: +1 -1 lines
Diff to previous 1.21
Due to popular demand we spit FORMAT-style debugging messages out to
*trace-output* instead of *debug-io*

Revision 1.21 - (view) (annotate) - [select for diffs]
Fri Jul 4 06:38:06 2003 UTC (10 years, 9 months ago) by moore
Branch: MAIN
Changes since 1.20: +11 -0 lines
Diff to previous 1.20

Some cleanup of deleted Goatee area and screen-line methods.

Provide foreground-ink and background-ink slots for Goatee areas.

When an updating-output record is deleted, also delete it from its parent cache.
This prevents it from "coming back from the dead" later.

Revision 1.20 - (view) (annotate) - [select for diffs]
Fri May 30 05:25:07 2003 UTC (10 years, 10 months ago) by moore
Branch: MAIN
Changes since 1.19: +9 -19 lines
Diff to previous 1.19
Slight correction to Gilbert's fix to prevent duplicate records

Revision 1.19 - (view) (annotate) - [select for diffs]
Sun May 25 14:23:06 2003 UTC (10 years, 10 months ago) by gilbert
Branch: MAIN
Changes since 1.18: +13 -0 lines
Diff to previous 1.18
COMPUTE-NEW-OUTPUT-RECORDS-1:
   A small fix, at least I believe so. Moore: please look into it.

Revision 1.18 - (view) (annotate) - [select for diffs]
Mon Apr 21 15:05:22 2003 UTC (11 years ago) by moore
Branch: MAIN
Changes since 1.17: +245 -63 lines
Diff to previous 1.17
More work on updating-output.  It's working well enough to be on by default.

Make the menu code throw a command presentation object/type instead of
directly invoking the command function.

Revision 1.17 - (view) (annotate) - [select for diffs]
Wed Apr 2 07:48:59 2003 UTC (11 years ago) by moore
Branch: MAIN
Changes since 1.16: +154 -142 lines
Diff to previous 1.16
Incremental redisplay lurches forward. It kind of works, though
deleted records leave holes.  I've left *enable-updating-output* false
because performance is pretty awful.  There's a couple of reasons for
this: our standard-tree-output-record isn't a tree, so scanning the
output record history for matching records is O(n^2).  Also, every
character is its own output record (gotta fix this!), so there are a
lot of records to consider.

Revision 1.16 - (view) (annotate) - [select for diffs]
Fri Mar 21 21:36:59 2003 UTC (11 years, 1 month ago) by mikemac
Branch: MAIN
Changes since 1.15: +1 -1 lines
Diff to previous 1.15
make all of the package names passed to in-package be lowercase keywords for ACL's java mode

Revision 1.15 - (view) (annotate) - [select for diffs]
Sun Feb 2 08:06:43 2003 UTC (11 years, 2 months ago) by moore
Branch: MAIN
Changes since 1.14: +4 -5 lines
Diff to previous 1.14
Andreas Fuchs' kill ring implementation for Goatee.

Fix unbound class-precedence-list in CMUCL problem reported by
Gilbert.  New year's resolution: test code with CMUCL.

Use a Unix domain socket with OpenMCL.

Revision 1.14 - (view) (annotate) - [select for diffs]
Tue Jan 28 08:17:41 2003 UTC (11 years, 2 months ago) by moore
Branch: MAIN
Changes since 1.13: +235 -118 lines
Diff to previous 1.13
Output record values are stored in stream coordinates, not user (post
medium transformation) coordinates.

All medium state values are stored in output records by individual
mixin classes that are assembled for each output record type.

Medium parameters are only set in replay-output-record, not set and
restored.  Medium values are set/restored in replay.

Checkpoint of incremental redisplay, currently disabled.

Implement match-output-record.

Revision 1.13 - (view) (annotate) - [select for diffs]
Thu Nov 28 19:56:57 2002 UTC (11 years, 4 months ago) by mikemac
Branch: MAIN
Changes since 1.12: +7 -0 lines
Diff to previous 1.12
added auxillary functions from Fred Gilham

Revision 1.12 - (view) (annotate) - [select for diffs]
Thu Nov 21 03:54:49 2002 UTC (11 years, 4 months ago) by mikemac
Branch: MAIN
Changes since 1.11: +1 -1 lines
Diff to previous 1.11
remove redundant declarations and definitions

Revision 1.11 - (view) (annotate) - [select for diffs]
Sun Nov 10 15:48:56 2002 UTC (11 years, 5 months ago) by gilbert
Branch: MAIN
Changes since 1.10: +1 -2 lines
Diff to previous 1.10
Commit of patch submitted my Oliver Markovic.
Original message:

    Message-ID: <87bs4y1mhh.fsf@draco.home.lan>
    From: Oliver Markovic <qgo@gmx.net>
    To: free-clim@mikemac.com
    Subject: Protocol Classes
    Date: Sat, 09 Nov 2002 22:06:50 +0100

    Hi,

    Attached is a patch, which uses DEFINE-PROTOCOL-CLASS for all protocol
    classes as defined in the spec (not all were using that macro). I also
    added simple docstrings to the macro and changed the error message to
    something more civil :-)

    This should also add some required predicates, which were missing.

    I also noticed that protocol classes were given slots contradicting the
    definition in 2.5: "A protocol class is an "abstract" class with no
    slots and no methods (except perhaps for some default methods) [...]".
    But I guess that's no serious deviation from the spec though.

    greetz,
    --
     Oliver Markovic

Revision 1.10 - (view) (annotate) - [select for diffs]
Tue Nov 5 06:56:04 2002 UTC (11 years, 5 months ago) by adejneka
Branch: MAIN
Changes since 1.9: +0 -1 lines
Diff to previous 1.9
Do not declare used variables to be IGNOREd.

Revision 1.9 - (view) (annotate) - [select for diffs]
Tue Sep 24 01:56:30 2002 UTC (11 years, 6 months ago) by moore
Branch: MAIN
Changes since 1.8: +111 -27 lines
Diff to previous 1.8
Fixed bug reported by Paul Werkowski; coordinate sequences can now be
lists or vectors.  Introduced a do-sequence macro that has similar
semantics to dotimes and dolist as well as features of map-sequence.

Implemented frame-state (except for :shrunk).  Changed timing of when
frames are generated, adopted and enabled to follow the spec.  Fixed
clim-fig to adapt to this new world order.  Disable the frame when the
top level function exits.

Remove erroring methods for copy-to-pixmap (stream ...) and friends.

Wrote a with-keywords-removed macro that attempts to be efficient
about about removing arguments from argument lists.

Revision 1.8 - (view) (annotate) - [select for diffs]
Thu Sep 12 08:15:42 2002 UTC (11 years, 7 months ago) by brian
Branch: MAIN
Changes since 1.7: +5 -1 lines
Diff to previous 1.7
applied gilham patch with CHECKME note

Revision 1.7 - (view) (annotate) - [select for diffs]
Thu Aug 1 07:21:17 2002 UTC (11 years, 8 months ago) by moore
Branch: MAIN
Changes since 1.6: +1 -1 lines
Diff to previous 1.6
Revamp modifier resolution mechanism to use a precomputed map of X
modifier bits to CLIM modifier values.  Future work would include
recomputing this map on receiving a mapping event.

Resolve modifiers for pointer events.

Revision 1.6 - (view) (annotate) - [select for diffs]
Wed Jul 31 07:44:30 2002 UTC (11 years, 8 months ago) by moore
Branch: MAIN
Changes since 1.5: +66 -9 lines
Diff to previous 1.5
Editable text fields.  Support for the OR presentation type.  Added
:mcclim to *features*.

This was done in support of Jochen Schmidt's weird-irc IRC client,
which now works reasonably well under McCLIM, though it isn't as
pretty as some of the screenshots at http://www.dataheaven.de/weird-irc/.

Revision 1.5 - (view) (annotate) - [select for diffs]
Wed Jun 26 06:27:19 2002 UTC (11 years, 9 months ago) by moore
Branch: MAIN
Changes since 1.4: +81 -22 lines
Diff to previous 1.4
Fixed problem Gilbert reported; event-queue-listen-or-wait was
depending on the return result of process-wait which is not portable.

Work in progress on incremental redisplay.

Revision 1.4 - (view) (annotate) - [select for diffs]
Thu Jun 20 21:46:23 2002 UTC (11 years, 10 months ago) by moore
Branch: MAIN
Changes since 1.3: +88 -0 lines
Diff to previous 1.3
Multiline display now works in Goatee.  The redisplay algorithm leaves
a lot to be desired, but is serviceable for small areas.

Baby steps towards incremental redisplay.

Revision 1.3 - (view) (annotate) - [select for diffs]
Mon May 20 20:18:03 2002 UTC (11 years, 11 months ago) by mikemac
Branch: MAIN
Changes since 1.2: +2 -1 lines
Diff to previous 1.2
clean up a bunch of ACL compiler warnings

Revision 1.2 - (view) (annotate) - [select for diffs]
Wed Apr 3 02:36:59 2002 UTC (12 years ago) by moore
Branch: MAIN
Changes since 1.1: +18 -8 lines
Diff to previous 1.1
Fix to updating-output macro to make it work with CMUCL.
New maxf and minf modify macros.
Overhaul of recording.lisp:
fix typo of map-over-overlaping-region -> map-over-overlapping-region
Suppress recompute-extent-for-changed-child when setffing
output-record-position
Strictly separate class structure into protocol classes and implementation
classes

Revision 1.1 - (view) (annotate) - [select for diffs]
Tue Feb 26 15:42:08 2002 UTC (12 years, 1 month ago) by mikemac
Branch: MAIN
place holder for updating-output

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.

  Diffs between and
  Type of Diff should be a

Sort log by:

  ViewVC Help
Powered by ViewVC 1.1.5