(frame_parm_handler): New typedef.
authorKim F. Storm <storm@cua.dk>
Mon, 31 Mar 2003 20:33:14 +0000 (20:33 +0000)
committerKim F. Storm <storm@cua.dk>
Mon, 31 Mar 2003 20:33:14 +0000 (20:33 +0000)
(struct redisplay_interface): New member frame_parm_handlers.
(enum resource_types): Move declaration here.
(x_get_arg, x_frame_get_arg, x_frame_get_and_record_arg)
(x_default_parameter): Add prototypes.

src/dispextern.h

index dcb3640..958404d 100644 (file)
@@ -2195,11 +2195,19 @@ struct run
 };
 
 
+/* Handlers for setting frame parameters.  */
+
+typedef void (*frame_parm_handler) P_ ((struct frame *, Lisp_Object, Lisp_Object));
+
+
 /* Structure holding system-dependent interface functions needed
    for window-based redisplay.  */
 
 struct redisplay_interface
 {
+  /* Handlers for setting frame parameters.  */
+  frame_parm_handler *frame_parm_handlers;
+
   /* Produce glyphs/get display metrics for the display element IT is
      loaded with.  */
   void (*produce_glyphs) P_ ((struct it *it));
@@ -2887,4 +2895,35 @@ extern void do_line_insertion_deletion_costs P_ ((struct frame *, char *,
 void scrolling_1 P_ ((struct frame *, int, int, int, int *, int *, int *,
                      int *, int));
 
+/* Defined in frame.c */
+
+#ifdef HAVE_WINDOW_SYSTEM
+
+/* Types we might convert a resource string into.  */
+enum resource_types
+{
+  RES_TYPE_NUMBER,
+  RES_TYPE_FLOAT,
+  RES_TYPE_BOOLEAN,
+  RES_TYPE_STRING,
+  RES_TYPE_SYMBOL
+};
+
+extern Lisp_Object x_get_arg P_ ((Display_Info *, Lisp_Object,
+                                 Lisp_Object, char *, char *class,
+                                 enum resource_types));
+extern Lisp_Object x_frame_get_arg P_ ((struct frame *, Lisp_Object,
+                                       Lisp_Object, char *, char *,
+                                       enum resource_types));
+extern Lisp_Object x_frame_get_and_record_arg P_ ((
+                                       struct frame *, Lisp_Object,
+                                       Lisp_Object, char *, char *,
+                                       enum resource_types));
+extern Lisp_Object x_default_parameter P_ ((struct frame *, Lisp_Object,
+                                           Lisp_Object, Lisp_Object,
+                                           char *, char *,
+                                           enum resource_types));
+
+#endif /* HAVE_WINDOW_SYSTEM */
+
 #endif /* not DISPEXTERN_H_INCLUDED */