Resorted; add some missing Morohashi's Daikanwa characters; add
[chise/xemacs-chise.git] / src / console.h
index 6e3118b..e015b8f 100644 (file)
@@ -25,6 +25,8 @@ Boston, MA 02111-1307, USA.  */
 #ifndef INCLUDED_console_h_
 #define INCLUDED_console_h_
 
+#include "character.h"
+
 /* Devices and consoles are similar entities.  The idea is that
    a console represents a physical keyboard/mouse/other-input-source
    while a device represents a display where frames appear on.
@@ -91,13 +93,22 @@ struct console_methods
   void (*delete_device_method) (struct device *);
   void (*mark_device_method) (struct device *);
   void (*asynch_device_change_method) (void);
-  Lisp_Object (*device_system_metrics_method) (struct device *, enum device_metrics);
+  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);
+  Lisp_Object (*own_selection_method)(Lisp_Object selection_name,
+                                      Lisp_Object selection_value,
+                                      Lisp_Object how_to_add,
+                                      Lisp_Object selection_type);
+  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,
+                                           Lisp_Object selection_type);
+  Lisp_Object (*available_selection_types_method)(Lisp_Object selection_name);
+  Lisp_Object (*register_selection_data_type_method)(Lisp_Object type_name);
+  Lisp_Object (*selection_data_type_name_method)(Lisp_Object type);
 
   /* frame methods */
   Lisp_Object *device_specific_frame_props;
@@ -141,7 +152,7 @@ struct console_methods
   int (*left_margin_width_method) (struct window *);
   int (*right_margin_width_method) (struct window *);
   int (*text_width_method) (struct frame *f, struct face_cachel *cachel,
-                           const Emchar *str, Charcount len);
+                           const Charc *str, Charcount len);
   void (*output_display_block_method) (struct window *, struct display_line *,
                                       int, int, int, int, int, int, int);
   int (*divider_height_method) (void);
@@ -168,7 +179,7 @@ struct console_methods
                                face_index findex, int cursor_start, int cursor_width,
                                int cursor_height, int offset_bitmap);
   void (*output_string_method) (struct window *w, struct display_line *dl,
-                               Emchar_dynarr *buf, int xpos, int xoffset,
+                               Charc_dynarr *buf, int xpos, int xoffset,
                                int start_pixpos, int width, face_index findex,
                                int cursor, int cursor_start, int cursor_width,
                                int cursor_height);