*
* Taller de Programación (75.42).
*
- * Ejercicio Número 3:
- * Lista de figuras.
+ * Ejercicio Número 5:
+ * Graficador de figuras.
*
* Copyleft 2003 - Leandro Lucarella <llucare@fi.uba.ar>
* Puede copiar, modificar y distribuir este programa bajo los términos de
#endif
Circulo::Circulo(size_t color, size_t grosor, const Punto& centro,
- const char* nombre, float radio):
+ const char* nombre, int radio):
Figura(color, grosor, centro, nombre), radio(radio) {
#ifdef DEBUG
std::cerr << "En constructor de Círculo." << std::endl;
#endif
}
-void Circulo::dibujar(std::ostream& out) const {
- out << "Circulo(";
- Figura::dibujar(out);
- out << ", radio(" << radio << "))";
+void Circulo::dibujar(GtkWidget* widget) const {
+//void Circulo::dibujar(GdkGC* gc, GdkDrawable *window) const {
+#ifdef DEBUG
+ std::cerr << "En dibujar de Círculo." << std::endl;
+#endif
+ Figura::dibujar(widget);
+ gdk_draw_arc(
+ // Área dibujable.
+ widget->window,
+ // Graphic Context a usar.
+ widget->style->fg_gc[GTK_WIDGET_STATE (widget)],
+ // No lo rellena.
+ FALSE,
+ // X, Y de la esquina superior izquierda.
+ centro.x - radio, centro.y - radio,
+ // X, Y de la esquina inferior derecha.
+ centro.x + radio, centro.y + radio,
+ // de 0 a 360 grados.
+ 0, 64 * 360);
}