# HG changeset patch # User Kim F. Storm # Date 1053813657 0 # Node ID 7d669fe9c0d099cb00f158cc101a9c991f56854f # Parent f8e097cae353f2b57851d992fb08c2aac5c7a88f (struct mac_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, 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 f8e097cae353 -r 7d669fe9c0d0 src/macterm.h --- a/src/macterm.h Sat May 24 22:00:34 2003 +0000 +++ b/src/macterm.h Sat May 24 22:00:57 2003 +0000 @@ -297,29 +297,11 @@ int size_computed_faces; #endif - /* Position of the Mac window (x and y offsets in global coordinates). */ - int left_pos; - int top_pos; - - /* Border width of the W32 window as known by the window system. */ - int border_width; - - /* Size of the W32 window in pixels. */ - int pixel_height, pixel_width; - - /* Height of a line, in pixels. */ - int line_height; - /* Here are the Graphics Contexts for the default font. */ GC normal_gc; /* Normal video */ 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 window used for this frame. May be zero while the frame object is being created and the window has not yet been created. */ @@ -381,22 +363,6 @@ DWORD dwStyle; #endif - /* 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 display this frame is on. */ /* struct w32_display_info *display_info; */ @@ -429,17 +395,6 @@ /* The background for which the above relief GCs were set up. They are changed only when a different background is involved. */ unsigned long relief_background; - - /* 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; }; typedef struct mac_output mac_output; @@ -457,13 +412,6 @@ #define FRAME_FONT(f) ((f)->output_data.mac->font) #define FRAME_FONTSET(f) ((f)->output_data.mac->fontset) -#undef FRAME_INTERNAL_BORDER_WIDTH -#define FRAME_INTERNAL_BORDER_WIDTH(f) \ - ((f)->output_data.mac->internal_border_width) -#define FRAME_LINE_HEIGHT(f) ((f)->output_data.mac->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.mac->baseline_offset) /* This gives the w32_display_info structure for the display F is on. */ @@ -477,10 +425,6 @@ /* This is the 'font_info *' which frame F has. */ #define FRAME_MAC_FONT_TABLE(f) (FRAME_MAC_DISPLAY_INFO (f)->font_table) -/* These two really ought to be called FRAME_PIXEL_{WIDTH,HEIGHT}. */ -#define PIXEL_WIDTH(f) ((f)->output_data.mac->pixel_width) -#define PIXEL_HEIGHT(f) ((f)->output_data.mac->pixel_height) - /* Value is the smallest width of any character in any font on frame F. */ #define FRAME_SMALLEST_CHAR_WIDTH(F) \ @@ -496,25 +440,6 @@ #define FRAME_X_IMAGE_CACHE(F) FRAME_MAC_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.mac->fringe_cols) - -/* Total width of fringes in pixels. */ - -#define FRAME_X_FRINGE_WIDTH(F) ((F)->output_data.mac->fringes_extra) - -/* Pixel-width of the left and right fringe. */ - -#define FRAME_X_LEFT_FRINGE_WIDTH(F) ((F)->output_data.mac->left_fringe_width) -#define FRAME_X_RIGHT_FRINGE_WIDTH(F) ((F)->output_data.mac->right_fringe_width) - - - /* Mac-specific scroll bar stuff. */ /* We represent scroll bars as lisp vectors. This allows us to place @@ -647,51 +572,6 @@ 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.mac->internal_border_width \ - + (row) * (f)->output_data.mac->line_height) -#define CHAR_TO_PIXEL_COL(f, col) \ - ((f)->output_data.mac->internal_border_width \ - + (col) * FONT_WIDTH ((f)->output_data.mac->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.mac->vertical_scroll_bar_extra \ - + (f)->output_data.mac->fringes_extra \ - + (f)->output_data.mac->internal_border_width) -#define CHAR_TO_PIXEL_HEIGHT(f, height) \ - (CHAR_TO_PIXEL_ROW (f, height) \ - + (f)->output_data.mac->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.mac->internal_border_width) \ - / (f)->output_data.mac->line_height) -#define PIXEL_TO_CHAR_COL(f, col) \ - (((col) - (f)->output_data.mac->internal_border_width) \ - / FONT_WIDTH ((f)->output_data.mac->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.mac->internal_border_width \ - - (f)->output_data.mac->fringes_extra \ - - (f)->output_data.mac->vertical_scroll_bar_extra))) -#define PIXEL_TO_CHAR_HEIGHT(f, height) \ - (PIXEL_TO_CHAR_ROW (f, ((height) \ - - (f)->output_data.mac->internal_border_width))) struct frame * check_x_frame (Lisp_Object);