Commit graph

71 commits

Author SHA1 Message Date
Eric Wasylishen
1c46dd6417 Cairo backend:
-DPSsetflat: and -DPScurrentflat should not have been transforming
the flatness value with the current transformation matrix.
The effect of this could be seen in the Apple BezierPathLab example;
zooming in on the circle caused it to look more and more like a
polygon.

Also set NSBezierPath default flatness to 0.6 to match OS X
(it was 1.0, which made circles look a bit rough)


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@29145 72102866-910b-0410-8b05-ffd578937521
2009-12-20 18:47:26 +00:00
Fred Kiefer
9a47060a5a Patch by Eric Wasylishen to set the pattern extend in the cairo backend.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@29122 72102866-910b-0410-8b05-ffd578937521
2009-12-14 14:05:32 +00:00
Fred Kiefer
ebfac7ae21 Set colour for cairo text drawing.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@28964 72102866-910b-0410-8b05-ffd578937521
2009-11-06 09:58:09 +00:00
Fred Kiefer
6a453d533c Correct -setColor:state: to handle alpha better.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@28957 72102866-910b-0410-8b05-ffd578937521
2009-11-04 21:56:49 +00:00
Fred Kiefer
2520a756ac Correct stroke colour handling.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@28948 72102866-910b-0410-8b05-ffd578937521
2009-11-03 22:52:28 +00:00
Fred Kiefer
c172ce04b1 Remove commented out code.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@28944 72102866-910b-0410-8b05-ffd578937521
2009-11-03 08:57:28 +00:00
Fred Kiefer
55a29294d2 Use the offset adjustment for cairo > 1.8 in the general case.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@28943 72102866-910b-0410-8b05-ffd578937521
2009-11-03 08:39:15 +00:00
Fred Kiefer
6653ef68cc Add simple gradient implementation for the cairo backend.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@28873 72102866-910b-0410-8b05-ffd578937521
2009-10-23 20:46:41 +00:00
Fred Kiefer
3c8eab0c49 Implement pattern colours for all backends.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@28850 72102866-910b-0410-8b05-ffd578937521
2009-10-19 14:17:45 +00:00
Fred Kiefer
a9dae5b3a7 Patch for the cairo scrolling issue. This will need a lot of testing!
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@28389 72102866-910b-0410-8b05-ffd578937521
2009-07-10 08:11:39 +00:00
Fred Kiefer
0f7b2e89cb Finish rework of composite operators started four years ago.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@28313 72102866-910b-0410-8b05-ffd578937521
2009-05-31 19:46:28 +00:00
Fred Kiefer
33ccb792b2 Correct bug in last change.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@27800 72102866-910b-0410-8b05-ffd578937521
2009-02-06 10:11:30 +00:00
Fred Kiefer
dac60cb4d2 Better handling of clip copying when the clip is not representable by cairo.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@27797 72102866-910b-0410-8b05-ffd578937521
2009-02-05 18:44:18 +00:00
Fred Kiefer
f99e97c43e Implement new method -setPartentWindow:forChildWindow: for X and
Windows.

