void (*mark_device_method) (struct device *, void (*)(Lisp_Object));
void (*asynch_device_change_method) (void);
Lisp_Object (*device_system_metrics_method) (struct device *, enum device_metrics);
- unsigned int (*device_implementation_flags_method) ();
+ unsigned int (*device_implementation_flags_method) (void);
+ Lisp_Object (*own_selection_method)(Lisp_Object selection_name, Lisp_Object selection_value);
+ void (*disown_selection_method)(Lisp_Object selection_name, Lisp_Object timeval);
+ Lisp_Object (*get_foreign_selection_method) (Lisp_Object selection_symbol,
+ Lisp_Object target_type);
+ Lisp_Object (*selection_exists_p_method)(Lisp_Object selection_name);
/* frame methods */
Lisp_Object *device_specific_frame_props;
int (*eol_cursor_width_method) (void);
void (*output_vertical_divider_method) (struct window *, int);
void (*clear_to_window_end_method) (struct window *, int, int);
- void (*clear_region_method) (Lisp_Object, face_index, int, int, int, int);
+ void (*clear_region_method) (Lisp_Object, struct device*, struct frame*, face_index,
+ int, int, int, int,
+ Lisp_Object, Lisp_Object, Lisp_Object);
void (*clear_frame_method) (struct frame *);
void (*output_begin_method) (struct device *);
void (*output_end_method) (struct device *);
Lisp_Object printcharfun,
int escapeflag);
void (*finalize_image_instance_method) (struct Lisp_Image_Instance *);
+ void (*unmap_subwindow_method) (struct Lisp_Image_Instance *);
+ void (*map_subwindow_method) (struct Lisp_Image_Instance *, int x, int y);
+ void (*resize_subwindow_method) (struct Lisp_Image_Instance *, int w, int h);
+ void (*update_subwindow_method) (struct Lisp_Image_Instance *);
int (*image_instance_equal_method) (struct Lisp_Image_Instance *,
struct Lisp_Image_Instance *,
int depth);
Lisp_Object (*locate_pixmap_file_method) (Lisp_Object file_method);
int (*colorize_image_instance_method) (Lisp_Object image_instance,
Lisp_Object fg, Lisp_Object bg);
-#ifdef HAVE_XPM
- /* which is more tacky - this or #defines in glyphs.c? */
- void (*xpm_instantiate_method)(Lisp_Object image_instance,
- Lisp_Object instantiator,
- Lisp_Object pointer_fg,
- Lisp_Object pointer_bg,
- int dest_mask, Lisp_Object domain);
-#endif
-#ifdef HAVE_WINDOW_SYSTEM
- /* which is more tacky - this or #defines in glyphs.c? */
- void (*xbm_instantiate_method)(Lisp_Object image_instance,
- Lisp_Object instantiator,
- Lisp_Object pointer_fg,
- Lisp_Object pointer_bg,
- int dest_mask, Lisp_Object domain);
-#endif
Lisp_Object image_conversion_list;
#ifdef HAVE_TOOLBARS
/* dialog methods */
void (*popup_dialog_box_method) (struct frame *, Lisp_Object dbox_desc);
#endif
+
+ /* Console-specific features */
+ Lisp_Object features;
};
/*
#define CONSOLE_TYPE_NAME(c) ((c)->conmeths->name)
#define CONSOLE_TYPE(c) ((c)->conmeths->symbol)
+#define CONSOLE_FEATURES(c) ((c)->conmeths->features)
#define CONMETH_TYPE(meths) ((meths)->symbol)
+#define CONMETH_FEATURES(c) ((meths)->features)
/******** Accessing / calling a console method *********/
add_entry_to_console_type_list (Q##type, type##_console_methods); \
type##_console_methods->image_conversion_list = Qnil; \
staticpro (&type##_console_methods->image_conversion_list); \
+ type##_console_methods->features = Qnil; \
+ staticpro (&type##_console_methods->features); \
} while (0)
/* Declare that console-type TYPE has method M; used in