/[mcclim]/mcclim/clx-medium.lisp
ViewVC logotype

Log of /mcclim/clx-medium.lisp

Parent Directory Parent Directory | Revision Log Revision Log


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

Revision 1.25
Mon Oct 29 19:57:12 2001 UTC (12 years, 5 months ago) by mikemac
Branch: MAIN
CVS Tags: HEAD
Changes since 1.24: +0 -0 lines
FILE REMOVED
restructure directory layout

Revision 1.24 - (view) (annotate) - [select for diffs]
Thu Oct 4 19:26:59 2001 UTC (12 years, 6 months ago) by rouanet
Branch: MAIN
Changes since 1.23: +44 -5 lines
Diff to previous 1.23
Rewrote the copy-{from,to}-pixmap and copy-area functions according to
the new spec.

The main difference is that the three functions now rely on
medium-copy-area, which is specialized on both a source an a destination
`drawable' and is in charge of the low-level stuff, such as
xlib:copy-area for clx-medium.  This leads to clearer and shorter code.

The copy to/from a stream is not implemended yet.

Revision 1.23 - (view) (annotate) - [select for diffs]
Tue Sep 11 12:47:23 2001 UTC (12 years, 7 months ago) by rouanet
Branch: MAIN
Changes since 1.22: +7 -8 lines
Diff to previous 1.22
Modified the code used to compute the CLX clipping mask.

Revision 1.22 - (view) (annotate) - [select for diffs]
Fri Sep 7 18:00:20 2001 UTC (12 years, 7 months ago) by rouanet
Branch: MAIN
Changes since 1.21: +2 -6 lines
Diff to previous 1.21
Changed the clipping region to be the device region, ie the clipping
region transformed by the device transformation.

Revision 1.21 - (view) (annotate) - [select for diffs]
Fri Sep 7 13:13:04 2001 UTC (12 years, 7 months ago) by rouanet
Branch: MAIN
Changes since 1.20: +102 -71 lines
Diff to previous 1.20
- Applied the native transformation in drawing functions defined on
clx-medium.
- Added a clx-specific (faster) medium-draw-points* method.

Revision 1.20 - (view) (annotate) - [select for diffs]
Fri Aug 24 10:49:51 2001 UTC (12 years, 7 months ago) by strandh
Branch: MAIN
Changes since 1.19: +57 -14 lines
Diff to previous 1.19
Added :before methods to (setf medium-text-style) and (setf
medium-line-style) that forward modifications to the graphics context
when it exists.  The idea is to avoid modifying the graphics context
as much as possible, since that turns out to be quite costly.  A
similar thing should be done for other medium components such as the
ink, clipping region, etc.

Modified function medium-gcontext to set the fields in the graphics
context having to do with line-style and text-style only when a new
graphics context is created.  Also fixed Julien's comment by adding a
semicolon so that it would indent properly.

The address-book example now displays faster, but not fast enough.
The problem is that replay-output-record always creates a new medium.
Doing so has two major consequences.  First, it slows down the
medium-gcontext function because there is never a graphics context
allocated so it has to be allocated and filled in for each call.
Second (worse) it does not deallocate the graphics contexts.  If we
are lucky, CLX will do that for us.  If not, we will eventually run
out of X resources.

The main time consumer in the address book example is now
port-lookup-mirror (around 10%).  The current method (a hash table in
the port) should be replaced by one in which the mirror is a field in
the mirrored sheet.

Fixed a spelling error in recent comments in the medium class and
signed the comments.

Started signing and dating my comments (as recommended by Norvig),
since I discovered I needed to know who had written a comment that was
not signed.  I used ISO date format to avoid international
misunderstandings.

Revision 1.19 - (view) (annotate) - [select for diffs]
Thu Aug 23 05:33:33 2001 UTC (12 years, 7 months ago) by strandh
Branch: MAIN
Changes since 1.18: +15 -0 lines
Diff to previous 1.18
Redefined text-style-{ascent,descent,height,width} to conform to
specification and changed all invocations.  Removed local variable
`port' in :around functions for stream-write-xxx in recording.lisp as
it is no longer necessary with the new definition of these functions.

