|
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.
|