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

📄 screen.h

📁 UPX 源代码
💻 H
字号:
/* screen.h --   This file is part of the UPX executable compressor.   Copyright (C) 1996-2007 Markus Franz Xaver Johannes Oberhumer   Copyright (C) 1996-2007 Laszlo Molnar   All Rights Reserved.   UPX and the UCL library are free software; you can redistribute them   and/or modify them 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; see the file COPYING.   If not, write to the Free Software Foundation, Inc.,   59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.   Markus F.X.J. Oberhumer              Laszlo Molnar   <mfx@users.sourceforge.net>          <ml1050@users.sourceforge.net> */#ifndef __UPX_SCREEN_H#define __UPX_SCREEN_H#if defined(USE_SCREEN)/*************************************************************************//**************************************************************************/struct screen_data_t;struct screen_t;typedef struct screen_t screen_t;struct screen_t{/* public: */    void (*destroy)(screen_t *s);    void (*finalize)(screen_t *s);    void (*atExit)(void);               /* atexit/signal handler */    int (*init)(screen_t *s, int fd);    void (*refresh)(screen_t *s);    int (*getMode)(const screen_t *s);    int (*getPage)(const screen_t *s);    int (*getRows)(const screen_t *s);    int (*getCols)(const screen_t *s);    int (*isMono)(const screen_t *s);    int (*getFg)(const screen_t *s);    int (*getBg)(const screen_t *s);    void (*getCursor)(const screen_t *s, int *x, int *y);    int (*getCursorShape)(const screen_t *s);    void (*setFg)(screen_t *s, int);    void (*setBg)(screen_t *s, int);    void (*setCursor)(screen_t *s, int x, int y);    void (*setCursorShape)(screen_t *s, int shape);    int (*hideCursor)(screen_t *s);    void (*putChar)(screen_t *s, int c, int x, int y);    void (*putCharAttr)(screen_t *s, int c, int attr, int x, int y);    void (*putString)(screen_t *s, const char *, int x, int y);    void (*putStringAttr)(screen_t *s, const char *, int attr, int x, int y);    void (*clear)(screen_t *s);    void (*clearLine)(screen_t *s, int);    void (*updateLineN)(screen_t *s, const void *, int y, int len);    int (*scrollUp)(screen_t *s, int);    int (*scrollDown)(screen_t *s, int);    int (*getScrollCounter)(const screen_t *s);    int (*kbhit)(screen_t *s);    int (*intro)(screen_t *s, void (*)(screen_t*) );/* private: */    struct screen_data_t *data;};screen_t *sobject_construct(const screen_t *c, size_t data_size);void sobject_destroy(screen_t *);screen_t *sobject_get_screen(void);screen_t *screen_curses_construct(void);screen_t *screen_djgpp2_construct(void);screen_t *screen_vcsa_construct(void);screen_t *screen_win32_construct(void);void screen_show_frames(screen_t *);/*************************************************************************// debugging support**************************************************************************/#if 0#undef LOG#undef LOGI#undef LOGU#undef LOGS#if defined(SCREEN_DEBUG)static void LOG(const char *format, ...){    static FILE *logfile = NULL;    va_list args;    if (!logfile)        logfile = fopen("screen.log", "wt");    if (!logfile)        return;    va_start(args,format);    vfprintf(logfile,format,args);    fflush(logfile);    va_end(args);}#  define LOGI(x)    LOG(#x " %ld\n", (long)(x))#  define LOGU(x)    LOG(#x " %lu\n", (long)(x))#  define LOGS(x)    LOG(#x " %s\n", x)#else#  define LOGI(x)#  define LOGU(x)#  define LOGS(x)#endif#endif /* if #0 */#endif /* USE_SCREEN */#endif /* already included *//*vi:ts=4:et*/

⌨️ 快捷键说明

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