diff options
Diffstat (limited to 'src/frame.h')
| -rw-r--r-- | src/frame.h | 63 |
1 files changed, 43 insertions, 20 deletions
diff --git a/src/frame.h b/src/frame.h index 4aa7c34a29a..154dc9a3bb4 100644 --- a/src/frame.h +++ b/src/frame.h | |||
| @@ -52,6 +52,19 @@ enum z_group | |||
| 52 | z_group_below, | 52 | z_group_below, |
| 53 | z_group_above_suspended, | 53 | z_group_above_suspended, |
| 54 | }; | 54 | }; |
| 55 | |||
| 56 | enum internal_border_part | ||
| 57 | { | ||
| 58 | INTERNAL_BORDER_NONE, | ||
| 59 | INTERNAL_BORDER_LEFT_EDGE, | ||
| 60 | INTERNAL_BORDER_TOP_LEFT_CORNER, | ||
| 61 | INTERNAL_BORDER_TOP_EDGE, | ||
| 62 | INTERNAL_BORDER_TOP_RIGHT_CORNER, | ||
| 63 | INTERNAL_BORDER_RIGHT_EDGE, | ||
| 64 | INTERNAL_BORDER_BOTTOM_RIGHT_CORNER, | ||
| 65 | INTERNAL_BORDER_BOTTOM_EDGE, | ||
| 66 | INTERNAL_BORDER_BOTTOM_LEFT_CORNER, | ||
| 67 | }; | ||
| 55 | #endif /* HAVE_WINDOW_SYSTEM */ | 68 | #endif /* HAVE_WINDOW_SYSTEM */ |
| 56 | 69 | ||
| 57 | /* The structure representing a frame. */ | 70 | /* The structure representing a frame. */ |
| @@ -354,7 +367,11 @@ struct frame | |||
| 354 | 367 | ||
| 355 | /* The z-group this frame's window belongs to. */ | 368 | /* The z-group this frame's window belongs to. */ |
| 356 | ENUM_BF (z_group) z_group : 2; | 369 | ENUM_BF (z_group) z_group : 2; |
| 357 | #endif /* HAVE_WINDOW_SYSTEM and not HAVE_NS */ | 370 | |
| 371 | /* Non-zero if display of truncation and continuation glyphs outside | ||
| 372 | the fringes is suppressed. */ | ||
| 373 | bool_bf no_special_glyphs : 1; | ||
| 374 | #endif /* HAVE_WINDOW_SYSTEM */ | ||
| 358 | 375 | ||
| 359 | /* Whether new_height and new_width shall be interpreted | 376 | /* Whether new_height and new_width shall be interpreted |
| 360 | in pixels. */ | 377 | in pixels. */ |
| @@ -824,7 +841,7 @@ default_pixels_per_inch_y (void) | |||
| 824 | #ifdef USE_GTK | 841 | #ifdef USE_GTK |
| 825 | #define FRAME_TOOL_BAR_POSITION(f) (f)->tool_bar_position | 842 | #define FRAME_TOOL_BAR_POSITION(f) (f)->tool_bar_position |
| 826 | #else | 843 | #else |
| 827 | #define FRAME_TOOL_BAR_POSITION(f) ((void) f, Qtop) | 844 | #define FRAME_TOOL_BAR_POSITION(f) ((void) (f), Qtop) |
| 828 | #endif | 845 | #endif |
| 829 | 846 | ||
| 830 | /* Number of lines of frame F used for the tool-bar. */ | 847 | /* Number of lines of frame F used for the tool-bar. */ |
| @@ -908,16 +925,17 @@ default_pixels_per_inch_y (void) | |||
| 908 | ((f)->vertical_scroll_bar_type == vertical_scroll_bar_right) | 925 | ((f)->vertical_scroll_bar_type == vertical_scroll_bar_right) |
| 909 | #else /* not HAVE_WINDOW_SYSTEM */ | 926 | #else /* not HAVE_WINDOW_SYSTEM */ |
| 910 | /* If there is no window system, there are no scroll bars. */ | 927 | /* If there is no window system, there are no scroll bars. */ |
| 911 | #define FRAME_VERTICAL_SCROLL_BAR_TYPE(f) ((void) f, vertical_scroll_bar_none) | 928 | #define FRAME_VERTICAL_SCROLL_BAR_TYPE(f) \ |
| 912 | #define FRAME_HAS_VERTICAL_SCROLL_BARS(f) ((void) f, 0) | 929 | ((void) (f), vertical_scroll_bar_none) |
| 913 | #define FRAME_HAS_VERTICAL_SCROLL_BARS_ON_LEFT(f) ((void) f, 0) | 930 | #define FRAME_HAS_VERTICAL_SCROLL_BARS(f) ((void) (f), 0) |
| 914 | #define FRAME_HAS_VERTICAL_SCROLL_BARS_ON_RIGHT(f) ((void) f, 0) | 931 | #define FRAME_HAS_VERTICAL_SCROLL_BARS_ON_LEFT(f) ((void) (f), 0) |
| 932 | #define FRAME_HAS_VERTICAL_SCROLL_BARS_ON_RIGHT(f) ((void) (f), 0) | ||
| 915 | #endif /* HAVE_WINDOW_SYSTEM */ | 933 | #endif /* HAVE_WINDOW_SYSTEM */ |
| 916 | 934 | ||
| 917 | #if defined (HAVE_WINDOW_SYSTEM) | 935 | #if defined (HAVE_WINDOW_SYSTEM) |
| 918 | #define FRAME_UNDECORATED(f) ((f)->undecorated) | 936 | #define FRAME_UNDECORATED(f) ((f)->undecorated) |
| 919 | #ifdef HAVE_NTGUI | 937 | #ifdef HAVE_NTGUI |
| 920 | #define FRAME_OVERRIDE_REDIRECT(f) ((void) f, 0) | 938 | #define FRAME_OVERRIDE_REDIRECT(f) ((void) (f), 0) |
| 921 | #else | 939 | #else |
| 922 | #define FRAME_OVERRIDE_REDIRECT(f) ((f)->override_redirect) | 940 | #define FRAME_OVERRIDE_REDIRECT(f) ((f)->override_redirect) |
| 923 | #endif | 941 | #endif |
| @@ -928,6 +946,7 @@ default_pixels_per_inch_y (void) | |||
| 928 | #define FRAME_SKIP_TASKBAR(f) ((f)->skip_taskbar) | 946 | #define FRAME_SKIP_TASKBAR(f) ((f)->skip_taskbar) |
| 929 | #define FRAME_NO_FOCUS_ON_MAP(f) ((f)->no_focus_on_map) | 947 | #define FRAME_NO_FOCUS_ON_MAP(f) ((f)->no_focus_on_map) |
| 930 | #define FRAME_NO_ACCEPT_FOCUS(f) ((f)->no_accept_focus) | 948 | #define FRAME_NO_ACCEPT_FOCUS(f) ((f)->no_accept_focus) |
| 949 | #define FRAME_NO_SPECIAL_GLYPHS(f) ((f)->no_special_glyphs) | ||
| 931 | #define FRAME_Z_GROUP(f) ((f)->z_group) | 950 | #define FRAME_Z_GROUP(f) ((f)->z_group) |
| 932 | #define FRAME_Z_GROUP_NONE(f) ((f)->z_group == z_group_none) | 951 | #define FRAME_Z_GROUP_NONE(f) ((f)->z_group == z_group_none) |
| 933 | #define FRAME_Z_GROUP_ABOVE(f) ((f)->z_group == z_group_above) | 952 | #define FRAME_Z_GROUP_ABOVE(f) ((f)->z_group == z_group_above) |
| @@ -935,16 +954,17 @@ default_pixels_per_inch_y (void) | |||
| 935 | ((f)->z_group == z_group_above_suspended) | 954 | ((f)->z_group == z_group_above_suspended) |
| 936 | #define FRAME_Z_GROUP_BELOW(f) ((f)->z_group == z_group_below) | 955 | #define FRAME_Z_GROUP_BELOW(f) ((f)->z_group == z_group_below) |
| 937 | #else /* not HAVE_WINDOW_SYSTEM */ | 956 | #else /* not HAVE_WINDOW_SYSTEM */ |
| 938 | #define FRAME_UNDECORATED(f) ((void) f, 0) | 957 | #define FRAME_UNDECORATED(f) ((void) (f), 0) |
| 939 | #define FRAME_OVERRIDE_REDIRECT(f) ((void) f, 0) | 958 | #define FRAME_OVERRIDE_REDIRECT(f) ((void) (f), 0) |
| 940 | #define FRAME_PARENT_FRAME(f) ((void) f, NULL) | 959 | #define FRAME_PARENT_FRAME(f) ((void) (f), NULL) |
| 941 | #define FRAME_SKIP_TASKBAR(f) ((void) f, 0) | 960 | #define FRAME_SKIP_TASKBAR(f) ((void) (f), 0) |
| 942 | #define FRAME_NO_FOCUS_ON_MAP(f) ((void) f, 0) | 961 | #define FRAME_NO_FOCUS_ON_MAP(f) ((void) (f), 0) |
| 943 | #define FRAME_NO_ACCEPT_FOCUS(f) ((void) f, 0) | 962 | #define FRAME_NO_ACCEPT_FOCUS(f) ((void) (f), 0) |
| 944 | #define FRAME_Z_GROUP(f) ((void) f, z_group_none) | 963 | #define FRAME_NO_SPECIAL_GLYPHS(f) ((void) (f), 0) |
| 945 | #define FRAME_Z_GROUP_NONE(f) ((void) f, true) | 964 | #define FRAME_Z_GROUP(f) ((void) (f), z_group_none) |
| 946 | #define FRAME_Z_GROUP_ABOVE(f) ((void) f, false) | 965 | #define FRAME_Z_GROUP_NONE(f) ((void) (f), true) |
| 947 | #define FRAME_Z_GROUP_BELOW(f) ((void) f, false) | 966 | #define FRAME_Z_GROUP_ABOVE(f) ((void) (f), false) |
| 967 | #define FRAME_Z_GROUP_BELOW(f) ((void) (f), false) | ||
| 948 | #endif /* HAVE_WINDOW_SYSTEM */ | 968 | #endif /* HAVE_WINDOW_SYSTEM */ |
| 949 | 969 | ||
| 950 | /* Whether horizontal scroll bars are currently enabled for frame F. */ | 970 | /* Whether horizontal scroll bars are currently enabled for frame F. */ |
| @@ -952,7 +972,7 @@ default_pixels_per_inch_y (void) | |||
| 952 | #define FRAME_HAS_HORIZONTAL_SCROLL_BARS(f) \ | 972 | #define FRAME_HAS_HORIZONTAL_SCROLL_BARS(f) \ |
| 953 | ((f)->horizontal_scroll_bars) | 973 | ((f)->horizontal_scroll_bars) |
| 954 | #else | 974 | #else |
| 955 | #define FRAME_HAS_HORIZONTAL_SCROLL_BARS(f) ((void) f, 0) | 975 | #define FRAME_HAS_HORIZONTAL_SCROLL_BARS(f) ((void) (f), 0) |
| 956 | #endif | 976 | #endif |
| 957 | 977 | ||
| 958 | /* Width that a scroll bar in frame F should have, if there is one. | 978 | /* Width that a scroll bar in frame F should have, if there is one. |
| @@ -1288,19 +1308,20 @@ FRAME_TOTAL_FRINGE_WIDTH (struct frame *f) | |||
| 1288 | return FRAME_LEFT_FRINGE_WIDTH (f) + FRAME_RIGHT_FRINGE_WIDTH (f); | 1308 | return FRAME_LEFT_FRINGE_WIDTH (f) + FRAME_RIGHT_FRINGE_WIDTH (f); |
| 1289 | } | 1309 | } |
| 1290 | 1310 | ||
| 1291 | /* Pixel-width of internal border lines */ | 1311 | /* Pixel-width of internal border lines. */ |
| 1292 | INLINE int | 1312 | INLINE int |
| 1293 | FRAME_INTERNAL_BORDER_WIDTH (struct frame *f) | 1313 | FRAME_INTERNAL_BORDER_WIDTH (struct frame *f) |
| 1294 | { | 1314 | { |
| 1295 | return frame_dimension (f->internal_border_width); | 1315 | return frame_dimension (f->internal_border_width); |
| 1296 | } | 1316 | } |
| 1297 | 1317 | ||
| 1298 | /* Pixel-size of window divider lines */ | 1318 | /* Pixel-size of window divider lines. */ |
| 1299 | INLINE int | 1319 | INLINE int |
| 1300 | FRAME_RIGHT_DIVIDER_WIDTH (struct frame *f) | 1320 | FRAME_RIGHT_DIVIDER_WIDTH (struct frame *f) |
| 1301 | { | 1321 | { |
| 1302 | return frame_dimension (f->right_divider_width); | 1322 | return frame_dimension (f->right_divider_width); |
| 1303 | } | 1323 | } |
| 1324 | |||
| 1304 | INLINE int | 1325 | INLINE int |
| 1305 | FRAME_BOTTOM_DIVIDER_WIDTH (struct frame *f) | 1326 | FRAME_BOTTOM_DIVIDER_WIDTH (struct frame *f) |
| 1306 | { | 1327 | { |
| @@ -1498,6 +1519,7 @@ extern void x_set_scroll_bar_height (struct frame *, Lisp_Object, Lisp_Object); | |||
| 1498 | extern long x_figure_window_size (struct frame *, Lisp_Object, bool, int *, int *); | 1519 | extern long x_figure_window_size (struct frame *, Lisp_Object, bool, int *, int *); |
| 1499 | 1520 | ||
| 1500 | extern void x_set_alpha (struct frame *, Lisp_Object, Lisp_Object); | 1521 | extern void x_set_alpha (struct frame *, Lisp_Object, Lisp_Object); |
| 1522 | extern void x_set_no_special_glyphs (struct frame *, Lisp_Object, Lisp_Object); | ||
| 1501 | 1523 | ||
| 1502 | extern void validate_x_resource_name (void); | 1524 | extern void validate_x_resource_name (void); |
| 1503 | 1525 | ||
| @@ -1521,6 +1543,7 @@ extern void x_real_positions (struct frame *, int *, int *); | |||
| 1521 | extern void free_frame_menubar (struct frame *); | 1543 | extern void free_frame_menubar (struct frame *); |
| 1522 | extern void x_free_frame_resources (struct frame *); | 1544 | extern void x_free_frame_resources (struct frame *); |
| 1523 | extern bool frame_ancestor_p (struct frame *af, struct frame *df); | 1545 | extern bool frame_ancestor_p (struct frame *af, struct frame *df); |
| 1546 | extern enum internal_border_part frame_internal_border_part (struct frame *f, int x, int y); | ||
| 1524 | 1547 | ||
| 1525 | #if defined HAVE_X_WINDOWS | 1548 | #if defined HAVE_X_WINDOWS |
| 1526 | extern void x_wm_set_icon_position (struct frame *, int, int); | 1549 | extern void x_wm_set_icon_position (struct frame *, int, int); |