From d0547f238ffeaba36ab49f2ad66262137a1518b9 Mon Sep 17 00:00:00 2001 From: Jonathan Moore Liles Date: Wed, 25 Apr 2012 19:11:40 -0700 Subject: [PATCH] Cairo: Tweak pie/arc drawing. --- src/Fl_Cairo_Graphics_Driver.cxx | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/Fl_Cairo_Graphics_Driver.cxx b/src/Fl_Cairo_Graphics_Driver.cxx index 3de0bd8..caabc6e 100644 --- a/src/Fl_Cairo_Graphics_Driver.cxx +++ b/src/Fl_Cairo_Graphics_Driver.cxx @@ -334,18 +334,17 @@ void Fl_Cairo_Graphics_Driver::circle( double x, double y, double r ) static void add_arc( int x, int y, int w, int h, double a1, double a2, bool pie ) { - cairo_t *cr = Fl::cairo_cc(); double a1R = a1 * ( M_PI / 180.0 ); double a2R = a2 * ( M_PI / 180.0 ); - float cx = x + 0.5 * w - 0.5f, cy = y + 0.5 * h - 0.5f; - + double cx = x + 0.5 * w, cy = y + 0.5 * h; + cairo_save( cr ); cairo_translate( cr, cx, cy ); -// cairo_scale( cr, w, 0 - h ); - cairo_scale( cr, (w - lw * 2) - 1.0f, 0 - ((h - lw * 2) - 1.0f )); +// cairo_scale( cr, (w - lw), 0 - ((h - lw) )); + cairo_scale( cr, w, 0 - h ); if ( a1 > a2 ) cairo_arc_negative( cr, 0.0, 0.0, 0.5, a1R, a2R ); @@ -357,6 +356,7 @@ static void add_arc( int x, int y, int w, int h, double a1, double a2, bool pie cairo_line_to( cr, 0, 0 ); cairo_close_path( cr ); } + cairo_restore( cr ); } @@ -485,11 +485,11 @@ void Fl_Cairo_Graphics_Driver::end_line ( void ) { cairo_t *cr = Fl::cairo_cc(); - if ( n < 3 ) - { - end_points(); - return; - } + /* if ( n < 3 ) */ + /* { */ + /* end_points(); */ + /* return; */ + /* } */ if ( lw <= 1 ) {