From: <and...@us...> - 2009-05-06 11:18:54
|
Revision: 9932 http://plplot.svn.sourceforge.net/plplot/?rev=9932&view=rev Author: andrewross Date: 2009-05-06 11:18:25 +0000 (Wed, 06 May 2009) Log Message: ----------- ANR for HMC. Only apply cairo anti-aliasing improvements when anti-aliasing is enabled. This speeds up rendering on non-anti-alised surfaces. Modified Paths: -------------- trunk/drivers/cairo.c Modified: trunk/drivers/cairo.c =================================================================== --- trunk/drivers/cairo.c 2009-05-06 10:48:26 UTC (rev 9931) +++ trunk/drivers/cairo.c 2009-05-06 11:18:25 UTC (rev 9932) @@ -1021,7 +1021,8 @@ PLCairo *aStream; cairo_line_join_t old_line_join; cairo_line_cap_t old_line_cap; - + cairo_antialias_t aa_state; + aStream = (PLCairo *)pls->dev; /* Save the previous line drawing style */ @@ -1039,9 +1040,12 @@ (double)pls->curcolor.g/255.0, (double)pls->curcolor.b/255.0, (double)pls->curcolor.a); - cairo_set_line_width(aStream->cairoContext, 1.0); - if(pls->curcolor.a>0.99) { + aa_state = cairo_get_antialias(aStream->cairoContext); + /* Add an extra outline stroke to the polygon unless the plotting color is + not opaque or antialiasing is disabled. */ + if((pls->curcolor.a > 0.99) || (aa_state != CAIRO_ANTIALIAS_NONE)) { cairo_fill_preserve(aStream->cairoContext); + cairo_set_line_width(aStream->cairoContext, 1.0); cairo_stroke(aStream->cairoContext); } else cairo_fill(aStream->cairoContext); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |