How to draw a line using Cairo

A simple line can be drawn using Cairo with the help of following code snippet.
void cairo_drawing(void *data)
{
    appdata_s *ad = data;
	/* clear background as white */
	cairo_set_source_rgba(ad->cairo, 1, 1, 1, 1);
	cairo_paint(ad->cairo);

	cairo_translate(ad->cairo, 100,100);
	cairo_set_line_width(ad->cairo,2);
	cairo_set_source_rgba(ad->cairo, 0.0, 0.0, 1.0, 1.0);

	cairo_move_to (ad->cairo, 200 , 200);
	cairo_line_to (ad->cairo,400, 300);
	cairo_rel_line_to (ad->cairo, 200, 100);

	cairo_stroke(ad->cairo);
	cairo_surface_flush(ad->surface);

	/* display cairo drawing on screen */
	unsigned char * imageData = cairo_image_surface_get_data(cairo_get_target(ad->cairo));
	evas_object_image_data_set(ad->img, imageData);
	evas_object_image_data_update_add(ad->img, 0, 0, ad->width, ad->height);
}

Responses

0 Replies