void (*asynch_device_change_method) (void);
Lisp_Object (*device_system_metrics_method) (struct device *, enum device_metrics);
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;
/* 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