Commit graph

120 commits

Author SHA1 Message Date
ericwa
765d7b443d * Headers/cairo/CairoGState.h:
* Source/cairo/CairoGState.m: Remove most of the rounding code and
implementation of DPSstrokeadjust.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@33492 72102866-910b-0410-8b05-ffd578937521
2011-07-08 21:02:06 +00:00
ericwa
407a90efc0 * Source/cairo/XGCairoSurface.m (-contentsOfScreen:inRect:):
Use the passed rect properly.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@33444 72102866-910b-0410-8b05-ffd578937521
2011-07-03 23:59:35 +00:00
ericwa
1d8df067f3 * Source/cairo/XGCairoSurface.m: Implementation of
-[GSDisplayServer contentsOfScreen:inRect:] for x11/cairo


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@33443 72102866-910b-0410-8b05-ffd578937521
2011-07-03 23:45:22 +00:00
fredkiefer
26e096a1b5 Revert last change as gui is fixed now.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@33305 72102866-910b-0410-8b05-ffd578937521
2011-06-14 22:27:58 +00:00
fredkiefer
fb05d6c895 * Source/cairo/CairoContext.m (-supportsDrawGState): Delegate to
gstate.
* Headers/cairo/CairoGState.h (-supportsDrawGState): Declare this method.
* Source/cairo/CairoGState.m (-supportsDrawGState): Only allow the
faster drawing operation when the clip can be represented as a
list of rectangles.
* Source/cairo/CairoGState.m (-copyWithZone:): Always free the
clip rectangle list.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@33289 72102866-910b-0410-8b05-ffd578937521
2011-06-13 12:34:52 +00:00
ericwa
b23f4dd6a9 * Source/winlib/WIN32GState.m:
* Source/art/ARTGState.m:
* Source/cairo/CairoGState.m:
* Source/xlib/XGGState.m:
* Source/gsc/GSContext.m:
* Source/gsc/GSGState.m:
* Headers/gsc/GSGStateOps.h:
Add a new interface, GSShowGlyphsWithAdvances, which replaces
GSShowGlyphs as the primitive text drawing method.

None of the backends implement it properly yet; I simply renamed
the existing -GSShowGlyphs:: methods to -GSShowGlyphsWithAdvances:::,
so they currently ignore the glyph advances.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@33121 72102866-910b-0410-8b05-ffd578937521
2011-05-26 03:48:58 +00:00
fredkiefer
1bdcc0b82d Protect the name id.
Patch by Sebastian Reitenbach <sebastia@l00-bugdead-prods.de>


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@33065 72102866-910b-0410-8b05-ffd578937521
2011-05-19 07:37:29 +00:00
ericwa
09c3361700 * Undo the previous change and try a different approach..
just cache the character set in CairoFaceInfo, but load them
as needed as we were doing before.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@32987 72102866-910b-0410-8b05-ffd578937521
2011-05-05 20:05:13 +00:00
ericwa
f61d9ee591 * Source/cairo/CairoFontEnumerator.m:
* Source/cairo/CairoFaceInfo (-characterSet): Remove the call to
FcFontMatch in -characterSet which was a big performace
bottleneck.
Instead load the character set data when enumerating all fonts in
CairoFontEnumerator.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@32986 72102866-910b-0410-8b05-ffd578937521
2011-05-05 19:18:43 +00:00
ericwa
7809683362 back: c89 compat.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@32882 72102866-910b-0410-8b05-ffd578937521
2011-04-17 23:08:30 +00:00
ericwa
c14b1427d2 back/cairo: CairoFontEnumerator.m: Replace -handleKey:selector:valueClass: and -handleKey:selector: methods with macros.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@32880 72102866-910b-0410-8b05-ffd578937521
2011-04-17 22:29:18 +00:00
ericwa
b1b61ab926 back/cairo: use Fontconfig for descriptor matching
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@32864 72102866-910b-0410-8b05-ffd578937521
2011-04-14 23:14:38 +00:00
ericwa
e6b42470de back: implement coveredCharacterSet for CairoFontInfo
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@32716 72102866-910b-0410-8b05-ffd578937521
2011-03-28 04:19:41 +00:00
ericwa
f228d45b78 core/back: replace objc_{malloc/free} with malloc/free
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@31629 72102866-910b-0410-8b05-ffd578937521
2010-11-18 20:28:15 +00:00
fredkiefer
aaf1d7ab06 For XFT Also request spacing information.
Patch by Derek Fawcus <dfawcus@employees.org>.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@31109 72102866-910b-0410-8b05-ffd578937521
2010-08-10 19:21:31 +00:00
fredkiefer
c58eb7c207 * 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
qmathe
9995a94236 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
fredkiefer
369a442344 * 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
rfm
17c82f71e0 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
fredkiefer
35a79cf85d 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
wlux
768d177488 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
wlux
d2e8790c6f 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
ericwa
af5166992d 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
fredkiefer
ed5fadec2c 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
fredkiefer
a5c5587a0f 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
fredkiefer
5484fceeb8 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
fredkiefer
2ee4f99adb 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
fredkiefer
feccdb5cd8 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
fredkiefer
7c93f9eebc 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
fredkiefer
9ad681c14a 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
fredkiefer
b40cb71904 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
fredkiefer
b633d958fe * 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
fredkiefer
6bede4e873 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
fredkiefer
77aaf931f4 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
fredkiefer
f81de7e3dd 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
fredkiefer
8faf896cf7 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
fredkiefer
e6df704443 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
fredkiefer
9c1d6c5c86 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
c2540ddcd1 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
785acecbdf 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
fredkiefer
70ede5cb90 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
rfm
ad067b2fda 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
fredkiefer
66ef714ecd 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
fredkiefer
46e08881cf 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
fedor
52a046da0f 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
fredkiefer
f0b5b2f91f 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
fredkiefer
372d5ec635 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
fedor
ea67e1642b 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
fredkiefer
5a01087f39 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
fredkiefer
cdae5f32e9 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