There were two methods port-character-width on a clx-port used by
stream-character-width and character-width on a generic port (a
fall-through method) which was never used.  I renamed character-width
to port-character-width and made its signature identical to that of
port-character-width.

To be consistent with port-character-width above, I renamed the
generic function line-height, which is now called port-line-height.
There is currently only one method on it, the fall-through method on a
generic port, which is OK I guess since it is currently never called.

Revision 1.18 - (view) (annotate) - [select for diffs]
Tue Aug 21 13:37:08 2001 UTC (12 years, 8 months ago) by rouanet
Branch: MAIN
Changes since 1.17: +56 -105 lines
Diff to previous 1.17
- clx-medium is now a subclass of basic-medium.  As a consequence, the
medium-transformation stuff has been removed from the medium-draw-*
methods on clx-medium, because the arguments are automatically
transformed by the basic-medium.

- Added the draw-rectangles* function and the associated
medium-draw-rectangle* method.

Revision 1.17 - (view) (annotate) - [select for diffs]
Tue Aug 14 19:16:36 2001 UTC (12 years, 8 months ago) by gilbert
Branch: MAIN
Changes since 1.16: +7 -0 lines
Diff to previous 1.16
Careful re-commit of what I did on 2001-08-12. Namely

 - Spend CLIM-LISP package
 - Provided CLIM-LISP-PATCH for patching your CL
 - Fixed the package structure to match section 2.2
   . CLIM symbols have the CLIM package as home package.
   . CLIMI then uses CLIM, CLIM-LISP etc.
 - Fix of WITH-SPECIAL-CHOICES
   . Early enough definition of macro
   . Macro calls gf INVOKE-WITH-SPECIAL-CHOICES available for
     specialization
 - Added file decls.lisp for random beforehand declarations.
 - Added CMU-specific fixes in fix-cmu.lisp;
   . DEFCONSTANT is now DEFPARAMETER (we had this kludge already)
   . DEFCLASS is now wraped into (EVAL-WHEN (COMPILE EVAL LOAD) #), which
     helps the compiler a bit and saves a warning here and there.

Revision 1.16 - (view) (annotate) - [select for diffs]
Fri Aug 10 13:54:59 2001 UTC (12 years, 8 months ago) by rouanet
Branch: MAIN
Changes since 1.15: +63 -11 lines
Diff to previous 1.15
Committed a patch made by Iban Hatchondo:

- Fixes the bug due to the wrongly documented xlib:text-extents
function.
- Adds a translate function, and uses the option :translate in the
xlib:text-extents and xlib:draw-glyphs function calls.

This way non-ASCII characters are now displayed correctly.

Revision 1.15 - (view) (annotate) - [select for diffs]
Thu Aug 9 17:01:12 2001 UTC (12 years, 8 months ago) by rouanet
Branch: MAIN
Changes since 1.14: +16 -0 lines
Diff to previous 1.14
Added the new medium-specific output functions:
  - medium-finish-output
  - medium-force-output
  - medium-clear-area
  - medium-beep

These functions have each a default method defined on basic-medium, and
a xlib-specific version on clx-medium.

The medium-clear-area function is now used to implement the window-clear
function, and the medium-beep is called by the beep function.

Revision 1.14 - (view) (annotate) - [select for diffs]
Mon Jul 23 10:49:43 2001 UTC (12 years, 8 months ago) by boninfan
Branch: MAIN
Changes since 1.13: +16 -4 lines
Diff to previous 1.13
Added native-region, native-transformation, device-region and device-transformation.
Julien

Revision 1.13 - (view) (annotate) - [select for diffs]
Fri Jul 6 13:54:58 2001 UTC (12 years, 9 months ago) by rouanet
Branch: MAIN
Changes since 1.12: +3 -2 lines
Diff to previous 1.12
Fixed a bug in medium-draw-point*.

Revision 1.12 - (view) (annotate) - [select for diffs]
Mon Jun 18 12:40:30 2001 UTC (12 years, 10 months ago) by boninfan
Branch: MAIN
Changes since 1.11: +1 -1 lines
Diff to previous 1.11
Bug in clipping-region->rect-seq : sometimes (transform-region (medium-transformation medium) region)) is not a bounding-rectangle

