#pragma once

class CActionHandler;

class CGraphicOutput
{
public:
    CGraphicOutput();
    ~CGraphicOutput(void);

    virtual void showFrawn()=0;
    virtual void showSmile()=0;
    virtual void showCell(int irow, int icol)=0;
    virtual void showFlag(int irow, int icol)=0;
    virtual void showBlastedMine(int irow, int icol)=0;
    virtual void showMine(int irow, int icol)=0;
    virtual void showQuestionMark(int irow, int icol)=0;
    virtual void showSurroundingMineCount(int count, int irow, int icol)=0;
    virtual void setRemainingMineCount(int count)=0;
    virtual void startClock()=0;
    virtual void stopClock()=0;
    virtual void resetClock()=0;

protected:
    CActionHandler *m_handler;

public:
    void SetHandler(CActionHandler * handler);
};
