XEmacs 21.4.5 "Civil Service".
[chise/xemacs-chise.git.1] / src / device.h
index 2055be8..a870bbf 100644 (file)
@@ -48,6 +48,7 @@ struct pixel_to_glyph_translation_cache
 
 #define DEVICE_TYPE_NAME(d) ((d)->devmeths->name)
 #define DEVICE_TYPE(d) ((d)->devmeths->symbol)
+#define DEVICE_IMPL_FLAG(d, f) CONMETH_IMPL_FLAG ((d)->devmeths, (f))
 #define DEVICE_SPECIFIC_FRAME_PROPS(d) \
   ((d)->devmeths->device_specific_frame_props)
 
@@ -220,6 +221,7 @@ struct device
 DECLARE_LRECORD (device, struct device);
 #define XDEVICE(x) XRECORD (x, device, struct device)
 #define XSETDEVICE(x, p) XSETRECORD (x, p, device)
+#define wrap_device(p) wrap_object (p)
 #define DEVICEP(x) RECORDP (x, device)
 #define CHECK_DEVICE(x) CHECK_RECORD (x, device)
 #define CONCHECK_DEVICE(x) CONCHECK_RECORD (x, device)
@@ -272,9 +274,7 @@ error_check_device_type (struct device *d, Lisp_Object sym)
 
 #define DEVICE_DISPLAY_P(dev)                          \
   (DEVICE_LIVE_P (dev) &&                              \
-   (MAYBE_INT_DEVMETH (dev,                            \
-                      device_implementation_flags, ()) \
-    & XDEVIMPF_IS_A_PRINTER) ? 0 : 1)
+    !DEVICE_IMPL_FLAG (dev, XDEVIMPF_IS_A_PRINTER))
 
 #define CHECK_DISPLAY_DEVICE(dev)                      \
   do {                                                 \
@@ -319,6 +319,10 @@ error_check_device_type (struct device *d, Lisp_Object sym)
 #define CHECK_X_DEVICE(z) CHECK_DEVICE_TYPE (z, x)
 #define CONCHECK_X_DEVICE(z) CONCHECK_DEVICE_TYPE (z, x)
 
+#define DEVICE_GTK_P(dev) CONSOLE_TYPESYM_GTK_P (DEVICE_TYPE (dev))
+#define CHECK_GTK_DEVICE(z) CHECK_DEVICE_TYPE (z, gtk)
+#define CONCHECK_GTK_DEVICE(z) CONCHECK_DEVICE_TYPE (z, gtk)
+
 #define DEVICE_MSWINDOWS_P(dev) CONSOLE_TYPESYM_MSWINDOWS_P (DEVICE_TYPE (dev))
 #define CHECK_MSWINDOWS_DEVICE(z) CHECK_DEVICE_TYPE (z, mswindows)
 #define CONCHECK_MSWINDOWS_DEVICE(z) CONCHECK_DEVICE_TYPE (z, mswindows)
@@ -340,7 +344,7 @@ EXFUN (Fmake_device, 3);
 EXFUN (Fselected_device, 1);
 
 extern Lisp_Object Qcreate_device_hook, Qdelete_device_hook, Qgrayscale;
-extern Lisp_Object Qinit_post_tty_win, Qmono, Vdefault_x_device;
+extern Lisp_Object Qinit_post_tty_win, Qmono, Vdefault_x_device, Vdefault_gtk_device;
 extern Lisp_Object Vdevice_class_list;
 
 int valid_device_class_p (Lisp_Object class);