|  |  | @@ -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 ) | 
		
	
		
			
			|  |  |  | { | 
		
	
	
		
			
				|  |  | 
 |