]> git.llucax.com Git - z.facultad/75.42/euler-oo.git/blob - dibujo.cpp
Se completa Figura y Punto. Todavia no compila.
[z.facultad/75.42/euler-oo.git] / dibujo.cpp
1 /* vim: set et sts=4 sw=4 fdm=indent fdl=1 fdn=0 fo+=t tw=80:
2  *
3  * Taller de Programación (75.42).
4  *
5  * Ejercicio Número 3:
6  * Lista 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: Thu Sep 18 21:07:44 ART 2003
13  *
14  * $Id$
15  */
16
17 #include "dllist.h"
18 #include "figura.h"
19 #include "dibujo.h"
20
21 Dibujo::Dibujo(void): figuras() {}
22
23 Dibujo::~Dibujo(void) {
24 }
25
26 bool Dibujo::agregar_figura(Figura* figura) {
27     return figuras.push(static_cast<void*>(figura));
28 }
29
30 void Dibujo::borrar_todo(void) {
31     // Saco cada elemento de la lista, liberando su memoria.
32     while (!figuras.empty()) {
33         delete static_cast<Figura*>(figuras.pop());
34     }
35 }
36
37 void Dibujo::dibujar(void) {
38     // Dibujo cada elemento.
39     for (Figura* f = static_cast<Figura*>(figuras.begin());
40             figuras.have_more(); f = static_cast<Figura*>(figuras.next())) {
41         // TODO cout << f << endl; // FIXME
42     }
43 }
44