X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=src%2Fframe.h;h=0a341c5e507f122371dcdbea23d4f328ca7b0df8;hb=3d3d96310d2b0d20935a7ce5a21ffa6328a8361f;hp=4ce3d1538dd8d6467b8afa203fcdf928162a8728;hpb=59eec5f21669e81977b5b1fe9bf717cab49cf7fb;p=chise%2Fxemacs-chise.git.1 diff --git a/src/frame.h b/src/frame.h index 4ce3d15..0a341c5 100644 --- a/src/frame.h +++ b/src/frame.h @@ -110,13 +110,13 @@ struct frame /* Size of toolbars as seen by redisplay. This is used to determine whether to re-layout windows by a call to change_frame_size early in redisplay_frame. */ - unsigned int current_toolbar_size[4]; + int current_toolbar_size[4]; #endif /* Size of gutters as seen by redisplay. This is used to determine whether to re-layout windows by a call to change_frame_size early in redisplay_frame. */ - unsigned int current_gutter_bounds[4]; + int current_gutter_bounds[4]; /* Dynamic arrays of display lines for gutters */ display_line_dynarr *current_display_lines[4]; @@ -188,6 +188,8 @@ Value : Emacs meaning :f-v-p : X meaning unsigned int extents_changed :1; unsigned int faces_changed :1; unsigned int frame_changed :1; + unsigned int frame_layout_changed :1; /* The layout of frame + elements has changed. */ unsigned int subwindows_changed :1; unsigned int subwindows_state_changed :1; unsigned int glyphs_changed :1; @@ -336,6 +338,10 @@ error_check_frame_type (struct frame * f, Lisp_Object sym) #define CHECK_X_FRAME(z) CHECK_FRAME_TYPE (z, x) #define CONCHECK_X_FRAME(z) CONCHECK_FRAME_TYPE (z, x) +#define FRAME_GTK_P(frm) CONSOLE_TYPESYM_GTK_P (FRAME_TYPE (frm)) +#define CHECK_GTK_FRAME(z) CHECK_FRAME_TYPE (z, gtk) +#define CONCHECK_GTK_FRAME(z) CONCHECK_FRAME_TYPE (z, gtk) + #define FRAME_TTY_P(frm) CONSOLE_TYPESYM_TTY_P (FRAME_TYPE (frm)) #define CHECK_TTY_FRAME(z) CHECK_FRAME_TYPE (z, tty) #define CONCHECK_TTY_FRAME(z) CONCHECK_FRAME_TYPE (z, tty) @@ -453,6 +459,19 @@ extern int frame_changed; frame_changed = 1; \ } while (0) +#define MARK_FRAME_LAYOUT_CHANGED(f) do { \ + struct frame *mfc_f = (f); \ + mfc_f->frame_layout_changed = 1; \ + mfc_f->modiff++; \ + if (!NILP (mfc_f->device)) \ + { \ + struct device *mfc_d = XDEVICE (mfc_f->device); \ + MARK_DEVICE_FRAME_LAYOUT_CHANGED (mfc_d); \ + } \ + else \ + frame_layout_changed = 1; \ +} while (0) + #define MARK_FRAME_WINDOWS_CHANGED(f) do { \ struct frame *mfwc_f = (f); \ mfwc_f->windows_changed = 1; \ @@ -772,10 +791,8 @@ extern int frame_changed; DEVICE_FRAME_LOOP (frmcons, XDEVICE (XCAR (devcons))) void update_frame_title (struct frame *f); -Lisp_Object next_frame (Lisp_Object f, Lisp_Object frametype, - Lisp_Object console); -Lisp_Object previous_frame (Lisp_Object f, Lisp_Object frametype, - Lisp_Object console); +Lisp_Object next_frame (Lisp_Object, Lisp_Object, Lisp_Object); +Lisp_Object previous_frame (Lisp_Object, Lisp_Object, Lisp_Object); void pixel_to_char_size (struct frame *f, int pixel_width, int pixel_height, int *char_width, int *char_height); void char_to_pixel_size (struct frame *f, int char_width, int char_height, @@ -811,7 +828,7 @@ void delete_frame_internal (struct frame *f, int force, void io_error_delete_frame (Lisp_Object frame); Lisp_Object find_some_frame (int (*predicate) (Lisp_Object, void *), void *closure); -int device_matches_console_spec (Lisp_Object device, Lisp_Object console); +int device_matches_device_spec (Lisp_Object device, Lisp_Object device_spec); Lisp_Object frame_first_window (struct frame *f); int show_gc_cursor (struct frame *f, Lisp_Object cursor); void set_frame_selected_window (struct frame *f, Lisp_Object window);