-/* Like FRAME_INTERNAL_BORDER_WIDTH but checks whether frame F is a
- window-system frame. */
-
-#define FRAME_INTERNAL_BORDER_WIDTH_SAFE(F) \
- (FRAME_WINDOW_P (F) ? FRAME_INTERNAL_BORDER_WIDTH (F) : 0)
-
-/* Width of display region of window W. For terminal frames, this
- equals the width of W since there are no vertical scroll bars. For
- window system frames, the value has to be corrected by the pixel
- width of vertical scroll bars, and fringes. */
-
-#define WINDOW_DISPLAY_PIXEL_WIDTH(W) \
- (((XFASTINT ((W)->width) \
- - FRAME_SCROLL_BAR_WIDTH (XFRAME (WINDOW_FRAME ((W)))) \
- - FRAME_FRINGE_COLS (XFRAME (WINDOW_FRAME ((W))))) \
- * CANON_X_UNIT (XFRAME (WINDOW_FRAME ((W))))))
-
-/* Height of the display region of W, including a mode line, if any. */
-
-#define WINDOW_DISPLAY_PIXEL_HEIGHT(W) \
- (XFASTINT ((W)->height) \
- * CANON_Y_UNIT (XFRAME (WINDOW_FRAME ((W)))))
-
-/* Height in pixels of the mode line. May be zero if W doesn't have a
- mode line. */
-
-#define WINDOW_DISPLAY_MODE_LINE_HEIGHT(W) \
- (WINDOW_WANTS_MODELINE_P ((W)) \
- ? CURRENT_MODE_LINE_HEIGHT (W) \
- : 0)
-
-/* Height in pixels of the header line. Zero if W doesn't have a header
- line. */
-
-#define WINDOW_DISPLAY_HEADER_LINE_HEIGHT(W) \
- (WINDOW_WANTS_HEADER_LINE_P ((W)) \
- ? CURRENT_HEADER_LINE_HEIGHT (W) \
- : 0)
-
-/* Pixel height of window W without mode line. */
-
-#define WINDOW_DISPLAY_HEIGHT_NO_MODE_LINE(W) \
- (WINDOW_DISPLAY_PIXEL_HEIGHT ((W)) \
- - WINDOW_DISPLAY_MODE_LINE_HEIGHT ((W)))
-
-/* Pixel height of window W without mode and header line. */
-
-#define WINDOW_DISPLAY_TEXT_HEIGHT(W) \
- (WINDOW_DISPLAY_PIXEL_HEIGHT ((W)) \
- - WINDOW_DISPLAY_MODE_LINE_HEIGHT ((W)) \
- - WINDOW_DISPLAY_HEADER_LINE_HEIGHT ((W)))
-
-/* Left edge of W in pixels relative to its frame. */
-
-#define WINDOW_DISPLAY_LEFT_EDGE_PIXEL_X(W) \
- (FRAME_INTERNAL_BORDER_WIDTH_SAFE (XFRAME (WINDOW_FRAME ((W)))) \
- + (WINDOW_LEFT_MARGIN ((W)) \
- * CANON_X_UNIT (XFRAME (WINDOW_FRAME ((W))))) \
- + FRAME_LEFT_FRINGE_WIDTH (XFRAME (WINDOW_FRAME ((W)))))
-
-/* Right edge of window W in pixels, relative to its frame. */
-
-#define WINDOW_DISPLAY_RIGHT_EDGE_PIXEL_X(W) \
- (WINDOW_DISPLAY_LEFT_EDGE_PIXEL_X ((W)) \
- + WINDOW_DISPLAY_PIXEL_WIDTH ((W)))
-
-/* Top edge of W in pixels relative to its frame. */
-
-#define WINDOW_DISPLAY_TOP_EDGE_PIXEL_Y(W) \
- (FRAME_INTERNAL_BORDER_WIDTH_SAFE (XFRAME (WINDOW_FRAME ((W)))) \
- + (XFASTINT ((W)->top) \
- * CANON_Y_UNIT (XFRAME (WINDOW_FRAME ((W))))))
-
-/* Bottom edge of window W relative to its frame. */
-
-#define WINDOW_DISPLAY_BOTTOM_EDGE_PIXEL_Y(W) \
- (WINDOW_DISPLAY_TOP_EDGE_PIXEL_Y ((W)) \
- + WINDOW_DISPLAY_PIXEL_HEIGHT ((W)))
-
-/* Convert window W relative pixel X to frame pixel coordinates. */
-
-#define WINDOW_TO_FRAME_PIXEL_X(W, X) \
- ((X) + WINDOW_DISPLAY_LEFT_EDGE_PIXEL_X ((W)))
-
-/* Convert window W relative pixel Y to frame pixel coordinates. */
-
-#define WINDOW_TO_FRAME_PIXEL_Y(W, Y) \
- ((Y) + WINDOW_DISPLAY_TOP_EDGE_PIXEL_Y ((W)))
-
-/* Convert frame relative pixel X to window relative pixel X. */
-
-#define FRAME_TO_WINDOW_PIXEL_X(W, X) \
- ((X) - WINDOW_DISPLAY_LEFT_EDGE_PIXEL_X ((W)))
-
-/* Convert frame relative pixel Y to window relative pixel Y. */
-
-#define FRAME_TO_WINDOW_PIXEL_Y(W, Y) \
- ((Y) - WINDOW_DISPLAY_TOP_EDGE_PIXEL_Y ((W)))
-
-/* Width of left margin area in pixels. */
-
-#define WINDOW_DISPLAY_LEFT_AREA_PIXEL_WIDTH(W) \
- (NILP ((W)->left_margin_width) \
- ? 0 \
- : (XINT ((W)->left_margin_width) \
- * CANON_X_UNIT (XFRAME (WINDOW_FRAME ((W))))))
-
-/* Width of right marginal area in pixels. */
-
-#define WINDOW_DISPLAY_RIGHT_AREA_PIXEL_WIDTH(W) \
- (NILP ((W)->right_margin_width) \
- ? 0 \
- : (XINT ((W)->right_margin_width) \
- * CANON_X_UNIT (XFRAME (WINDOW_FRAME ((W))))))
-
-/* Width of text area in pixels. */
-
-#define WINDOW_DISPLAY_TEXT_AREA_PIXEL_WIDTH(W) \
- (WINDOW_DISPLAY_PIXEL_WIDTH ((W)) \
- - WINDOW_DISPLAY_LEFT_AREA_PIXEL_WIDTH ((W)) \
- - WINDOW_DISPLAY_RIGHT_AREA_PIXEL_WIDTH ((W)))
-
-/* Convert a text area relative x-position in window W to frame X
- pixel coordinates. */
-
-#define WINDOW_TEXT_TO_FRAME_PIXEL_X(W, X) \
- (WINDOW_TO_FRAME_PIXEL_X ((W), (X)) \
- + WINDOW_DISPLAY_LEFT_AREA_PIXEL_WIDTH ((W)))
-
-/* Translate an x-position relative to AREA in window W to frame pixel
- coordinates. */
-
-#define WINDOW_AREA_TO_FRAME_PIXEL_X(W, AREA, X) \
- (WINDOW_TO_FRAME_PIXEL_X ((W), (X)) \
- + (((AREA) > LEFT_MARGIN_AREA) \
- ? WINDOW_DISPLAY_LEFT_AREA_PIXEL_WIDTH ((W)) \
- : 0) \
- + (((AREA) > TEXT_AREA) \
- ? WINDOW_DISPLAY_TEXT_AREA_PIXEL_WIDTH ((W)) \
- : 0))
-
-/* Return the pixel width of AREA in W. */
-
-#define WINDOW_AREA_PIXEL_WIDTH(W, AREA) \
- (((AREA) == TEXT_AREA) \
- ? WINDOW_DISPLAY_TEXT_AREA_PIXEL_WIDTH ((W)) \
- : (((AREA) == LEFT_MARGIN_AREA) \
- ? WINDOW_DISPLAY_LEFT_AREA_PIXEL_WIDTH ((W)) \
- : WINDOW_DISPLAY_RIGHT_AREA_PIXEL_WIDTH ((W))))
-