Adjust y coordinate of point in compositeGState:... for cairo. This
solves bug #24709. 


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@27718 72102866-910b-0410-8b05-ffd578937521
2009-01-29 09:32:32 +00:00
Fred Kiefer
9781c27f45 Small improvements for cairo backend.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@26711 72102866-910b-0410-8b05-ffd578937521
2008-06-25 22:20:18 +00:00
Adam Fedor
250ebdfad0 Revert library license version to 2 until applications can be converted
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@26620 72102866-910b-0410-8b05-ffd578937521
2008-06-10 04:12:46 +00:00
Fred Kiefer
049d17ef30 Correct black bar for cairo > 1.6.0
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@26605 72102866-910b-0410-8b05-ffd578937521
2008-06-07 16:39:08 +00:00
Fred Kiefer
7bf8083235 Small memory fixes.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@26580 72102866-910b-0410-8b05-ffd578937521
2008-05-27 22:29:25 +00:00
Fred Kiefer
9ca5ecc181 Correct cairo glyph to path conversion.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@26426 72102866-910b-0410-8b05-ffd578937521
2008-04-02 22:10:32 +00:00
Fred Kiefer
19dda8e5a7 Clean up and better error check and reporting on cairo and malloc calls.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@26391 72102866-910b-0410-8b05-ffd578937521
2008-03-29 13:16:58 +00:00
Fred Kiefer
ca93f5c895 Correct the cairo version #ifdef.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@26220 72102866-910b-0410-8b05-ffd578937521
2008-03-06 08:35:20 +00:00
Fred Kiefer
1a8804adbb Convert floats from user space to drawing space and visa versa.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@25553 72102866-910b-0410-8b05-ffd578937521
2007-11-05 11:01:59 +00:00
Fred Kiefer
0f8c5487c7 Change files to use GPL 3 and LGPL 3.
Prepare for next release.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@25538 72102866-910b-0410-8b05-ffd578937521
2007-10-29 23:25:10 +00:00
Fred Kiefer
8d37c37008 Hack to get drawing on non-retained windows working.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@25529 72102866-910b-0410-8b05-ffd578937521
2007-10-18 16:51:56 +00:00
Fred Kiefer
69745597e4 Use drawing depth from window.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@25518 72102866-910b-0410-8b05-ffd578937521
2007-10-05 14:02:31 +00:00
Fred Kiefer
c8a731fd97 No error logging when copy of path fails. This is normal in cairo 1.4.10
for empty paths.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@25507 72102866-910b-0410-8b05-ffd578937521
2007-10-01 16:02:16 +00:00
Fred Kiefer
1ce0bd5175 Add PDF output for cairo backend.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@25479 72102866-910b-0410-8b05-ffd578937521
2007-09-12 15:46:55 +00:00
Fred Kiefer
6455a62a4f Clear the GNUstep path after operation.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@25471 72102866-910b-0410-8b05-ffd578937521
2007-09-09 20:34:13 +00:00
Fred Kiefer
ce58b92800 Copy dash and clipping.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@25461 72102866-910b-0410-8b05-ffd578937521
2007-09-06 21:32:55 +00:00
Fred Kiefer
a9e6f5bd73 Add more checks for cairo status.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@25455 72102866-910b-0410-8b05-ffd578937521
2007-09-05 09:59:12 +00:00
Nicolas Roard
c821c8e5c7 Fixed the scrolling bug.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@25446 72102866-910b-0410-8b05-ffd578937521
2007-09-04 02:12:30 +00:00
Nicolas Roard
28f92090ff cleaned the compositeGState:fromRect:toPoint:op:fraction: method
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@25442 72102866-910b-0410-8b05-ffd578937521
2007-09-03 22:26:29 +00:00
Nicolas Roard
09ce663feb AlpenStep stuff with Fred Kiefer's help:
- Added support for 32 bit surfaces when it's possible (use of Xrender extension..).
- Modified the Cairo backend to take advantage of that: we can now draw windows with partial transparency.
- Fixed a bug in the Cairo backend (copy of a surface to itself) using the cairo "groups". Scrolling is still wrong, but we're closer to something good ;-)


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@25441 72102866-910b-0410-8b05-ffd578937521
2007-09-02 14:23:03 +00:00
Sergii Stoian
07a077f3e7 * Source/cairo/CairoGState.m
(-_setPoint): Adjust point.
    (-_adjustPath:): Optimize and cleanup.
    (-compositeGState:fromRect:toPoint:op:fraction:): Adjust toPoint.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@25301 72102866-910b-0410-8b05-ffd578937521
