X-Git-Url: https://git.llucax.com/z.facultad/75.42/figuras.git/blobdiff_plain/acb106a7e3b4bc6b05e6c4c1ab2ff50ff10fac78..f5797a141b246a1997103dddb1e2a415c8b8363d:/linea.cpp?ds=sidebyside diff --git a/linea.cpp b/linea.cpp index f584a0f..924bf9f 100644 --- a/linea.cpp +++ b/linea.cpp @@ -34,13 +34,23 @@ Linea::~Linea(void) { #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)); }