Cairo multiple shapes in drawing area
<p>I'm trying to understand Cairo framework; but I don't know how to put more than one shape into the drawing area. All codes/tutorials I've seen are either too advanced or do not relate to this issue.</p>

<p>This is my code to draw a circle (I'm using C and gtk+3.0): </p>

<pre><code>void draw(GtkWidget *this, cairo_t *cr, gpointer data) {

  cairo_set_line_width(cr, 5);
  cairo_set_source_rgb(cr, 0, 0, 0);

  cairo_translate(cr, prog.width/2, prog.height/2);
  cairo_arc(cr, 0, 0, 50, 0, 2 * M_PI);
  cairo_stroke_preserve(cr);

  cairo_set_source_rgb(cr, 0.9, 0.9, 0.9);

  cairo_fill(cr);

}
</code></pre>

<p>I understand all but one thing: <code>cairo_t *cr</code>. From what I've been searching <code>cr</code> is a Context, but didn't quite grasped an intuitive idea of what it is about (maybe my question lies on this understanding?).</p>

<p>So, if I needed more circles near this one, how could I create them?</p>

<p>My try was using <code>cairo_move_to(cr, x, y)</code> and draw another shape but obviously it didn't work.</p>

<p>Thanks!</p>