2007-07-02 23:30:11 +00:00
Sergii Stoian
ed77ebb967 * Source/cairo/CairoGState.m
(-DPSsetstrokeadjust:): Implement.
  (-DPSinitgraphics): Set _strokeadjust to 1 by default.
  (-_adjustPath:): Implement new method that place the path to pixel
  boundaries.
  (-_setPath:): Change method definition adding fillOrClip argument.
  Use _adjustPath: method.
  (-DPSclip): Change call of _setPath: to new format.
  (-DPSeoclip): Ditto.
  (-DPSeofill): Ditto.
  (-DPSfill): Ditto.
  (-DPSstroke): Ditto.
  (-compositerect:op:): Ditto.
* Headers/cairo/CairoGState.h: Define _strokeadjust variable.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@25299 72102866-910b-0410-8b05-ffd578937521
2007-07-01 23:02:29 +00:00
Sergii Stoian
5cb04d880e * Source/cairo/CairoGState.m: (-DPSshow:): Apply correct scale
and translate transformation matrix.
* Source/cairo/CairoFontInfo.m: (-widthOfString:): Add sanity check.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@25298 72102866-910b-0410-8b05-ffd578937521
2007-07-01 22:17:14 +00:00
Fred Kiefer
c1d1c74891 Printing improvements and handle rotated text.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@25296 72102866-910b-0410-8b05-ffd578937521
2007-06-29 11:31:53 +00:00
Fred Kiefer
89c1ce993a Use cairo specific code for PS file creation
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@25088 72102866-910b-0410-8b05-ffd578937521
2007-04-27 12:23:28 +00:00
Fred Kiefer
ff21318a0a Backend part of graphic context rewrite.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@24965 72102866-910b-0410-8b05-ffd578937521
2007-04-04 14:33:10 +00:00
Fred Kiefer
1c702a4308 Replace obsolte NSAffinetransform methods.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@24926 72102866-910b-0410-8b05-ffd578937521
2007-03-23 11:27:28 +00:00
Fred Kiefer
3ab2c8bd91 Small improvement of cairo composite for rotated case.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@24918 72102866-910b-0410-8b05-ffd578937521
2007-03-22 13:39:26 +00:00
Fred Kiefer
4fadeaf154 Clean up of CairoGState.m
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@24912 72102866-910b-0410-8b05-ffd578937521
2007-03-21 13:09:19 +00:00
Fred Kiefer
ea06dfbf73 Corrected colour settign for alpha = 0, GSReadRect and compositerect.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@24906 72102866-910b-0410-8b05-ffd578937521
2007-03-20 23:24:04 +00:00
Fred Kiefer
b2d624ad91 Don't use cairo transformations, use the super class implementation
instead. 


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@24896 72102866-910b-0410-8b05-ffd578937521
2007-03-18 17:50:58 +00:00
Fred Kiefer
ac06785665 Corrected handling of flipped state in matrix operations and image
drawing.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@24754 72102866-910b-0410-8b05-ffd578937521
2007-03-02 12:24:46 +00:00
Fred Kiefer
b534dad58a Use either mask or fill, but not both.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@24734 72102866-910b-0410-8b05-ffd578937521
2007-03-01 12:03:06 +00:00
Fred Kiefer
d9595a9f43 Get colour from fillColor as only there the alpha value is set.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@24733 72102866-910b-0410-8b05-ffd578937521
2007-02-28 23:22:34 +00:00
Fred Kiefer
78ba818f54 Clean up of font attributes and better protection against _ct being null
in cairo backend.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@24710 72102866-910b-0410-8b05-ffd578937521
2007-02-27 16:35:31 +00:00
Graham J Lee
780d67e050 Change (with Fred) to check for cairo context before some operations.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@24690 72102866-910b-0410-8b05-ffd578937521
2007-02-24 12:09:19 +00:00
Fred Kiefer
39e329c2d7 Changed image composition to work for Gorm.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@24643 72102866-910b-0410-8b05-ffd578937521
2007-02-18 18:54:08 +00:00