X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=src%2Fframe.h;h=0a341c5e507f122371dcdbea23d4f328ca7b0df8;hb=166ba1350d802535b6a6ea7ea0bc29c56a71b7ec;hp=9a80e8ea90b504fa8250e6df0396ad0f805c9ab9;hpb=98a6e4055a1fa624c592ac06f79287d55196ca37;p=chise%2Fxemacs-chise.git.1 diff --git a/src/frame.h b/src/frame.h index 9a80e8e..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; \