Commit 43a74f12 authored by Kim F. Storm's avatar Kim F. Storm

(struct x_output): Move members left_pos, top_pos,

border_width, pixel_height, pixel_width, line_height,
internal_border_width, vertical_scroll_bar_extra,
left_fringe_width, right_fringe_width, fringe_cols,
fringes_extra, win_gravity, size_hint_flags, want_fullscreen,
x_pixels_diff, and y_pixels_diff to struct frame (frame.h).
(FRAME_INTERNAL_BORDER_WIDTH, FRAME_LINE_HEIGHT): Move to frame.h.
(FRAME_DEFAULT_FONT_WIDTH): Remove macro.
(PIXEL_WIDTH, PIXEL_HEIGHT)
(FRAME_X_FRINGE_COLS, FRAME_X_FRINGE_WIDTH)
(FRAME_X_LEFT_FRINGE_WIDTH, FRAME_X_RIGHT_FRINGE_WIDTH): Moved to
frame.h and renamed [see frame.h changes].
(CHAR_TO_PIXEL_ROW, CHAR_TO_PIXEL_COL, CHAR_TO_PIXEL_WIDTH)
(CHAR_TO_PIXEL_HEIGHT, PIXEL_TO_CHAR_ROW, PIXEL_TO_CHAR_COL)
(PIXEL_TO_CHAR_WIDTH, PIXEL_TO_CHAR_HEIGHT): Moved to frame.h
and renamed [see frame.h changes].
parent 0899d58c
......@@ -405,16 +405,6 @@ extern void x_find_ccl_program P_ ((struct font_info *));
struct x_output
{
/* Position of the X window (x and y offsets in root window). */
int left_pos;
int top_pos;
/* Border width of the X window as known by the X window system. */
int border_width;
/* Size of the X window in pixels. */
int pixel_height, pixel_width;
/* Height of menu bar widget, in pixels.
Zero if not using the X toolkit.
When using the toolkit, this value is not meaningful
......@@ -425,9 +415,6 @@ struct x_output
Zero if not using an external tool bar. */
int toolbar_height;
/* Height of a line, in pixels. */
int line_height;
/* The tiled border used when the mouse is out of the frame. */
Pixmap border_tile;
......@@ -436,11 +423,6 @@ struct x_output
GC reverse_gc; /* Reverse video */
GC cursor_gc; /* cursor drawing */
/* Width of the internal border. This is a line of background color
just inside the window's border. When the frame is selected,
a highlighting is displayed inside the internal border. */
int internal_border_width;
/* The X window used for this frame.
May be zero while the frame object is being created
and the X window has not yet been created. */
......@@ -556,22 +538,6 @@ struct x_output
to the mask as we go. */
XWMHints wm_hints;
/* The size of the extra width currently allotted for vertical
scroll bars, in pixels. */
int vertical_scroll_bar_extra;
/* The extra width currently allotted for the areas in which
truncation marks, continuation marks, and overlay arrows are
displayed. */
int left_fringe_width, right_fringe_width;
int fringe_cols, fringes_extra;
/* This is the gravity value for the specified window position. */
int win_gravity;
/* The geometry flags for this window. */
int size_hint_flags;
/* This is the Emacs structure for the X display this frame is on. */
struct x_display_info *display_info;
......@@ -621,17 +587,6 @@ struct x_output
zero, tell Xt not to wait. */
int wait_for_wm;
/* See enum below */
int want_fullscreen;
/* This many pixels are the difference between the outer window (i.e. the
left of the window manager decoration) and FRAME_X_WINDOW. */
int x_pixels_diff;
/* This many pixels are the difference between the outer window (i.e. the
top of the window manager titlebar) and FRAME_X_WINDOW. */
int y_pixels_diff;
/* As x_pixels_diff, but to FRAME_OUTER_WINDOW. For some reason the
two might differ by a pixel, depending on WM */
int x_pixels_outer_diff;
......@@ -693,14 +648,8 @@ enum
#define FRAME_FONT(f) ((f)->output_data.x->font)
#define FRAME_FONTSET(f) ((f)->output_data.x->fontset)
#define FRAME_INTERNAL_BORDER_WIDTH(f) ((f)->output_data.x->internal_border_width)
#define FRAME_MENUBAR_HEIGHT(f) ((f)->output_data.x->menubar_height)
#define FRAME_TOOLBAR_HEIGHT(f) ((f)->output_data.x->toolbar_height)
#define FRAME_LINE_HEIGHT(f) ((f)->output_data.x->line_height)
/* Width of the default font of frame F. Must be defined by each
terminal specific header. */
#define FRAME_DEFAULT_FONT_WIDTH(F) FONT_WIDTH (FRAME_FONT (F))
#define FRAME_BASELINE_OFFSET(f) ((f)->output_data.x->baseline_offset)
/* This gives the x_display_info structure for the display F is on. */
......@@ -722,10 +671,6 @@ enum
/* This is the 'font_info *' which frame F has. */
#define FRAME_X_FONT_TABLE(f) (FRAME_X_DISPLAY_INFO (f)->font_table)
/* These two really ought to be called FRAME_PIXEL_{WIDTH,HEIGHT}. */
#define PIXEL_WIDTH(f) ((f)->output_data.x->pixel_width)
#define PIXEL_HEIGHT(f) ((f)->output_data.x->pixel_height)
/* The difference in pixels between the top left corner of the
Emacs window (including possible window manager decorations)
and FRAME_X_WINDOW (f). */
......@@ -756,25 +701,6 @@ enum
#define FRAME_X_IMAGE_CACHE(F) FRAME_X_DISPLAY_INFO ((F))->image_cache
/* Total width of fringes reserved for drawing truncation bitmaps,
continuation bitmaps and alike. The width is in canonical char
units of the frame. This must currently be the case because window
sizes aren't pixel values. If it weren't the case, we wouldn't be
able to split windows horizontally nicely. */
#define FRAME_X_FRINGE_COLS(F) ((F)->output_data.x->fringe_cols)
/* Total width of fringes in pixels. */
#define FRAME_X_FRINGE_WIDTH(F) ((F)->output_data.x->fringes_extra)
/* Pixel-width of the left and right fringe. */
#define FRAME_X_LEFT_FRINGE_WIDTH(F) ((F)->output_data.x->left_fringe_width)
#define FRAME_X_RIGHT_FRINGE_WIDTH(F) ((F)->output_data.x->right_fringe_width)
/* X-specific scroll bar stuff. */
......@@ -916,52 +842,6 @@ struct scroll_bar
text from glomming up against the scroll bar */
#define VERTICAL_SCROLL_BAR_WIDTH_TRIM (0)
/* Manipulating pixel sizes and character sizes.
Knowledge of which factors affect the overall size of the window should
be hidden in these macros, if that's possible.
Return the upper/left pixel position of the character cell on frame F
at ROW/COL. */
#define CHAR_TO_PIXEL_ROW(f, row) \
((f)->output_data.x->internal_border_width \
+ (row) * (f)->output_data.x->line_height)
#define CHAR_TO_PIXEL_COL(f, col) \
((f)->output_data.x->internal_border_width \
+ (col) * FONT_WIDTH ((f)->output_data.x->font))
/* Return the pixel width/height of frame F if it has
WIDTH columns/HEIGHT rows. */
#define CHAR_TO_PIXEL_WIDTH(f, width) \
(CHAR_TO_PIXEL_COL (f, width) \
+ (f)->output_data.x->vertical_scroll_bar_extra \
+ (f)->output_data.x->fringes_extra \
+ (f)->output_data.x->internal_border_width)
#define CHAR_TO_PIXEL_HEIGHT(f, height) \
(CHAR_TO_PIXEL_ROW (f, height) \
+ (f)->output_data.x->internal_border_width)
/* Return the row/column (zero-based) of the character cell containing
the pixel on FRAME at ROW/COL. */
#define PIXEL_TO_CHAR_ROW(f, row) \
(((row) - (f)->output_data.x->internal_border_width) \
/ (f)->output_data.x->line_height)
#define PIXEL_TO_CHAR_COL(f, col) \
(((col) - (f)->output_data.x->internal_border_width) \
/ FONT_WIDTH ((f)->output_data.x->font))
/* How many columns/rows of text can we fit in WIDTH/HEIGHT pixels on
frame F? */
#define PIXEL_TO_CHAR_WIDTH(f, width) \
(PIXEL_TO_CHAR_COL (f, ((width) \
- (f)->output_data.x->internal_border_width \
- (f)->output_data.x->fringes_extra \
- (f)->output_data.x->vertical_scroll_bar_extra)))
#define PIXEL_TO_CHAR_HEIGHT(f, height) \
(PIXEL_TO_CHAR_ROW (f, ((height) \
- (f)->output_data.x->internal_border_width)))
/* If a struct input_event has a kind which is SELECTION_REQUEST_EVENT
or SELECTION_CLEAR_EVENT, then its contents are really described
......@@ -1122,7 +1002,6 @@ extern void x_set_tool_bar_lines P_ ((struct frame *, Lisp_Object, Lisp_Object))
/* Defined in xfaces.c */
extern int frame_update_line_height P_ ((struct frame *));
extern int compute_glyph_face P_ ((struct frame *, int, int));
extern int compute_glyph_face_1 P_ ((struct frame *, Lisp_Object, int));
extern void x_free_dpy_colors P_ ((Display *, Screen *, Colormap,
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment