From 55a29294d2557e8427a94fc43cafb0c5a74b57b6 Mon Sep 17 00:00:00 2001 From: Fred Kiefer Date: Tue, 3 Nov 2009 08:39:15 +0000 Subject: [PATCH] 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 --- ChangeLog | 5 +++++ Source/cairo/CairoGState.m | 7 ++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index eb214e5..a5ee447 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2009-11-03 Fred Kiefer + + * Source/cairo/CairoGState.m (-compositeGState:...): Use the + offset adjustment for cairo > 1.8 in the general case. + 2009-11-01 Fred Kiefer * Source/winlib/WIN32GState.m: first hack at GSReadRect implementation. diff --git a/Source/cairo/CairoGState.m b/Source/cairo/CairoGState.m index f57def0..d14e29c 100644 --- a/Source/cairo/CairoGState.m +++ b/Source/cairo/CairoGState.m @@ -1301,12 +1301,13 @@ _set_op(cairo_t *ct, NSCompositingOperation op) [source->ctm boundingRectFor: aRect result: &aRect]; - if ((copyOnSelf) && (cairo_version() >= CAIRO_VERSION_ENCODE(1, 8, 0))) + // if ((copyOnSelf) && (cairo_version() >= CAIRO_VERSION_ENCODE(1, 8, 0))) + if (cairo_version() >= CAIRO_VERSION_ENCODE(1, 8, 0)) { - NSSize size = [_surface size]; + NSSize size = [source->_surface size]; // For cairo > 1.8 we seem to need this adjustment - aRect.origin.y -= 2*(offset.y - size.height); + aRect.origin.y -= 2*(source->offset.y - size.height); } x = floorf(aPoint.x);