Revision 1.11 - (view) (annotate) - [select for diffs]
Thu Mar 15 06:45:41 2001 UTC (13 years, 1 month ago) by rouanet
Branch: MAIN
Changes since 1.10: +13 -0 lines
Diff to previous 1.10
Added code to handle medium-clipping-region in CLX graphics context.

Revision 1.10 - (view) (annotate) - [select for diffs]
Mon Mar 12 11:48:11 2001 UTC (13 years, 1 month ago) by rouanet
Branch: MAIN
Changes since 1.9: +26 -13 lines
Diff to previous 1.9
medium-draw-rectangle* now handles non rectilinear transformations.

Fixed a few bugs in medium-draw-ellipse*.

Revision 1.9 - (view) (annotate) - [select for diffs]
Mon Mar 5 12:25:50 2001 UTC (13 years, 1 month ago) by rouanet
Branch: MAIN
Changes since 1.8: +13 -1 lines
Diff to previous 1.8
Added medium-draw-polygon*.

Fixed medium-draw-lines*, which should draw disconnected lines and so
had to call xlib:draw-segments instead of xlib:draw-lines.

Revision 1.8 - (view) (annotate) - [select for diffs]
Fri Mar 2 16:35:36 2001 UTC (13 years, 1 month ago) by rouanet
Branch: MAIN
Changes since 1.7: +32 -1 lines
Diff to previous 1.7
Line joint shapes, cap shapes and dashes are now passed on to CLX
graphics contexts.

medium-draw-ellipse* is implemented for axis-aligned ellipses.

Revision 1.7 - (view) (annotate) - [select for diffs]
Fri Feb 23 12:47:23 2001 UTC (13 years, 1 month ago) by cvs
Branch: MAIN
Changes since 1.6: +10 -0 lines
Diff to previous 1.6
pixmaps are now available. Add a new extensions : draw-glyph (see graphics.lisp). Did the make device-font-text-style.

Revision 1.6 - (view) (annotate) - [select for diffs]
Fri Dec 1 18:39:39 2000 UTC (13 years, 4 months ago) by cvs
Branch: MAIN
Changes since 1.5: +21 -36 lines
Diff to previous 1.5
  Yesterday's transform changes were incorrect. The graphics ops should use
the sheet's region's origin as a translation instead of using the transform.
The transform is only used to translate the coords into the parent's coord
system!

Revision 1.5 - (view) (annotate) - [select for diffs]
Fri Dec 1 00:25:32 2000 UTC (13 years, 4 months ago) by cvs
Branch: MAIN
Changes since 1.4: +31 -7 lines
Diff to previous 1.4
  The graphics ops weren't applying the sheet's transform to their coords.
I added code to compose the sheet's transform with the medium's. It's
still not correct in that the medium's transform should be combined with
all of its ansector's transforms until a mirror is reached.

Revision 1.4 - (view) (annotate) - [select for diffs]
Thu Nov 2 00:10:35 2000 UTC (13 years, 5 months ago) by cvs
Branch: MAIN
Changes since 1.3: +3 -4 lines
Diff to previous 1.3
fixed GC not set bug

Revision 1.3 - (view) (annotate) - [select for diffs]
Fri Aug 25 16:01:35 2000 UTC (13 years, 7 months ago) by cvs
Branch: MAIN
Changes since 1.2: +4 -0 lines
Diff to previous 1.2
Added copyright notice to reflect changes.

Revision 1.2 - (view) (annotate) - [select for diffs]
Thu Aug 24 12:36:53 2000 UTC (13 years, 7 months ago) by cvs
Branch: MAIN
Changes since 1.1: +52 -8 lines
Diff to previous 1.1
Added method for text-size on clx-medium.

Fixed medium-draw-string* to take into account alignment.

Revision 1.1.1.1 - (view) (annotate) - [select for diffs] (vendor branch)
Thu Jun 8 22:01:12 2000 UTC (13 years, 10 months ago) by mikemac
Branch: initial
CVS Tags: start
Changes since 1.1: +0 -0 lines
Diff to previous 1.1 , to next main 1.25
Initial check-in

Revision 1.1 - (view) (annotate) - [select for diffs]
Thu Jun 8 22:01:12 2000 UTC (13 years, 10 months ago) by mikemac
Branch: MAIN
Branch point for: initial
Initial revision

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