# HG changeset patch # User Kim F. Storm # Date 1053814238 0 # Node ID 4011d3fb2912b7154360fd6053ecee1950928308 # Parent 791af636af5566ac9020768c2b17f26f5f208bd7 (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]. diff -r 791af636af55 -r 4011d3fb2912 src/xterm.h --- a/src/xterm.h Sat May 24 22:10:17 2003 +0000 +++ b/src/xterm.h Sat May 24 22:10:38 2003 +0000 @@ -405,16 +405,6 @@ 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 @@ 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 @@ 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 @@ 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 @@ 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 @@ #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 @@ /* 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). */ @@ -757,25 +702,6 @@ #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. */ /* We represent scroll bars as lisp vectors. This allows us to place @@ -917,52 +843,6 @@ #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 by this structure. */ @@ -1122,7 +1002,6 @@ /* 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,