1 /* vim: set et sts=4 sw=4 fdm=indent fdn=1 fo+=t tw=80:
3 * Taller de Programación (75.42).
6 * Graficador de figuras.
8 * Copyleft 2003 - Leandro Lucarella <llucare@fi.uba.ar>
9 * Puede copiar, modificar y distribuir este programa bajo los términos de
10 * la licencia GPL (http://www.gnu.org/).
12 * Creado: Sat Sep 20 06:09:02 ART 2003
17 #include "rectangulo.h"
23 Rectangulo::Rectangulo(size_t color, size_t grosor, const Punto& centro,
24 const char* nombre, int ancho, int alto):
25 Figura(color, grosor, centro, nombre), ancho(ancho), alto(alto) {
27 std::cerr << "En constructor de Rectángulo." << std::endl;
31 Rectangulo::~Rectangulo(void) {
33 std::cerr << "En destructor de Rectángulo." << std::endl;
37 void Rectangulo::dibujar(GtkWidget* widget) const {
39 std::cerr << "En dibujar de Rectángulo." << std::endl;
41 Figura::dibujar(widget);
42 // Lado de la izquierda.
47 widget->style->fg_gc[GTK_WIDGET_STATE (widget)],
48 // X, Y del vértice superior.
49 centro.x - ancho / 2, centro.y - alto / 2,
50 // X, Y del vértice inferior.
51 centro.x - ancho / 2, centro.y + alto / 2);
52 // Lado de la derecha.
53 gdk_draw_line(widget->window,
54 widget->style->fg_gc[GTK_WIDGET_STATE (widget)],
55 // X, Y del vértice superior.
56 centro.x + ancho / 2, centro.y - alto / 2,
57 // X, Y del vértice inferior.
58 centro.x + ancho / 2, centro.y + alto / 2);
60 gdk_draw_line(widget->window,
61 widget->style->fg_gc[GTK_WIDGET_STATE (widget)],
62 // X, Y del vértice de la izquierda.
63 centro.x - ancho / 2, centro.y - alto / 2,
64 // X, Y del vértice de la derecha.
65 centro.x + ancho / 2, centro.y - alto / 2);
67 gdk_draw_line(widget->window,
68 widget->style->fg_gc[GTK_WIDGET_STATE (widget)],
69 // X, Y del vértice de la izquierda.
70 centro.x - ancho / 2, centro.y + alto / 2,
71 // X, Y del vértice de la derecha.
72 centro.x + ancho / 2, centro.y + alto / 2);