X-Git-Url: https://git.llucax.com/z.facultad/75.42/figuras.git/blobdiff_plain/acb106a7e3b4bc6b05e6c4c1ab2ff50ff10fac78..453648e194e2f092c7b66e1e3f9885cc3bf33579:/rectangulo.cpp diff --git a/rectangulo.cpp b/rectangulo.cpp index 7a7cb04..26510d6 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; @@ -34,9 +34,41 @@ Rectangulo::~Rectangulo(void) { #endif } -void Rectangulo::dibujar(std::ostream& out) const { - out << "Rectangulo("; - Figura::dibujar(out); - out << ", ancho(" << ancho << "), alto(" << alto << "))"; +void Rectangulo::dibujar(GtkWidget* widget) const { +#ifdef DEBUG + std::cerr << "En dibujar de Rectángulo." << std::endl; +#endif + Figura::dibujar(widget); + // Lado de la izquierda. + gdk_draw_line( + // Área dibujable. + widget->window, + // Graphic Context. + widget->style->fg_gc[GTK_WIDGET_STATE (widget)], + // 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)], + // 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)], + // 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)], + // 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); }