graphic.h

来自「CxxTester是一个用于C++代码的通用测试框。它支持测试库系统、有一套方法」· C头文件 代码 · 共 204 行

H
204
字号
//----------------------------------------------------------------------////                             COPYRIGHT (C) 2001                       ////                                                                      //// Graphic.h                                                            ////                                                                      //// include file for remote drawing functionality of standard graphics.  ////----------------------------------------------------------------------//#ifndef Graphic_h#define Graphic_h 1//----------------------------------------------------------------------//// max size of a drawing protocoll package                              ////----------------------------------------------------------------------//const int GrcBuffSize = 500;//----------------------------------------------------------------------//// enumeration of the available graphic elements                        ////----------------------------------------------------------------------//enum GrcType{    GRC_NONE,    GRC_COLOR,    GRC_POINT,    GRC_LINE,    GRC_RECT,    GRC_ARC,    GRC_POLY,    GRC_TEXT};//----------------------------------------------------------------------//// the interface for graphic testcase implementations                   ////----------------------------------------------------------------------//int SetForeground(int red, int green, int blue);int ClearBackground(int red, int green, int blue);int DrawPoint(int x, int y);int DrawLine(int xs, int ys, int xe, int ye);int DrawRect(int xs, int ys, int xe, int ye);int FillRect(int xs, int ys, int xe, int ye);int DrawArc(int xs, int ys, int xe, int ye, int angle=0, int span=0);int FillArc(int xs, int ys, int xe, int ye, int angle=0, int span=0);int DrawPolygon(int nr, int* xlist, int* ylist);int FillPolygon(int nr, int* xlist, int* ylist);int DrawTinyString(int x, int y,char* str);int DrawMediumString(int x, int y,char* str);int DrawLargeString(int x, int y,char* str);//----------------------------------------------------------------------//// the base class of all graphic elements                               ////----------------------------------------------------------------------//class GrcBase{    public:    GrcBase();       virtual ~GrcBase() = 0;    virtual int encode(char*&,char*) = 0;    virtual int decode(char*&,char*) = 0;    virtual void exec()              = 0;    void queue();    static int  encodeList(GrcBase*&);    static int  decodeList(int);    static void clearList();    static void execList();    static int      m_Exec;    static char     m_BuffHead[GrcBuffSize+1];    static char*    m_BuffTail;    static GrcBase* m_Start;    static GrcBase* m_End;    private:	GrcBase*        m_Next;};//----------------------------------------------------------------------//// the foreground/background element                                    ////----------------------------------------------------------------------//class GrcColor: public GrcBase{    public:   ~GrcColor();    GrcColor();    GrcColor(int,int,int,int);    virtual int encode(char*&,char*);    virtual int decode(char*&,char*);    void exec();    private:    int m_Red;    int m_Green;    int m_Blue;    int m_Mode;};//----------------------------------------------------------------------//// the point element                                                    ////----------------------------------------------------------------------//class GrcPoint: public GrcBase{    public:   ~GrcPoint();    GrcPoint();    GrcPoint(int,int);    virtual int encode(char*&,char*);    virtual int decode(char*&,char*);    void exec();    int m_X;    int m_Y;};//----------------------------------------------------------------------//// the line element                                                     ////----------------------------------------------------------------------//class GrcLine: public GrcBase{    public:   ~GrcLine();    GrcLine();    GrcLine(int,int,int,int);    virtual int encode(char*&,char*);    virtual int decode(char*&,char*);    void exec();    private:    GrcPoint m_From;    GrcPoint m_To;};//----------------------------------------------------------------------//// the draw/fill rectangle element                                      ////----------------------------------------------------------------------//class GrcRect: public GrcBase{    public:   ~GrcRect();    GrcRect();    GrcRect(int,int,int,int,int);    virtual int encode(char*&,char*);    virtual int decode(char*&,char*);    void exec();    private:    GrcPoint m_EdgeA;    GrcPoint m_EdgeB;    int m_Mode;};//----------------------------------------------------------------------//// the draw/fill arc/segment/circle element                             ////----------------------------------------------------------------------//class GrcArc: public GrcBase{    public:   ~GrcArc();    GrcArc();    GrcArc(int,int,int,int,int,int,int);    virtual int encode(char*&,char*);    virtual int decode(char*&,char*);    void exec();    private:    GrcPoint m_EdgeA;    GrcPoint m_EdgeB;    int m_Angle;    int m_Span;    int m_Mode;};//----------------------------------------------------------------------//// the draw/fill polygon element                                        ////----------------------------------------------------------------------//class GrcPoly: public GrcBase{    public:   ~GrcPoly();    GrcPoly();    GrcPoly(int,int*,int*,int);    virtual int decode(char*&,char*);    virtual int encode(char*&,char*);    void exec();    private:    int  m_Nr;    int* m_Shape;    int  m_Mode;};//----------------------------------------------------------------------//// the tiny/medium/large text element                                   ////----------------------------------------------------------------------//class GrcText: public GrcBase{    public:   ~GrcText();    GrcText();    GrcText(char*&,char*);    GrcText(int,int,int,char*);    virtual int encode(char*&,char*);    virtual int decode(char*&,char*);    void exec();    private:    int m_X;    int m_Y;    int m_Mode;    char* m_Text;};#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?