]> git.llucax.com Git - z.facultad/75.42/figuras.git/blobdiff - circulo.cpp
Ya se setea bien el grueso del trazo y anda bien el círculo.
[z.facultad/75.42/figuras.git] / circulo.cpp
index 55774b0a8d5d17f66cdf07cff3e1a1ac55148073..2db958186d0bb453b5cb60d2e1c48eb09740b807 100644 (file)
@@ -39,19 +39,25 @@ void Circulo::dibujar(GtkWidget* widget) const {
 #ifdef DEBUG
     std::cerr << "En dibujar de Círculo." << std::endl;
 #endif
-    Figura::dibujar(widget);
+    // Copio el contexto gráfico del área de dibujo.
+    GdkGC* gc = gdk_gc_new(GDK_DRAWABLE(widget->window));
+    // Le doy los nuevos valores.
+    set_gc(gc);
+    // Dibujo el círculo.
     gdk_draw_arc(
             // Área dibujable.
-            widget->window,
-            // Graphic Context a usar.
-            widget->style->fg_gc[GTK_WIDGET_STATE (widget)],
+            GDK_DRAWABLE(widget->window),
+            // Contexto gráfico,
+            gc, 
             // No lo rellena.
             FALSE,
             // X, Y de la esquina superior izquierda.
             centro.x - radio, centro.y - radio,
-            // X, Y de la esquina inferior derecha.
-            centro.x + radio, centro.y + radio,
+            // ancho y alto del cuadrado que circunscribe el círculo.
+            radio * 2, radio * 2,
             // de 0 a 360 grados.
             0, 64 * 360);
+    // Libero la copia del contexto gráfico.
+    g_object_unref(G_OBJECT(gc));
 }