]> git.llucax.com Git - z.facultad/75.42/figuras.git/blob - dibujo.h
Se pasa toda la interface a un objeto.
[z.facultad/75.42/figuras.git] / dibujo.h
1 /* vim: set et sts=4 sw=4 fdm=marker fmr={,} 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: Wed Sep 17 21:07:54 ART 2003
13  *
14  * $Id$
15  */
16
17 #ifndef DIBUJO_H
18 #define DIBUJO_H
19
20 #include "dllist.h"
21 #include "figura.h"
22 #include <gtk/gtk.h>
23
24 /// Representa un conjunto de figuras.
25 class Dibujo {
26
27     protected:
28
29         /// Lista de figuras.
30         DLList figuras;
31
32     public:
33
34         /**
35          * Constructor.
36          */
37         Dibujo(void);
38
39         /**
40          * Destructor.
41          * Elimina todas las figuras en el Dibujo.
42          */
43         virtual ~Dibujo(void);
44
45         /**
46          * Agrega una figura.
47          *
48          * \return true si se pudo agregar, false si no.
49          */
50         bool agregar_figura(Figura* figura);
51
52         /**
53          * Borra todas las figuras.
54          */
55         void borrar_todo(void);
56
57         /**
58          * Dibuja.
59          *
60          * \param out Stream de salida donde dibujar.
61          */
62         virtual void dibujar(GtkWidget* widget);
63
64 };
65
66 #endif /* DIBUJO_H */