From d11e7ce4ce8230e83b8c79c41b03cd797d475335 Mon Sep 17 00:00:00 2001 From: Leandro Lucarella Date: Tue, 14 Oct 2003 00:10:30 +0000 Subject: [PATCH] Se agrega ejemplo de documentacion doxygen. --- docs/ejemplo_doxygen.h | 130 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 130 insertions(+) create mode 100644 docs/ejemplo_doxygen.h diff --git a/docs/ejemplo_doxygen.h b/docs/ejemplo_doxygen.h new file mode 100644 index 0000000..e389208 --- /dev/null +++ b/docs/ejemplo_doxygen.h @@ -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 +#include + +/** + * 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 + * \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-): + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Columna 1Columna 2
Item 1,1Item 1,2
Item 2,1Item 2,2
+ * + * \param widget Widget donde dibujar. + */ + virtual void dibujar(GtkWidget * widget) const = 0; + +}; + +#endif /* FIGURA_H */ -- 2.43.0