-/* Set the width of frame F to VAL.
- VAL is the width of a full-frame window,
- not including scroll bars and fringes. */
-
-#define SET_FRAME_COLS(f, val) \
- (FRAME_COLS (f) = (val), \
- (f)->total_cols = FRAME_TOTAL_COLS_ARG (f, FRAME_COLS (f)))
-
-/* Given a value WIDTH for frame F's nominal width,
- return the value that FRAME_TOTAL_COLS should have. */
-
-#define FRAME_TOTAL_COLS_ARG(f, width) \
- ((width) \
- + FRAME_SCROLL_BAR_COLS (f) \
- + FRAME_FRINGE_COLS (f))
+/* Set the character widths of frame F. WIDTH specifies a nominal
+ character text width. */
+#define SET_FRAME_COLS(f, width) \
+ ((f)->text_cols = (width), \
+ (f)->total_cols = ((width) \
+ + FRAME_SCROLL_BAR_COLS (f) \
+ + FRAME_FRINGE_COLS (f)))
+
+/* Set the pixel widths of frame F. WIDTH specifies a nominal pixel
+ text width. */
+#define SET_FRAME_WIDTH(f, width) \
+ ((f)->text_width = (width), \
+ (f)->pixel_width = ((width) \
+ + FRAME_SCROLL_BAR_AREA_WIDTH (f) \
+ + FRAME_TOTAL_FRINGE_WIDTH (f) \
+ + 2 * FRAME_INTERNAL_BORDER_WIDTH (f)))
+
+/* Set the pixel heights of frame F. HEIGHT specifies a nominal pixel
+ text width. */
+#define SET_FRAME_HEIGHT(f, height) \
+ ((f)->text_height = (height), \
+ (f)->pixel_height = ((height) \
+ + 2 * FRAME_INTERNAL_BORDER_WIDTH (f)))