]> git.llucax.com Git - z.facultad/75.42/plaqui.git/commitdiff
Se agrega ejemplo de documentacion doxygen.
authorLeandro Lucarella <llucax@gmail.com>
Tue, 14 Oct 2003 00:10:30 +0000 (00:10 +0000)
committerLeandro Lucarella <llucax@gmail.com>
Tue, 14 Oct 2003 00:10:30 +0000 (00:10 +0000)
docs/ejemplo_doxygen.h [new file with mode: 0644]

diff --git a/docs/ejemplo_doxygen.h b/docs/ejemplo_doxygen.h
new file mode 100644 (file)
index 0000000..e389208
--- /dev/null
@@ -0,0 +1,130 @@
+/* vim: set ts=4 sw=4 fdm=marker fmr={,} fdn=1 fo+=t tw=80:
+ *
+ * Taller de Programación (75.42).
+ *
+ * Trabajo Práctico Final:
+ * Simulador de plantas químicas (A.K.A. plaqui)
+ *
+ * TODO poner cabecera más bonita. :)
+ *
+ * Creado: lun oct 13 20:59:19 ART 2003
+ *
+ * $Id$
+ */
+
+#ifndef FIGURA_H
+#define FIGURA_H
+
+#include "punto.h"
+#include <cstdlib>
+#include <gtk/gtk.h>
+
+/**
+ * Descripción breve.
+ * Hasta el primer punto del comentario lo toma como "brief" que es una
+ * descripcion corta que se pone al principio del archivo.
+ * Aca pueden ir otras cosas como:
+ *
+ * \author Leandro Lucarella <llucare@fi.uba.ar>
+ * \see centro, dibujar()
+ *
+ * El doxygen es bastante inteligente a la hora de saber si algo es un metodo o
+ * una funcion global.
+ * También se puede poner un ejemplo de código:
+ * \code
+ * Figura f* = new Figura();
+ * f->dibujar();
+ * delete f;
+ * \endcode
+ */
+class Figura {
+
+       protected:
+
+               /// Si queremos poner solo un comentario breve se puede usar \c ///.
+               static const size_t MAX_NOMBRE = 50;
+
+               /// Color.
+               size_t color;
+
+               /// Grosor.
+               size_t grosor;
+
+               /// Centro.
+               Punto centro;
+
+               /// Nombre.
+               char nombre[MAX_NOMBRE];
+
+               /**
+                * Crea un nuevo contexto gráfico.
+                * Crea un nuevo contexto gráfico con las propiedades de la figura
+                * (color y grosor) partiendo del contexto gráfico de un widget.
+                *
+                * \param widget Widget de donde copiar el GC inicial.
+                *
+                * \return Contexto gráfico a modificar.
+                */
+               virtual GdkGC *get_gc(GtkWidget * widget) const;
+
+               /**
+                * Traduce los 16 colores (de 4 bits) en colores de 24 bits.
+                * La traducción es simple. Los 3 bits menos significativos son
+                * usados como indicador del pigmento. El bit menos significativo
+                * indica la presencia de pigmento azul, el siguiente verde
+                * y el siguiente rojo. El bit más significativo representa
+                * la saturación del color, si está activado, el color será
+                * más saturado.
+                *
+                * \param c Color.
+                *
+                * \return El color traducido.
+                */
+               GdkColor *traducir_color(GdkColor * c) const;
+
+       public:
+
+               /// Constructor.
+               Figura(size_t color, size_t grosor, const Punto & centro,
+               const char *nombre);
+
+               /// Destructor.
+               virtual ~ Figura(void);
+
+               /**
+                * Dibuja.
+                * Modifica el contexto gráfico según las propiedades de la figura
+                * (color y grosor).
+                * Se puede poner un dibujo \e textual:
+                * \verbatim
+                * Dibujo:
+                *          +--------------------+
+                *          | MiClase            |
+                *          +--------------------+
+                *          | Soy ASCII Art! :)  |
+                *          +--------------------+
+                * \endverbatim
+                *
+                * O tablas HTML (que se traducen a tablas en LaTeX tambien 8-):
+                * <table>
+                *      <tr>
+                *          <th>Columna 1</th>
+                *          <th>Columna 2</th>
+                *      </tr>
+                *      <tr>
+                *          <td>Item 1,1</td>
+                *          <td>Item 1,2</td>
+                *      </tr>
+                *      <tr>
+                *          <td>Item 2,1</td>
+                *          <td>Item 2,2</td>
+                *      </tr>
+                * </table>
+                *
+                * \param widget Widget donde dibujar.
+                */
+               virtual void dibujar(GtkWidget * widget) const = 0;
+
+};
+
+#endif /* FIGURA_H */