X-Git-Url: https://git.llucax.com/z.facultad/75.42/figuras.git/blobdiff_plain/38415d137bc9292a82a5ac20207163c78379709f..34078d9855550bda8415c600931decd2dc50bcc6:/rectangulo.cpp?ds=sidebyside diff --git a/rectangulo.cpp b/rectangulo.cpp index c4e9e56..c737320 100644 --- a/rectangulo.cpp +++ b/rectangulo.cpp @@ -21,7 +21,7 @@ #endif Rectangulo::Rectangulo(size_t color, size_t grosor, const Punto& centro, - const char* nombre, float ancho, float alto): + const char* nombre, int ancho, int alto): Figura(color, grosor, centro, nombre), ancho(ancho), alto(alto) { #ifdef DEBUG std::cerr << "En constructor de Rectángulo." << std::endl; @@ -38,37 +38,37 @@ void Rectangulo::dibujar(GtkWidget* widget) const { #ifdef DEBUG std::cerr << "En dibujar de Rectángulo." << std::endl; #endif - Figura::dibujar(widget); + // Obtengo un contexto gráfico con el grosor y color de la figura. + GdkGC* gc = get_gc(widget); // Lado de la izquierda. gdk_draw_line( // Área dibujable. - widget->window, - // Graphic Context. - widget->style->fg_gc[GTK_WIDGET_STATE (widget)], + GDK_DRAWABLE(widget->window), + // Contexto gráfico. + gc, // X, Y del vértice superior. centro.x - ancho / 2, centro.y - alto / 2, // X, Y del vértice inferior. centro.x - ancho / 2, centro.y + alto / 2); // Lado de la derecha. - gdk_draw_line(widget->window, - widget->style->fg_gc[GTK_WIDGET_STATE (widget)], + gdk_draw_line(GDK_DRAWABLE(widget->window), gc, // X, Y del vértice superior. centro.x + ancho / 2, centro.y - alto / 2, // X, Y del vértice inferior. centro.x + ancho / 2, centro.y + alto / 2); // Lado superior. - gdk_draw_line(widget->window, - widget->style->fg_gc[GTK_WIDGET_STATE (widget)], + gdk_draw_line(GDK_DRAWABLE(widget->window), gc, // X, Y del vértice de la izquierda. centro.x - ancho / 2, centro.y - alto / 2, // X, Y del vértice de la derecha. centro.x + ancho / 2, centro.y - alto / 2); // Lado inferior. - gdk_draw_line(widget->window, - widget->style->fg_gc[GTK_WIDGET_STATE (widget)], + gdk_draw_line(GDK_DRAWABLE(widget->window), gc, // X, Y del vértice de la izquierda. centro.x - ancho / 2, centro.y + alto / 2, // X, Y del vértice de la derecha. centro.x + ancho / 2, centro.y + alto / 2); + // Libero la copia del contexto gráfico. + g_object_unref(G_OBJECT(gc)); }