{
#ifdef MULE
Emchar ch = charptr_emchar (temptemp);
- i += XCHARSET_COLUMNS (CHAR_CHARSET (ch));
+ i += CHAR_COLUMNS (ch);
#else
i++; /* telescope this */
#endif
case IMAGE_MONO_PIXMAP:
case IMAGE_COLOR_PIXMAP:
case IMAGE_SUBWINDOW:
+ case IMAGE_WIDGET:
+ case IMAGE_LAYOUT:
/* just do nothing here */
break;
Clear the area in the box defined by the given parameters.
****************************************************************************/
static void
-tty_clear_region (Lisp_Object window, face_index findex, int x, int y,
- int width, int height)
+tty_clear_region (Lisp_Object window, struct device* d, struct frame * f,
+ face_index findex, int x, int y,
+ int width, int height, Lisp_Object fcolor, Lisp_Object bcolor,
+ Lisp_Object background_pixmap)
{
- struct window *w = XWINDOW (window);
- struct frame *f = XFRAME (w->frame);
struct console *c = XCONSOLE (FRAME_CONSOLE (f));
int line;
-
- if (!width || !height)
- return;
+ struct window* w = XWINDOW (window);
tty_turn_on_face (w, findex);
for (line = y; line < y + height; line++)
Lisp_Object window;
XSETWINDOW (window, w);
- tty_clear_region (window, DEFAULT_INDEX, x, ypos1, width, ypos2 - ypos1);
+ redisplay_clear_region (window, DEFAULT_INDEX, x, ypos1, width, ypos2 - ypos1);
}
}
{
Lisp_Object dev = CONSOLE_SELECTED_DEVICE (c);
- if (!GC_NILP (dev))
+ if (!NILP (dev))
{
Lisp_Object frm = DEVICE_SELECTED_FRAME (XDEVICE (dev));
- if (!GC_NILP (frm))
+ if (!NILP (frm))
{
struct frame *f = XFRAME (frm);
/* Clear the bottom line of the frame. */
- tty_clear_region (FRAME_SELECTED_WINDOW (f), DEFAULT_INDEX, 0,
+ redisplay_clear_region (FRAME_SELECTED_WINDOW (f), DEFAULT_INDEX, 0,
f->height, f->width, 1);
/* And then stick the cursor there. */
\f
struct fkey_table
{
- CONST char *cap, *name;
+ CONST char *cap;
+ CONST char *name;
};
/* Termcap capability names that correspond directly to X keysyms.
describes F10, whereas othertimes it describes F0 and "k;" describes F10.
We will attempt to politely accommodate both systems by testing for
"k;", and if it is present, assuming that "k0" denotes F0, otherwise F10.
- */
+ */
{
- char *k_semi = tgetstr ("k;", address);
- char *k0 = tgetstr ("k0", address);
- CONST char *k0_name = "f10";
+ CONST char *k_semi = tgetstr ("k;", address);
+ CONST char *k0 = tgetstr ("k0", address);
if (k_semi)
- {
- Fdefine_key (function_key_map, build_ext_string (k_semi, FORMAT_BINARY),
- vector1 (intern ("f10")));
- k0_name = "f0";
- }
+ Fdefine_key (function_key_map, build_ext_string (k_semi, FORMAT_BINARY),
+ vector1 (intern ("f10")));
if (k0)
Fdefine_key (function_key_map, build_ext_string (k0, FORMAT_BINARY),
- vector1 (intern (k0_name)));
+ vector1 (intern (k_semi ? "f0" : "f10")));
}
/* Set up cookies for numbered function keys above f10. */
}
}
}
- }
+ }
/*
* Various mappings to try and get a better fit.
*/
- {
-#define CONDITIONAL_REASSIGN(cap1, cap2, sym) \
- if (!tgetstr (cap1, address)) \
- { \
- char *sequence = tgetstr (cap2, address); \
- if (sequence) \
- Fdefine_key (function_key_map, \
- build_ext_string (sequence, FORMAT_BINARY), \
- vector1 (intern (sym))); \
- }
+#define CONDITIONAL_REASSIGN(cap1, cap2, keyname) \
+ if (!tgetstr (cap1, address)) \
+ { \
+ char *sequence = tgetstr (cap2, address); \
+ if (sequence) \
+ Fdefine_key (function_key_map, \
+ build_ext_string (sequence, FORMAT_BINARY), \
+ vector1 (intern (keyname))); \
+ }
- /* if there's no key_next keycap, map key_npage to `next' keysym */
- CONDITIONAL_REASSIGN ("%5", "kN", "next");
- /* if there's no key_prev keycap, map key_ppage to `previous' keysym */
- CONDITIONAL_REASSIGN ("%8", "kP", "prior");
- /* if there's no key_dc keycap, map key_ic to `insert' keysym */
- CONDITIONAL_REASSIGN ("kD", "kI", "insert");
-
- /* IBM has their own non-standard dialect of terminfo.
- If the standard name isn't found, try the IBM name. */
- CONDITIONAL_REASSIGN ("kB", "KO", "backtab");
- CONDITIONAL_REASSIGN ("@4", "kJ", "execute"); /* actually "action" */
- CONDITIONAL_REASSIGN ("@4", "kc", "execute"); /* actually "command" */
- CONDITIONAL_REASSIGN ("%7", "ki", "menu");
- CONDITIONAL_REASSIGN ("@7", "kw", "end");
- CONDITIONAL_REASSIGN ("F1", "k<", "f11");
- CONDITIONAL_REASSIGN ("F2", "k>", "f12");
- CONDITIONAL_REASSIGN ("%1", "kq", "help");
- CONDITIONAL_REASSIGN ("*6", "kU", "select");
+ /* if there's no key_next keycap, map key_npage to `next' keysym */
+ CONDITIONAL_REASSIGN ("%5", "kN", "next");
+ /* if there's no key_prev keycap, map key_ppage to `previous' keysym */
+ CONDITIONAL_REASSIGN ("%8", "kP", "prior");
+ /* if there's no key_dc keycap, map key_ic to `insert' keysym */
+ CONDITIONAL_REASSIGN ("kD", "kI", "insert");
+
+ /* IBM has their own non-standard dialect of terminfo.
+ If the standard name isn't found, try the IBM name. */
+ CONDITIONAL_REASSIGN ("kB", "KO", "backtab");
+ CONDITIONAL_REASSIGN ("@4", "kJ", "execute"); /* actually "action" */
+ CONDITIONAL_REASSIGN ("@4", "kc", "execute"); /* actually "command" */
+ CONDITIONAL_REASSIGN ("%7", "ki", "menu");
+ CONDITIONAL_REASSIGN ("@7", "kw", "end");
+ CONDITIONAL_REASSIGN ("F1", "k<", "f11");
+ CONDITIONAL_REASSIGN ("F2", "k>", "f12");
+ CONDITIONAL_REASSIGN ("%1", "kq", "help");
+ CONDITIONAL_REASSIGN ("*6", "kU", "select");
#undef CONDITIONAL_REASSIGN
- }
return Qnil;
}