… | |
… | |
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 | |
166 | |
167 | #define MAX_IT(current, other) if ((other) > (current)) (current) = (other) |
167 | #define MAX_POSITIVE_INT16 (((uint16_t)-1)>>1) // TODO: configure/limits |
168 | #define MIN_IT(current, other) if ((other) < (current)) (current) = (other) |
|
|
169 | #define SWAP_IT(one, two, typeof) \ |
|
|
170 | do { \ |
|
|
171 | typeof swapittmp; \ |
|
|
172 | (swapittmp) = (one); (one) = (two); (two) = (swapittmp); \ |
|
|
173 | } while (/* CONSTCOND */ 0) |
|
|
174 | #define BOUND_POSITIVE_INT16(val) \ |
|
|
175 | (int16_t) ((val) <= 0 \ |
|
|
176 | ? 0 \ |
|
|
177 | : min ((val), (((uint16_t)-1)>>1))) |
|
|
178 | |
168 | |
179 | #if ENABLE_FRILLS |
169 | #if ENABLE_FRILLS |
180 | typedef struct _mwmhints { |
170 | typedef struct _mwmhints { |
181 | CARD32 flags; |
171 | CARD32 flags; |
182 | CARD32 functions; |
172 | CARD32 functions; |
… | |
… | |
825 | #define Col2Pixel(col) ((int32_t)Width2Pixel(col)) |
815 | #define Col2Pixel(col) ((int32_t)Width2Pixel(col)) |
826 | #define Row2Pixel(row) ((int32_t)Height2Pixel(row)) |
816 | #define Row2Pixel(row) ((int32_t)Height2Pixel(row)) |
827 | #define Width2Pixel(n) ((int32_t)(n) * (int32_t)fwidth) |
817 | #define Width2Pixel(n) ((int32_t)(n) * (int32_t)fwidth) |
828 | #define Height2Pixel(n) ((int32_t)(n) * (int32_t)fheight) |
818 | #define Height2Pixel(n) ((int32_t)(n) * (int32_t)fheight) |
829 | |
819 | |
830 | #define TermWin_TotalWidth() ((int32_t)width) |
820 | #define TermWin_TotalWidth() ((int32_t)this->width) |
831 | #define TermWin_TotalHeight() ((int32_t)height) |
821 | #define TermWin_TotalHeight() ((int32_t)this->height) |
|
|
822 | |
|
|
823 | #define LINENO(n) (((n) + term_start + total_rows) % total_rows) |
|
|
824 | #define ROW(n) (save [LINENO (n)]) |
832 | |
825 | |
833 | /* how to build & extract colors and attributes */ |
826 | /* how to build & extract colors and attributes */ |
834 | #define GET_BASEFG(x) (((x) & RS_fgMask)) |
827 | #define GET_BASEFG(x) (((x) & RS_fgMask)) |
835 | #define GET_BASEBG(x) (((x) & RS_bgMask)>>Color_Bits) |
828 | #define GET_BASEBG(x) (((x) & RS_bgMask)>>Color_Bits) |
836 | #ifndef NO_BRIGHTCOLOR |
829 | #ifndef NO_BRIGHTCOLOR |
… | |
… | |
1488 | return; |
1481 | return; |
1489 | |
1482 | |
1490 | l.t = (text_t *)talloc->alloc (l.t, prev_ncol * sizeof (text_t)); |
1483 | l.t = (text_t *)talloc->alloc (l.t, prev_ncol * sizeof (text_t)); |
1491 | l.r = (rend_t *)ralloc->alloc (l.r, prev_ncol * sizeof (rend_t)); |
1484 | l.r = (rend_t *)ralloc->alloc (l.r, prev_ncol * sizeof (rend_t)); |
1492 | |
1485 | |
1493 | MIN_IT (l.l, (int16_t)ncol); |
1486 | l.l = min (l.l, ncol); |
1494 | |
1487 | |
1495 | if (ncol > prev_ncol) |
1488 | if (ncol > prev_ncol) |
1496 | scr_blank_line (l, prev_ncol, ncol - prev_ncol, DEFAULT_RSTYLE); |
1489 | scr_blank_line (l, prev_ncol, ncol - prev_ncol, DEFAULT_RSTYLE); |
1497 | } |
1490 | } |
1498 | |
1491 | |
1499 | void scr_blank_line (line_t &l, unsigned int col, unsigned int width, rend_t efs); |
1492 | void scr_blank_line (line_t &l, unsigned int col, unsigned int width, rend_t efs); |
1500 | void scr_blank_screen_mem (line_t &l, rend_t efs); |
1493 | void scr_blank_screen_mem (line_t &l, rend_t efs); |
1501 | int scr_scroll_text (int row1, int row2, int count, int spec); |
1494 | int scr_scroll_text (int row1, int row2, int count); |
1502 | void scr_reset (); |
1495 | void scr_reset (); |
1503 | void scr_reset_realloc (); |
1496 | void scr_reset_realloc (); |
1504 | void scr_release (); |
1497 | void scr_release (); |
1505 | void scr_clear (bool really = false); |
1498 | void scr_clear (bool really = false); |
1506 | void scr_refresh (unsigned char refresh_type); |
1499 | void scr_refresh (unsigned char refresh_type); |