… | |
… | |
161 | int clicks; |
161 | int clicks; |
162 | Time time; /* milliseconds */ |
162 | Time time; /* milliseconds */ |
163 | unsigned int state; /* key or button mask */ |
163 | unsigned int state; /* key or button mask */ |
164 | unsigned int button; /* detail */ |
164 | unsigned int button; /* detail */ |
165 | }; |
165 | }; |
166 | |
|
|
167 | #define MAX_POSITIVE_INT16 (((uint16_t)-1)>>1) // TODO: configure/limits |
|
|
168 | |
166 | |
169 | #if ENABLE_FRILLS |
167 | #if ENABLE_FRILLS |
170 | typedef struct _mwmhints { |
168 | typedef struct _mwmhints { |
171 | CARD32 flags; |
169 | CARD32 flags; |
172 | CARD32 functions; |
170 | CARD32 functions; |
… | |
… | |
353 | #define FONT_DN "#-" |
351 | #define FONT_DN "#-" |
354 | #define FONT_UP "#+" |
352 | #define FONT_UP "#+" |
355 | |
353 | |
356 | /* flags for rxvt_scr_gotorc () */ |
354 | /* flags for rxvt_scr_gotorc () */ |
357 | enum { |
355 | enum { |
358 | C_RELATIVE = 1 , /* col movement is relative */ |
356 | C_RELATIVE = 1, /* col movement is relative */ |
359 | R_RELATIVE = 2, /* row movement is relative */ |
357 | R_RELATIVE = 2, /* row movement is relative */ |
360 | RELATIVE = 1 | 2, |
358 | RELATIVE = C_RELATIVE | R_RELATIVE, |
361 | }; |
359 | }; |
362 | |
360 | |
363 | /* modes for rxvt_scr_insdel_chars (), rxvt_scr_insdel_lines () */ |
361 | /* modes for rxvt_scr_insdel_chars (), rxvt_scr_insdel_lines () */ |
364 | enum { |
362 | enum { |
365 | INSERT = -1, /* don't change these values */ |
363 | INSERT = -1, /* don't change these values */ |
… | |
… | |
818 | #define Height2Pixel(n) ((int32_t)(n) * (int32_t)fheight) |
816 | #define Height2Pixel(n) ((int32_t)(n) * (int32_t)fheight) |
819 | |
817 | |
820 | #define TermWin_TotalWidth() ((int32_t)this->width) |
818 | #define TermWin_TotalWidth() ((int32_t)this->width) |
821 | #define TermWin_TotalHeight() ((int32_t)this->height) |
819 | #define TermWin_TotalHeight() ((int32_t)this->height) |
822 | |
820 | |
823 | #define LINENO(n) (((n) + term_start + total_rows) % total_rows) |
821 | // for m >= -n, ensure remainder lies between 0..n-1 |
|
|
822 | #define MOD(m,n) (((m) + (n)) % (n)) |
|
|
823 | |
|
|
824 | #define LINENO(n) MOD (term_start + int(n), total_rows) |
824 | #define ROW(n) (save [LINENO (n)]) |
825 | #define ROW(n) row_buf [LINENO (n)] |
825 | |
826 | |
826 | /* how to build & extract colors and attributes */ |
827 | /* how to build & extract colors and attributes */ |
827 | #define GET_BASEFG(x) (((x) & RS_fgMask)) |
828 | #define GET_BASEFG(x) (((x) & RS_fgMask)) |
828 | #define GET_BASEBG(x) (((x) & RS_bgMask)>>Color_Bits) |
829 | #define GET_BASEBG(x) (((x) & RS_bgMask)>>Color_Bits) |
829 | #ifndef NO_BRIGHTCOLOR |
830 | #ifndef NO_BRIGHTCOLOR |
830 | # define GET_FGCOLOR(x) \ |
831 | # define GET_FGCOLOR(x) \ |
831 | ((((x) & RS_Bold) == 0 \ |
832 | ((((x) & RS_Bold) == 0 \ |
832 | || GET_BASEFG (x) < minCOLOR \ |
833 | || GET_BASEFG (x) < minCOLOR \ |
833 | || GET_BASEFG (x) >= minBrightCOLOR) \ |
834 | || GET_BASEFG (x) >= minBrightCOLOR) \ |
834 | ? GET_BASEFG (x) \ |
835 | ? GET_BASEFG (x) \ |
835 | : (GET_BASEFG (x) + (minBrightCOLOR - minCOLOR))) |
836 | : (GET_BASEFG (x) + (minBrightCOLOR - minCOLOR))) |
836 | # define GET_BGCOLOR(x) \ |
837 | # define GET_BGCOLOR(x) \ |
837 | ((((x) & RS_Blink) == 0 \ |
838 | ((((x) & RS_Blink) == 0 \ |
838 | || GET_BASEBG (x) < minCOLOR \ |
839 | || GET_BASEBG (x) < minCOLOR \ |
839 | || GET_BASEBG (x) >= minBrightCOLOR) \ |
840 | || GET_BASEBG (x) >= minBrightCOLOR) \ |
840 | ? GET_BASEBG (x) \ |
841 | ? GET_BASEBG (x) \ |
841 | : (GET_BASEBG (x) + (minBrightCOLOR - minCOLOR))) |
842 | : (GET_BASEBG (x) + (minBrightCOLOR - minCOLOR))) |
842 | #else |
843 | #else |
… | |
… | |
1491 | |
1492 | |
1492 | void scr_blank_line (line_t &l, unsigned int col, unsigned int width, rend_t efs); |
1493 | void scr_blank_line (line_t &l, unsigned int col, unsigned int width, rend_t efs); |
1493 | void scr_blank_screen_mem (line_t &l, rend_t efs); |
1494 | void scr_blank_screen_mem (line_t &l, rend_t efs); |
1494 | int scr_scroll_text (int row1, int row2, int count); |
1495 | int scr_scroll_text (int row1, int row2, int count); |
1495 | void scr_reset (); |
1496 | void scr_reset (); |
1496 | void scr_reset_realloc (); |
|
|
1497 | void scr_release (); |
1497 | void scr_release (); |
1498 | void scr_clear (bool really = false); |
1498 | void scr_clear (bool really = false); |
1499 | void scr_refresh (unsigned char refresh_type); |
1499 | void scr_refresh (unsigned char refresh_type); |
1500 | bool scr_refresh_rend (rend_t mask, rend_t value); |
1500 | bool scr_refresh_rend (rend_t mask, rend_t value); |
1501 | void scr_erase_screen (int mode); |
1501 | void scr_erase_screen (int mode); |