⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 window.h

📁 zhcon linux控制台下的中文操作环境yuanma
💻 H
字号:
// vi:ts=4:shiftwidth=4:expandtab/***************************************************************************                          window.h  -  description                             -------------------    begin                : Fri July 20 2001    copyright            : (C) 2001 by huyong,ejoy    email                : ccpaging@online.sh.cn                           ejoy@users.sourceforge.net ***************************************************************************//*************************************************************************** *                                                                         * *   This program is free software; you can redistribute it and/or modify  * *   it under the terms of the GNU General Public License as published by  * *   the Free Software Foundation; either version 2 of the License, or     * *   (at your option) any later version.                                   * *                                                                         * ***************************************************************************/#ifndef WINDOW_H#define WINDOW_H// text maskconst unsigned char    txtUpdated = 1,    txtASCII = 2,    txtDblCode = 4,    txtDblCode1 = 8,    txtDblCode2 = 16,    txtPrimary = 32;class Window;#define CUR_DEF         0#define CUR_NONE        1#define CUR_UNDERLINE   2#define CUR_LOWER_THIRD 3#define CUR_LOWER_HALF  4#define CUR_TWO_THIRDS  5#define CUR_BLOCK       6#define CUR_DEFAULT CUR_UNDERLINE#define WS_DEF          0#define WS_CHILD        1#define WS_FRAMETHIN    2#define WS_FRAMETHICK   4class Window {    public:        Window(int x1, int y1, int x2, int y2, int type = WS_DEF);        virtual ~Window();        void SetFrameColor(int light, int dark) {            mFrameLight = light;            mFrameDark = dark;        }        void SetCursorType(int CurType);        void SetFgColor(int color) { mFgColor = color; }        void SetBgColor(int color) { mBgColor = color; }        int  Col() { return mCol; }        int  Row() { return mRow; }        void Goto(int c, int r);        bool Visible() { return mVisible; }        void Clear();        void Clear(int c1, int r1, int c2, int r2, char attr);        void Show();        void Hide();        int GetX1() { return mX1; }        int GetY1() { return mY1; }        void MoveTo(int x, int y);                void CursorShow();   // turn cursor on        void CursorHide();  // turn cursor off        bool CursorOnOff() { return mCursorEnabled; }        void CursorBlink();        int Width() { return mX2-mX1+1; }        int Height() { return mY2-mY1+1; }        int MaxCols() { return mMaxCols; }        int MaxRows() { return mMaxRows; }        int CorrectCol(int c) {            if (c < 0) return 0;            if (c > mEndCol) return mEndCol;            return c;        }        int CorrectRow(int r) {            if (r < 0) return 0;            if (r > mEndRow) return mEndRow;            return r;        }        int ColsOvered();        int RowsOvered();                void ResetFlagAll();        void Redraw(bool isUpdateAll = false);        void DrawColorStr(int col,int row,string s);        void PutStr(int col,int row,string s);        void PutStr(int col,int row,string s,char fg);    protected:        int Index(int c, int r);        void ResetFlagRow(char *pText, char *pFlag,int len);        void RedrawRow(int row, char *pText, char *pAttr,            char *pFlag, bool isUpdateAll);        void RedrawChar(int col, int row);        void PutChar(char attr,char flag,char c1,char c2);        void PutChar(char attr,char flag,char c);        void UpdateBlinkAttr(bool show);        // set update and overlap flag for popwin's show/hide, by pixel        void SetOverlaped(int x1, int y1, int x2, int y2, bool isOvered);        void Resize(int w,int h);        int mMaxCols, mMaxRows;  // lines of cols and rows        int mEndCol, mEndRow;   // last line        // screen buffers        char *mpText;                  // Text Buffer        char *mpAttr;                  // Attr Buffer        char *mpFlag;    private:        void SetBuf();        void OutChar(int col, int row, int fg, int bg, char c);        void OutChar(int col, int row, int fg, int bg, char c1, char c2);        int mType;        // cursor position        int mCol, mRow;        bool mVisible;        int mX1, mX2, mY1, mY2; // console position in pixels        int mTextX0, mTextY0; // relate pixel postion of text start        bool mCursorEnabled, mCursorVisible;        unsigned mCursorIntevel;  //intevel in microseconds        int mCursorStart, mCursorEnd;        // inner used when text/cursor change        void CursorSet();        void CursorRestore();        void CursorDraw();        int mFrameLight, mFrameDark; // frame color        char mFgColor, mBgColor;        static Window* mpConsole;        // static PopWin* mPopWinList[2];        // not merge in mpFlag because scroll easy        static char* mpOverlaps;};#endif

⌨️ 快捷键说明

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