]> git.llucax.com Git - z.facultad/75.42/figuras.git/blob - figura.cpp
5ce3dec7ec0b6289a67d1c8335af1e63a37971f5
[z.facultad/75.42/figuras.git] / figura.cpp
1 /* vim: set et sts=4 sw=4 fdm=indent fdn=1 fo+=t tw=80:
2  *
3  * Taller de Programación (75.42).
4  *
5  * Ejercicio Número 5:
6  * Graficador de figuras.
7  *
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/).
11  *
12  * Creado: Fri Sep 19 22:05:39 ART 2003
13  *
14  * $Id$
15  */
16
17 #include "figura.h"
18 #include <cstring>
19
20 #ifdef DEBUG
21 #   include <iostream>
22 #endif
23
24 Figura::Figura(size_t color, size_t grosor, const Punto& centro,
25         const char* nombre): centro(centro) {
26     if (color > 15) {
27         this->color = 15;
28     } else if (color < 0) {
29         this->color = 0;
30     } else {
31         this->color = color;
32     }
33     if (grosor > 10) {
34         this->grosor = 10;
35     } else if (grosor < 1) {
36         this->grosor = 1;
37     } else {
38         this->grosor = grosor;
39     }
40 #ifdef DEBUG
41     std::cerr << "En constructor de Figura." << std::endl;
42 #endif
43      strncpy(this->nombre, nombre, 30);
44 }
45
46 Figura::~Figura(void) {
47 #ifdef DEBUG
48     std::cerr << "En destructor de Figura." << std::endl;
49 #endif
50 }
51
52 void Figura::set_gc(GdkGC* gc) const {
53     gdk_gc_set_line_attributes(
54             gc,
55             grosor,
56             GDK_LINE_SOLID,
57             GDK_CAP_ROUND,
58             GDK_JOIN_ROUND);
59     //gdk_gc_set_foreground(gc, c);
60 }
61