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
This commit is contained in:
Fred Kiefer 2007-03-01 12:03:06 +00:00
parent d9595a9f43
commit b534dad58a
2 changed files with 16 additions and 3 deletions

View file

@ -1,3 +1,9 @@
2007-03-01 Fred Kiefer <FredKiefer@gmx.de>
* Source/cairo/CairoGState.m (-DPSinitgraphics): Set more cairo state.
* Source/cairo/CairoGState.m (-compositeGState:...fraction:): Use
either mask or fill, but not both.
2007-03-01 Fred Kiefer <FredKiefer@gmx.de>
* Source/cairo/CairoGState.m (-setColor:state:): Use fillColor

View file

@ -82,6 +82,7 @@
cairo_set_line_join(copy->_ct, cairo_get_line_join(_ct));
cairo_set_miter_limit(copy->_ct, cairo_get_miter_limit(_ct));
// FIXME: In cairo 1.2.4 there is no way get the dash or copy it.
// There also is no way to get the current clipping
status = cairo_status(copy->_ct);
if (status != CAIRO_STATUS_SUCCESS)
@ -286,10 +287,13 @@
NSLog(@"Cairo status %s in DPSinitgraphics", cairo_status_to_string(status));
}
[self DPSinitmatrix];
// Changes from super call go to the old _ct
[self setColor: &fillColor state: COLOR_BOTH];
/* Cairo's default line width is 2.0 */
cairo_set_line_width(_ct, 1.0);
cairo_set_operator(_ct, CAIRO_OPERATOR_OVER);
cairo_new_path(_ct);
}
- (void) DPScurrentflat: (float *)flatness
@ -1316,14 +1320,17 @@ _set_op(cairo_t *ct, NSCompositingOperation op)
}
if (delta < 1.0)
{
{
cairo_pattern_t *cpattern;
cpattern = cairo_pattern_create_rgba(1.0, 1.0, 1.0, delta);
cairo_mask(_ct, cpattern);
cairo_pattern_destroy(cpattern);
}
cairo_fill(_ct);
}
else
{
cairo_fill(_ct);
}
cairo_restore(_ct);
}