protected:
+ /// Máxima cantidad de caracteres del nombre.
+ static const size_t MAX_NOMBRE = 50;
+
/// Color.
size_t color;
Punto centro;
/// Nombre.
- char nombre[30];
+ char nombre[MAX_NOMBRE];
/**
- * Modifica el contexto gráfico.
- * Modifica el contexto gráfico según las propiedades de la figura
- * (color y grosor).
+ * 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.
*
- * \param gc Contexto gráfico a modificar.
+ * \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.
*/
- virtual void set_gc(GdkGC* gc) const;
+ GdkColor* traducir_color(GdkColor* c) const;
public:
* Modifica el contexto gráfico según las propiedades de la figura
* (color y grosor).
*
- * \param gc Contexto gráfico a modificar.
+ * \param widget Widget donde dibujar.
*/
virtual void dibujar(GtkWidget* widget) const = 0;