#ifndef CIRCULO_H
#define CIRCULO_H

#include "forma.H"

/// Tipo específico de forma: círculo aberto.  Posição é o centro.
class Circulo : public Forma {
public:
    /** Constrói um círculo, dadas a posição e a dimensão do raio (em colunas
	do quadro). */
    Circulo(Posicao const& posicao, int raio);

    // Devolve dimensão do raio em colunas do quadro:
    int raio() const;

    // Desenha o círculo no quadro, compensando o facto dos píxeis serem
    // rectangulares:
    virtual void desenhaEm(Quadro& quadro) const;

private:
    // Dimensão do raio (em colunas):
    int raio_;
};

#include "circulo_impl.H"

#endif // CIRCULO_H