Commit graph

105 commits

Author SHA1 Message Date
Fred Kiefer
7a8c2adea4 * Source/cairo/CairoGState.m
(-compositeGState:fromRect:toPoint:op:fraction:): Move the usage
of _ct and source->_ct after the check whether they are set.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@30588 72102866-910b-0410-8b05-ffd578937521
2010-06-06 19:56:35 +00:00
Quentin Mathe
b53fe57e7c Fixed many drawing issues (many ones being related to the flipping).
See bug report #27782

In particular, fixed -[NSImage drawXXX] and -[NSImage composite/dissolveXXX] 
methods to work exactly as Cocoa when the Cairo backend is used.
Added a new draw operator (in addition to composite) to the backend. Cairo is 
the only backend that implements it for now.
Eliminated as many flipping checks as possible.

Warning: Untested with the winlib backend. 
You must update, recompile and install both Back and Gui.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@30523 72102866-910b-0410-8b05-ffd578937521
2010-06-01 11:04:36 +00:00
Fred Kiefer
5253105797 * Source/cairo/CairoGState.m: Only use calls for
cairo_pattern_set_extend() on cairo > 1.6.0.
Patch suggested by Eric Wasylishen <ewasylishen@gmail.com>.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@29868 72102866-910b-0410-8b05-ffd578937521
2010-03-07 21:40:36 +00:00
Richard Frith-MacDonald
18ab944a93 update to avoid obsolete function
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@29844 72102866-910b-0410-8b05-ffd578937521
2010-03-05 06:52:53 +00:00
Fred Kiefer
92fdccd8d3 Adjust to the CGFloat change for NSFont
and NSAffineTransform done in base and gui.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@29689 72102866-910b-0410-8b05-ffd578937521
2010-02-20 16:33:30 +00:00
Wolfgang Lux
4311e19de6 Avoid unnecessary runtime check in the fix for #28590.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@29358 72102866-910b-0410-8b05-ffd578937521
2010-01-22 11:47:06 +00:00
Wolfgang Lux
4ea7b58019 Fix bug #28590.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@29357 72102866-910b-0410-8b05-ffd578937521
2010-01-22 08:16:50 +00:00
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
15c9010eeb * Source/cairo/CairoFontEnumerator.m,
* Source/xlib/GSXftFontInfo.m: Use DejaVu as another fallback
  font, as Bitstream Vera and FreeSans are no longer supplied
  directly by Debian.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@28414 72102866-910b-0410-8b05-ffd578937521
2009-07-27 15:06:55 +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
4f3b8457a3 Correct the memory management of XWindowBuffer.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@28141 72102866-910b-0410-8b05-ffd578937521
2009-03-27 23:16:48 +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
Nicola Pero
39076b64a9 Removed GNUSTEP_CORE_SOFTWARE=YES from makefiles and instead set PACKAGE_NAME=gnustep-back
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@27349 72102866-910b-0410-8b05-ffd578937521
2008-12-19 13:05:05 +00:00
Nicola Pero
417a0e2cbf Set GNUSTEP_CORE_SOFTWARE to YES so that gnustep-back is installed by default in SYSTEM if gnustep-make has been configured with --disable-packages
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@27335 72102866-910b-0410-8b05-ffd578937521
2008-12-18 18:51:49 +00:00
Fred Kiefer
b644571f1a Correct test for the need of an image conversion.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@27279 72102866-910b-0410-8b05-ffd578937521
2008-12-11 21:03:51 +00:00
Richard Frith-MacDonald
aeddc7b908 Fix #24671
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@27192 72102866-910b-0410-8b05-ffd578937521
2008-12-02 22:51:34 +00:00
Fred Kiefer
01b5c75e8f For cairo convert the bitmap, when the format is unsupported.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@27014 72102866-910b-0410-8b05-ffd578937521
2008-11-06 09:33:13 +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
Adam Fedor
f69ec5d76b Fix memory leak.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@26555 72102866-910b-0410-8b05-ffd578937521
2008-05-23 04:12:37 +00:00
Fred Kiefer
9e70cc09f7 Moved ligature handling code from art to gui. Small improvements for
other font classes.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@26431 72102866-910b-0410-8b05-ffd578937521
2008-04-04 22:07:03 +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
Xavier Glattard
201d3bf367 Experimental Cairo and Cairo/Glitz backends on win32
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@26189 72102866-910b-0410-8b05-ffd578937521
2008-03-04 10:14:29 +00:00
Fred Kiefer
0f0191c547 Rework of context window device setting. Requires corresponding change
in gui.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@25981 72102866-910b-0410-8b05-ffd578937521
2008-01-19 13:12:03 +00:00
Isaiah Beerbower
5dd462faa9 Reverting back to former font system.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@25721 72102866-910b-0410-8b05-ffd578937521
2007-12-11 12:06:42 +00:00
Isaiah Beerbower
2d50c93089 Rewrite font system to cache fonts in a plist and support nfont bundles.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@25717 72102866-910b-0410-8b05-ffd578937521
2007-12-11 00:14:01 +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
901c5b758c First implementation of appendBezierPathWithGlyphs:count:toBezierPath:
for cairo.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@25522 72102866-910b-0410-8b05-ffd578937521
2007-10-08 21:27:51 +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