conwin.hpp

来自「vbindiff-3.0_beta4.tar.gz是一个linux下二进制比较工」· HPP 代码 · 共 90 行

HPP
90
字号
//--------------------------------------------------------------------// $Id: ConWin.hpp 4759 2008-07-26 03:19:24Z cjm $//--------------------------------------------------------------------////   Visual Binary Diff//   Copyright 1997-2005 by Christopher J. Madsen////   Support class for curses applications////   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.////   This program is distributed in the hope that it will be useful,//   but WITHOUT ANY WARRANTY; without even the implied warranty of//   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the//   GNU General Public License for more details.////   You should have received a copy of the GNU General Public License//   along with this program.  If not, see <http://www.gnu.org/licenses/>.//--------------------------------------------------------------------#ifndef INCLUDED_CONWIN_HPP#define INCLUDED_CONWIN_HPP#include <panel.h>#undef border                 // It interferes with my member function#define KEY_ESCAPE 0x1B#define KEY_TAB    0x09#define KEY_DELETE 0x7F#define KEY_RETURN 0x0Denum Style {  cBackground = 0,  cPromptWin,  cPromptKey,  cPromptBdr,  cCurrentMode,  cFileName,  cFileWin,  cFileDiff,  cFileEdit};class ConWindow{ protected:  PANEL   *pan;  WINDOW  *win; public:  ConWindow();  ~ConWindow();  void init(short x, short y, short width, short height, Style style);  void close();  void border() { ::box(win, 0, 0); };  void clear()  {   werase(win);    };  void move(short x, short y) { move_panel(pan, y, x); };///void put(short x, short y, const String& s);  void put(short x, short y, const char* s) { mvwaddstr(win, y, x, s); };  void putAttribs(short x, short y, Style color, short count);  void putChar(short x, short y, char c, short count);  int  readKey();  void resize(short width, short height);  void setAttribs(Style color);  void setCursor(short x, short y);  void update(unsigned short margin=0) {};  void hide() { hide_panel(pan); };  void show() { show_panel(pan); };  static void getScreenSize(int& x, int& y) { getmaxyx(curscr, y, x); };  static void hideCursor()                  { curs_set(0);            };  static void showCursor(bool insert=true)  { curs_set(insert ? 1 : 2); };  static void shutdown();  static bool startup();}; // end ConWindow#endif // INCLUDED_CONWIN_HPP//--------------------------------------------------------------------// Local Variables://            mode: c++//    c-file-style: "cjm"// End:

⌨️ 快捷键说明

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