297 |
static Lisp_Object Qlatin_1, Qutf_8; |
static Lisp_Object Qlatin_1, Qutf_8; |
298 |
|
|
299 |
extern XrmDatabase x_load_resources P_ ((Display *, char *, char *, char *)); |
extern XrmDatabase x_load_resources P_ ((Display *, char *, char *, char *)); |
|
extern Lisp_Object x_icon_type P_ ((struct frame *)); |
|
300 |
|
|
301 |
|
|
302 |
static int x_alloc_nearest_color_1 P_ ((Display *, Colormap, XColor *)); |
static int x_alloc_nearest_color_1 P_ ((Display *, Colormap, XColor *)); |
8390 |
} |
} |
8391 |
|
|
8392 |
|
|
|
/* Calculate fullscreen size. Return in *TOP_POS and *LEFT_POS the |
|
|
wanted positions of the WM window (not emacs window). |
|
|
Return in *WIDTH and *HEIGHT the wanted width and height of Emacs |
|
|
window (FRAME_X_WINDOW). |
|
|
*/ |
|
|
void |
|
|
x_fullscreen_adjust (f, width, height, top_pos, left_pos) |
|
|
struct frame *f; |
|
|
int *width; |
|
|
int *height; |
|
|
int *top_pos; |
|
|
int *left_pos; |
|
|
{ |
|
|
int newwidth = f->width, newheight = f->height; |
|
|
|
|
|
*top_pos = f->output_data.x->top_pos; |
|
|
*left_pos = f->output_data.x->left_pos; |
|
|
|
|
|
if (f->output_data.x->want_fullscreen & FULLSCREEN_HEIGHT) |
|
|
{ |
|
|
int ph; |
|
|
|
|
|
ph = FRAME_X_DISPLAY_INFO (f)->height; |
|
|
newheight = PIXEL_TO_CHAR_HEIGHT (f, ph); |
|
|
ph = CHAR_TO_PIXEL_HEIGHT (f, newheight) |
|
|
- f->output_data.x->y_pixels_diff; |
|
|
newheight = PIXEL_TO_CHAR_HEIGHT (f, ph); |
|
|
*top_pos = 0; |
|
|
} |
|
|
|
|
|
if (f->output_data.x->want_fullscreen & FULLSCREEN_WIDTH) |
|
|
{ |
|
|
int pw; |
|
|
|
|
|
pw = FRAME_X_DISPLAY_INFO (f)->width; |
|
|
newwidth = PIXEL_TO_CHAR_WIDTH (f, pw); |
|
|
pw = CHAR_TO_PIXEL_WIDTH (f, newwidth) |
|
|
- f->output_data.x->x_pixels_diff; |
|
|
newwidth = PIXEL_TO_CHAR_WIDTH (f, pw); |
|
|
*left_pos = 0; |
|
|
} |
|
|
|
|
|
*width = newwidth; |
|
|
*height = newheight; |
|
|
} |
|
|
|
|
|
|
|
8393 |
/* Change the size of frame F's X window to COLS/ROWS in the case F |
/* Change the size of frame F's X window to COLS/ROWS in the case F |
8394 |
doesn't have a widget. If CHANGE_GRAVITY is 1, we change to |
doesn't have a widget. If CHANGE_GRAVITY is 1, we change to |
8395 |
top-left-corner window gravity for this size change and subsequent |
top-left-corner window gravity for this size change and subsequent |
10631 |
|
|
10632 |
/* Set up use of X before we make the first connection. */ |
/* Set up use of X before we make the first connection. */ |
10633 |
|
|
10634 |
|
extern frame_parm_handler x_frame_parm_handlers[]; |
10635 |
|
|
10636 |
static struct redisplay_interface x_redisplay_interface = |
static struct redisplay_interface x_redisplay_interface = |
10637 |
{ |
{ |
10638 |
|
x_frame_parm_handlers, |
10639 |
x_produce_glyphs, |
x_produce_glyphs, |
10640 |
x_write_glyphs, |
x_write_glyphs, |
10641 |
x_insert_glyphs, |
x_insert_glyphs, |