All pastes #56294 Raw Edit

Untitled

public text v1 · immutable
#56294 ·published 2006-05-16 18:55 UTC
rendered paste body
/* this was working in Cairo 1.0.2 */

#include <cairo.h>

#define IMAGE_WIDTH 19
#define IMAGE_HEIGHT 19

int
main (void)
{
	unsigned char buffer[IMAGE_WIDTH * IMAGE_HEIGHT * 4];
	double dashes[] = { 1 };

	cairo_surface_t *surface = cairo_image_surface_create_for_data (buffer, 
		CAIRO_FORMAT_ARGB32, IMAGE_WIDTH, IMAGE_HEIGHT, IMAGE_WIDTH * 4);
	cairo_t *cr = cairo_create (surface);
	memset (buffer, 0, sizeof (buffer));

	cairo_set_line_width (cr, 1);
	cairo_set_dash (cr, dashes, 1, 0);
	cairo_set_line_cap (cr, CAIRO_LINE_CAP_BUTT);

	cairo_move_to (cr, 1, 1);
	cairo_line_to (cr, 18, 2);
	cairo_stroke (cr);

	cairo_set_line_cap (cr, CAIRO_LINE_CAP_SQUARE);

	cairo_move_to (cr, 1, 10);
	cairo_line_to (cr, 18, 11);
	cairo_stroke (cr);

	cairo_surface_write_to_png (surface, "dash-line-cap-bug.png");
	return 0;
}