*
* Taller de Programación (75.42).
*
- * Ejercicio Número 3:
- * Lista de figuras.
+ * Ejercicio Número 5:
+ * Graficador de figuras.
*
* Copyleft 2003 - Leandro Lucarella <llucare@fi.uba.ar>
* Puede copiar, modificar y distribuir este programa bajo los términos de
#endif
}
-void Linea::dibujar(std::ostream& out) const {
- out << "Linea(";
- Figura::dibujar(out);
- out << ", ini(";
- ini.dibujar(out);
- out << "), fin(";
- fin.dibujar(out);
- out << "))";
+void Linea::dibujar(GtkWidget* widget) const {
+#ifdef DEBUG
+ std::cerr << "En dibujar de Línea." << std::endl;
+#endif
+ // 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 la línea.
+ gdk_draw_line(
+ // Área dibujable.
+ GDK_DRAWABLE(widget->window),
+ // Contexto gráfico.
+ gc,
+ // Inicio y fin de la línea.
+ ini.x, ini.y, fin.x, fin.y);
+ // Libero la copia del contexto gráfico.
+ g_object_unref(G_OBJECT(gc));
}