diff options
author | Jan Djärv <jan.h.d@swipnet.se> | 2013-05-25 13:14:38 +0200 |
---|---|---|
committer | Jan Djärv <jan.h.d@swipnet.se> | 2013-05-25 13:14:38 +0200 |
commit | 6799bb2634354c06b863be027971eac0cdb04283 (patch) | |
tree | ea4ab4079d962da9fdd6006bee949b043c728242 /src/frame.h | |
parent | c80de4562df771ff3f35db7ad9026604d0830114 (diff) |
Factor out common code for multimonitors, for Gtk+, non-Gtk+ X11 and NS.
* frame.c (Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource): New
Lisp_Object:s.
(free_monitors, make_monitor_attribute_list): New functions.
(syms_of_frame): DEFSYM Qgeometry, Qworkarea, Qmm_size, Qframes,
Qsource.
* frame.h (Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource): Declare.
(struct MonitorInfo): New struct.
(free_monitors, make_monitor_attribute_list): Declare.
* nsfns.m (Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource): Remove.
(struct MonitorInfo, free_monitors): Remove.
(ns_screen_name): Make static.
(ns_make_monitor_attribute_list): Call make_monitor_attribute_list.
(syms_of_nsfns): Remove DEFSYM for Qgeometry, Qworkarea, Qmm_size,
Qframes, Qsource.
* xfns.c (Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource): Remove.
(struct MonitorInfo, free_monitors): Remove.
(x_make_monitor_attribute_list): Call make_monitor_attribute_list.
(Fx_display_monitor_attributes_list): Call make_monitor_attribute_list.
(syms_of_xfns): Remove DEFSYM for Qgeometry, Qworkarea, Qmm_size,
Qframes, Qsource.
Diffstat (limited to 'src/frame.h')
-rw-r--r-- | src/frame.h | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/frame.h b/src/frame.h index fc0a1dc828..12aa48b2d9 100644 --- a/src/frame.h +++ b/src/frame.h @@ -1198,6 +1198,8 @@ extern Lisp_Object Qdisplay; extern Lisp_Object Qrun_hook_with_args; +extern Lisp_Object Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource; + #ifdef HAVE_WINDOW_SYSTEM /* The class of this X application. */ @@ -1288,6 +1290,28 @@ extern void x_query_colors (struct frame *f, XColor *, int); extern void x_query_color (struct frame *f, XColor *); #endif /* HAVE_WINDOW_SYSTEM */ + +/*********************************************************************** + Multimonitor data + ***********************************************************************/ + +#ifdef HAVE_WINDOW_SYSTEM + +struct MonitorInfo { + XRectangle geom, work; + int mm_width, mm_height; + char *name; +}; + +extern void free_monitors (struct MonitorInfo *monitors, int n_monitors); +extern Lisp_Object make_monitor_attribute_list (struct MonitorInfo *monitors, + int n_monitors, + int primary_monitor, + Lisp_Object monitor_frames, + const char *source); + +#endif /* HAVE_WINDOW_SYSTEM */ + INLINE_HEADER_END |