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 + -
显示快捷键?