Commit 6d906347 authored by Kim F. Storm's avatar Kim F. Storm
Browse files

* w32fns.c (Qauto_raise, Qauto_lower, ...): Remove vars for frame

parameters now defined in frame.h and frame.c.
(Vx_resource_name): Remove. Use generic var.
(enum x_frame_parms): Remove (bogus, unused enum).
(check_x_display_info): Make non-static (for frame.c).
(struct x_frame_parm_table, x_frame_parms): Remove.
(init_x_parm_symbols, x_set_frame_parameters, x_report_frame_params)
(x_set_line_spacing, x_set_screen_gamma, x_icon_type, x_set_font)
(x_set_border_width, x_set_internal_border_width, x_set_visibility)
(x_change_window_heights, x_set_autoraise, x_set_autolower)
(x_set_vertical_scroll_bars, x_set_scroll_bar_width)
(validate_x_resource_name, Fx_get_resource, x_get_resource_string)
(x_default_parameter, Fx_parse_geometry, x_figure_window_size):
Remove.  Use generic functions instead.
(enum resource_types): Remove.
(x_set_scroll_bar_default_width): New global function (for frame.c).
(Fx_create_frame): Depend on x_figure_window_size to add space for
toolbar and setup size_hint_flags.
(w32_frame_parm_handlers): New table for redisplay_interface.
(syms_of_w32fns): Don't intern/staticpro removed vars.
parent c900f291
......@@ -141,9 +141,6 @@ Lisp_Object Vw32_mouse_move_interval;
/* Flag to indicate if XBUTTON events should be passed on to Windows. */
int w32_pass_extra_mouse_buttons_to_system;
/* The name we're using in resource queries. */
Lisp_Object Vx_resource_name;
/* Non nil if no window manager is in use. */
Lisp_Object Vx_no_window_manager;
......@@ -199,36 +196,9 @@ Lisp_Object Vw32_charset_info_alist;
#define VIETNAMESE_CHARSET 163
#endif
Lisp_Object Qauto_raise;
Lisp_Object Qauto_lower;
Lisp_Object Qborder_color;
Lisp_Object Qborder_width;
extern Lisp_Object Qbox;
Lisp_Object Qcursor_color;
Lisp_Object Qcursor_type;
Lisp_Object Qgeometry;
Lisp_Object Qicon_left;
Lisp_Object Qicon_top;
Lisp_Object Qicon_type;
Lisp_Object Qicon_name;
Lisp_Object Qinternal_border_width;
Lisp_Object Qleft;
Lisp_Object Qright;
Lisp_Object Qmouse_color;
Lisp_Object Qnone;
Lisp_Object Qparent_id;
Lisp_Object Qscroll_bar_width;
Lisp_Object Qsuppress_icon;
Lisp_Object Qundefined_color;
Lisp_Object Qvertical_scroll_bars;
Lisp_Object Qvisibility;
Lisp_Object Qwindow_id;
Lisp_Object Qx_frame_parameter;
Lisp_Object Qx_resource_name;
Lisp_Object Quser_position;
Lisp_Object Quser_size;
Lisp_Object Qscreen_gamma;
Lisp_Object Qline_spacing;
Lisp_Object Qcenter;
Lisp_Object Qcancel_timer;
Lisp_Object Qhyper;
......@@ -269,14 +239,6 @@ Lisp_Object Qw32_charset_mac;
Lisp_Object Qw32_charset_unicode;
#endif
Lisp_Object Qfullscreen;
Lisp_Object Qfullwidth;
Lisp_Object Qfullheight;
Lisp_Object Qfullboth;
extern Lisp_Object Qtop;
extern Lisp_Object Qdisplay;
/* State variables for emulating a three button mouse. */
#define LMOUSE 1
#define MMOUSE 2
......@@ -311,14 +273,8 @@ static unsigned menu_free_timer = 0;
/* The below are defined in frame.c. */
extern Lisp_Object Qheight, Qminibuffer, Qname, Qonly, Qwidth;
extern Lisp_Object Qunsplittable, Qmenu_bar_lines, Qbuffer_predicate, Qtitle;
extern Lisp_Object Qtool_bar_lines;
extern Lisp_Object Vwindow_system_version;
Lisp_Object Qface_set_after_frame_default;
#ifdef GLYPH_DEBUG
int image_cache_refcount, dpyinfo_refcount;
#endif
......@@ -377,7 +333,7 @@ check_x_frame (frame)
nil stands for the selected frame--or, if that is not a w32 frame,
the first display on the list. */
static struct w32_display_info *
struct w32_display_info *
check_x_display_info (frame)
Lisp_Object frame;
{
......@@ -654,48 +610,13 @@ x_destroy_all_bitmaps (dpyinfo)
dpyinfo->bitmaps_last = 0;
}
/* Connect the frame-parameter names for W32 frames
to the ways of passing the parameter values to the window system.
The name of a parameter, as a Lisp symbol,
has an `x-frame-parameter' property which is an integer in Lisp
but can be interpreted as an `enum x_frame_parm' in C. */
enum x_frame_parm
{
X_PARM_FOREGROUND_COLOR,
X_PARM_BACKGROUND_COLOR,
X_PARM_MOUSE_COLOR,
X_PARM_CURSOR_COLOR,
X_PARM_BORDER_COLOR,
X_PARM_ICON_TYPE,
X_PARM_FONT,
X_PARM_BORDER_WIDTH,
X_PARM_INTERNAL_BORDER_WIDTH,
X_PARM_NAME,
X_PARM_AUTORAISE,
X_PARM_AUTOLOWER,
X_PARM_VERT_SCROLL_BAR,
X_PARM_VISIBILITY,
X_PARM_MENU_BAR_LINES
};
struct x_frame_parm_table
{
char *name;
void (*setter) P_ ((struct frame *, Lisp_Object, Lisp_Object));
};
BOOL my_show_window P_ ((struct frame *, HWND, int));
void my_set_window_pos P_ ((HWND, HWND, int, int, int, int, UINT));
static Lisp_Object unwind_create_frame P_ ((Lisp_Object));
static Lisp_Object unwind_create_tip_frame P_ ((Lisp_Object));
static void x_change_window_heights P_ ((Lisp_Object, int));
/* TODO: Native Input Method support; see x_create_im. */
void x_set_foreground_color P_ ((struct frame *, Lisp_Object, Lisp_Object));
static void x_set_line_spacing P_ ((struct frame *, Lisp_Object, Lisp_Object));
static void x_set_fullscreen P_ ((struct frame *, Lisp_Object, Lisp_Object));
void x_set_background_color P_ ((struct frame *, Lisp_Object, Lisp_Object));
void x_set_mouse_color P_ ((struct frame *, Lisp_Object, Lisp_Object));
void x_set_cursor_color P_ ((struct frame *, Lisp_Object, Lisp_Object));
......@@ -703,380 +624,15 @@ void x_set_border_color P_ ((struct frame *, Lisp_Object, Lisp_Object));
void x_set_cursor_type P_ ((struct frame *, Lisp_Object, Lisp_Object));
void x_set_icon_type P_ ((struct frame *, Lisp_Object, Lisp_Object));
void x_set_icon_name P_ ((struct frame *, Lisp_Object, Lisp_Object));
void x_set_font P_ ((struct frame *, Lisp_Object, Lisp_Object));
static void x_set_fringe_width P_ ((struct frame *, Lisp_Object, Lisp_Object));
void x_set_border_width P_ ((struct frame *, Lisp_Object, Lisp_Object));
void x_set_internal_border_width P_ ((struct frame *, Lisp_Object,
Lisp_Object));
void x_explicitly_set_name P_ ((struct frame *, Lisp_Object, Lisp_Object));
void x_set_autoraise P_ ((struct frame *, Lisp_Object, Lisp_Object));
void x_set_autolower P_ ((struct frame *, Lisp_Object, Lisp_Object));
void x_set_vertical_scroll_bars P_ ((struct frame *, Lisp_Object,
Lisp_Object));
void x_set_visibility P_ ((struct frame *, Lisp_Object, Lisp_Object));
void x_set_menu_bar_lines P_ ((struct frame *, Lisp_Object, Lisp_Object));
void x_set_scroll_bar_width P_ ((struct frame *, Lisp_Object, Lisp_Object));
void x_set_title P_ ((struct frame *, Lisp_Object, Lisp_Object));
void x_set_unsplittable P_ ((struct frame *, Lisp_Object, Lisp_Object));
void x_set_tool_bar_lines P_ ((struct frame *, Lisp_Object, Lisp_Object));
static void x_set_screen_gamma P_ ((struct frame *, Lisp_Object, Lisp_Object));
static void x_edge_detection P_ ((struct frame *, struct image *, Lisp_Object,
Lisp_Object));
static struct x_frame_parm_table x_frame_parms[] =
{
{"auto-raise", x_set_autoraise},
{"auto-lower", x_set_autolower},
{"background-color", x_set_background_color},
{"border-color", x_set_border_color},
{"border-width", x_set_border_width},
{"cursor-color", x_set_cursor_color},
{"cursor-type", x_set_cursor_type},
{"font", x_set_font},
{"foreground-color", x_set_foreground_color},
{"icon-name", x_set_icon_name},
{"icon-type", x_set_icon_type},
{"internal-border-width", x_set_internal_border_width},
{"menu-bar-lines", x_set_menu_bar_lines},
{"mouse-color", x_set_mouse_color},
{"name", x_explicitly_set_name},
{"scroll-bar-width", x_set_scroll_bar_width},
{"title", x_set_title},
{"unsplittable", x_set_unsplittable},
{"vertical-scroll-bars", x_set_vertical_scroll_bars},
{"visibility", x_set_visibility},
{"tool-bar-lines", x_set_tool_bar_lines},
{"screen-gamma", x_set_screen_gamma},
{"line-spacing", x_set_line_spacing},
{"left-fringe", x_set_fringe_width},
{"right-fringe", x_set_fringe_width},
{"fullscreen", x_set_fullscreen},
};
/* Attach the `x-frame-parameter' properties to
the Lisp symbol names of parameters relevant to W32. */
void
init_x_parm_symbols ()
{
int i;
for (i = 0; i < sizeof (x_frame_parms) / sizeof (x_frame_parms[0]); i++)
Fput (intern (x_frame_parms[i].name), Qx_frame_parameter,
make_number (i));
}
/* Really try to move where we want to be in case of fullscreen. Some WMs
moves the window where we tell them. Some (mwm, twm) moves the outer
window manager window there instead.
Try to compensate for those WM here. */
static void
x_fullscreen_move (f, new_top, new_left)
struct frame *f;
int new_top;
int new_left;
{
if (new_top != f->output_data.w32->top_pos
|| new_left != f->output_data.w32->left_pos)
{
int move_x = new_left;
int move_y = new_top;
f->output_data.w32->want_fullscreen |= FULLSCREEN_MOVE_WAIT;
x_set_offset (f, move_x, move_y, 1);
}
}
/* Change the parameters of frame F as specified by ALIST.
If a parameter is not specially recognized, do nothing;
otherwise call the `x_set_...' function for that parameter. */
void
x_set_frame_parameters (f, alist)
FRAME_PTR f;
Lisp_Object alist;
{
Lisp_Object tail;
/* If both of these parameters are present, it's more efficient to
set them both at once. So we wait until we've looked at the
entire list before we set them. */
int width, height;
/* Same here. */
Lisp_Object left, top;
/* Same with these. */
Lisp_Object icon_left, icon_top;
/* Record in these vectors all the parms specified. */
Lisp_Object *parms;
Lisp_Object *values;
int i, p;
int left_no_change = 0, top_no_change = 0;
int icon_left_no_change = 0, icon_top_no_change = 0;
int fullscreen_is_being_set = 0;
struct gcpro gcpro1, gcpro2;
i = 0;
for (tail = alist; CONSP (tail); tail = Fcdr (tail))
i++;
parms = (Lisp_Object *) alloca (i * sizeof (Lisp_Object));
values = (Lisp_Object *) alloca (i * sizeof (Lisp_Object));
/* Extract parm names and values into those vectors. */
i = 0;
for (tail = alist; CONSP (tail); tail = Fcdr (tail))
{
Lisp_Object elt;
elt = Fcar (tail);
parms[i] = Fcar (elt);
values[i] = Fcdr (elt);
i++;
}
/* TAIL and ALIST are not used again below here. */
alist = tail = Qnil;
GCPRO2 (*parms, *values);
gcpro1.nvars = i;
gcpro2.nvars = i;
/* There is no need to gcpro LEFT, TOP, ICON_LEFT, or ICON_TOP,
because their values appear in VALUES and strings are not valid. */
top = left = Qunbound;
icon_left = icon_top = Qunbound;
/* Provide default values for HEIGHT and WIDTH. */
if (FRAME_NEW_WIDTH (f))
width = FRAME_NEW_WIDTH (f);
else
width = FRAME_WIDTH (f);
if (FRAME_NEW_HEIGHT (f))
height = FRAME_NEW_HEIGHT (f);
else
height = FRAME_HEIGHT (f);
/* Process foreground_color and background_color before anything else.
They are independent of other properties, but other properties (e.g.,
cursor_color) are dependent upon them. */
/* Process default font as well, since fringe widths depends on it. */
for (p = 0; p < i; p++)
{
Lisp_Object prop, val;
prop = parms[p];
val = values[p];
if (EQ (prop, Qforeground_color)
|| EQ (prop, Qbackground_color)
|| EQ (prop, Qfont)
|| EQ (prop, Qfullscreen))
{
register Lisp_Object param_index, old_value;
old_value = get_frame_param (f, prop);
fullscreen_is_being_set |= EQ (prop, Qfullscreen);
if (NILP (Fequal (val, old_value)))
{
store_frame_param (f, prop, val);
param_index = Fget (prop, Qx_frame_parameter);
if (NATNUMP (param_index)
&& (XFASTINT (param_index)
< sizeof (x_frame_parms)/sizeof (x_frame_parms[0])))
(*x_frame_parms[XINT (param_index)].setter)(f, val, old_value);
}
}
}
/* Now process them in reverse of specified order. */
for (i--; i >= 0; i--)
{
Lisp_Object prop, val;
prop = parms[i];
val = values[i];
if (EQ (prop, Qwidth) && NUMBERP (val))
width = XFASTINT (val);
else if (EQ (prop, Qheight) && NUMBERP (val))
height = XFASTINT (val);
else if (EQ (prop, Qtop))
top = val;
else if (EQ (prop, Qleft))
left = val;
else if (EQ (prop, Qicon_top))
icon_top = val;
else if (EQ (prop, Qicon_left))
icon_left = val;
else if (EQ (prop, Qforeground_color)
|| EQ (prop, Qbackground_color)
|| EQ (prop, Qfont)
|| EQ (prop, Qfullscreen))
/* Processed above. */
continue;
else
{
register Lisp_Object param_index, old_value;
old_value = get_frame_param (f, prop);
store_frame_param (f, prop, val);
param_index = Fget (prop, Qx_frame_parameter);
if (NATNUMP (param_index)
&& (XFASTINT (param_index)
< sizeof (x_frame_parms)/sizeof (x_frame_parms[0])))
(*x_frame_parms[XINT (param_index)].setter)(f, val, old_value);
}
}
/* Don't die if just one of these was set. */
if (EQ (left, Qunbound))
{
left_no_change = 1;
if (f->output_data.w32->left_pos < 0)
left = Fcons (Qplus, Fcons (make_number (f->output_data.w32->left_pos), Qnil));
else
XSETINT (left, f->output_data.w32->left_pos);
}
if (EQ (top, Qunbound))
{
top_no_change = 1;
if (f->output_data.w32->top_pos < 0)
top = Fcons (Qplus, Fcons (make_number (f->output_data.w32->top_pos), Qnil));
else
XSETINT (top, f->output_data.w32->top_pos);
}
/* If one of the icon positions was not set, preserve or default it. */
if (EQ (icon_left, Qunbound) || ! INTEGERP (icon_left))
{
icon_left_no_change = 1;
icon_left = Fcdr (Fassq (Qicon_left, f->param_alist));
if (NILP (icon_left))
XSETINT (icon_left, 0);
}
if (EQ (icon_top, Qunbound) || ! INTEGERP (icon_top))
{
icon_top_no_change = 1;
icon_top = Fcdr (Fassq (Qicon_top, f->param_alist));
if (NILP (icon_top))
XSETINT (icon_top, 0);
}
if (FRAME_VISIBLE_P (f) && fullscreen_is_being_set)
{
/* If the frame is visible already and the fullscreen parameter is
being set, it is too late to set WM manager hints to specify
size and position.
Here we first get the width, height and position that applies to
fullscreen. We then move the frame to the appropriate
position. Resize of the frame is taken care of in the code after
this if-statement. */
int new_left, new_top;
x_fullscreen_adjust (f, &width, &height, &new_top, &new_left);
x_fullscreen_move (f, new_top, new_left);
}
/* Don't set these parameters unless they've been explicitly
specified. The window might be mapped or resized while we're in
this function, and we don't want to override that unless the lisp
code has asked for it.
Don't set these parameters unless they actually differ from the
window's current parameters; the window may not actually exist
yet. */
{
Lisp_Object frame;
check_frame_size (f, &height, &width);
XSETFRAME (frame, f);
if (width != FRAME_WIDTH (f)
|| height != FRAME_HEIGHT (f)
|| FRAME_NEW_HEIGHT (f) || FRAME_NEW_WIDTH (f))
Fset_frame_size (frame, make_number (width), make_number (height));
if ((!NILP (left) || !NILP (top))
&& ! (left_no_change && top_no_change)
&& ! (NUMBERP (left) && XINT (left) == f->output_data.w32->left_pos
&& NUMBERP (top) && XINT (top) == f->output_data.w32->top_pos))
{
int leftpos = 0;
int toppos = 0;
/* Record the signs. */
f->output_data.w32->size_hint_flags &= ~ (XNegative | YNegative);
if (EQ (left, Qminus))
f->output_data.w32->size_hint_flags |= XNegative;
else if (INTEGERP (left))
{
leftpos = XINT (left);
if (leftpos < 0)
f->output_data.w32->size_hint_flags |= XNegative;
}
else if (CONSP (left) && EQ (XCAR (left), Qminus)
&& CONSP (XCDR (left))
&& INTEGERP (XCAR (XCDR (left))))
{
leftpos = - XINT (XCAR (XCDR (left)));
f->output_data.w32->size_hint_flags |= XNegative;
}
else if (CONSP (left) && EQ (XCAR (left), Qplus)
&& CONSP (XCDR (left))
&& INTEGERP (XCAR (XCDR (left))))
{
leftpos = XINT (XCAR (XCDR (left)));
}
if (EQ (top, Qminus))
f->output_data.w32->size_hint_flags |= YNegative;
else if (INTEGERP (top))
{
toppos = XINT (top);
if (toppos < 0)
f->output_data.w32->size_hint_flags |= YNegative;
}
else if (CONSP (top) && EQ (XCAR (top), Qminus)
&& CONSP (XCDR (top))
&& INTEGERP (XCAR (XCDR (top))))
{
toppos = - XINT (XCAR (XCDR (top)));
f->output_data.w32->size_hint_flags |= YNegative;
}
else if (CONSP (top) && EQ (XCAR (top), Qplus)
&& CONSP (XCDR (top))
&& INTEGERP (XCAR (XCDR (top))))
{
toppos = XINT (XCAR (XCDR (top)));
}
/* Store the numeric value of the position. */
f->output_data.w32->top_pos = toppos;
f->output_data.w32->left_pos = leftpos;
f->output_data.w32->win_gravity = NorthWestGravity;
/* Actually set that position, and convert to absolute. */
x_set_offset (f, leftpos, toppos, -1);
}
if ((!NILP (icon_left) || !NILP (icon_top))
&& ! (icon_left_no_change && icon_top_no_change))
x_wm_set_icon_position (f, XINT (icon_left), XINT (icon_top));
}
UNGCPRO;
}
/* Store the screen positions of frame F into XPTR and YPTR.
These are the positions of the containing window manager window,
......@@ -1106,57 +662,6 @@ x_real_positions (f, xptr, yptr)
*yptr = pt.y;
}
/* Insert a description of internally-recorded parameters of frame X
into the parameter alist *ALISTPTR that is to be given to the user.
Only parameters that are specific to W32
and whose values are not correctly recorded in the frame's
param_alist need to be considered here. */
void
x_report_frame_params (f, alistptr)
struct frame *f;
Lisp_Object *alistptr;
{
char buf[16];
Lisp_Object tem;
/* Represent negative positions (off the top or left screen edge)
in a way that Fmodify_frame_parameters will understand correctly. */
XSETINT (tem, f->output_data.w32->left_pos);
if (f->output_data.w32->left_pos >= 0)
store_in_alist (alistptr, Qleft, tem);
else
store_in_alist (alistptr, Qleft, Fcons (Qplus, Fcons (tem, Qnil)));
XSETINT (tem, f->output_data.w32->top_pos);
if (f->output_data.w32->top_pos >= 0)
store_in_alist (alistptr, Qtop, tem);
else
store_in_alist (alistptr, Qtop, Fcons (Qplus, Fcons (tem, Qnil)));
store_in_alist (alistptr, Qborder_width,
make_number (f->output_data.w32->border_width));
store_in_alist (alistptr, Qinternal_border_width,
make_number (f->output_data.w32->internal_border_width));
store_in_alist (alistptr, Qleft_fringe,
make_number (f->output_data.w32->left_fringe_width));
store_in_alist (alistptr, Qright_fringe,
make_number (f->output_data.w32->right_fringe_width));
store_in_alist (alistptr, Qscroll_bar_width,
make_number (FRAME_HAS_VERTICAL_SCROLL_BARS (f)
? FRAME_SCROLL_BAR_PIXEL_WIDTH(f)
: 0));
sprintf (buf, "%ld", (long) FRAME_W32_WINDOW (f));
store_in_alist (alistptr, Qwindow_id,
build_string (buf));
store_in_alist (alistptr, Qicon_name, f->icon_name);
FRAME_SAMPLE_VISIBILITY (f);
store_in_alist (alistptr, Qvisibility,
(FRAME_VISIBLE_P (f) ? Qt
: FRAME_ICONIFIED_P (f) ? Qicon : Qnil));
store_in_alist (alistptr, Qdisplay,
XCAR (FRAME_W32_DISPLAY_INFO (f)->name_list_element));
}
DEFUN ("w32-define-rgb-color", Fw32_define_rgb_color,
......@@ -2004,64 +1509,6 @@ x_decode_color (f, arg, def)
return def;
}
/* Change the `line-spacing' frame parameter of frame F. OLD_VALUE is
the previous value of that parameter, NEW_VALUE is the new value. */
static void
x_set_line_spacing (f, new_value, old_value)
struct frame *f;
Lisp_Object new_value, old_value;
{
if (NILP (new_value))
f->extra_line_spacing = 0;
else if (NATNUMP (new_value))
f->extra_line_spacing = XFASTINT (new_value);
else
Fsignal (Qerror, Fcons (build_string ("Invalid line-spacing"),
Fcons (new_value, Qnil)));
if (FRAME_VISIBLE_P (f))
redraw_frame (f);
}
/* Change the `fullscreen' frame parameter of frame F. OLD_VALUE is
the previous value of that parameter, NEW_VALUE is the new value. */
static void
x_set_fullscreen (f, new_value, old_value)
struct frame *f;
Lisp_Object new_value, old_value;
{
if (NILP (new_value))
f->output_data.w32->want_fullscreen = FULLSCREEN_NONE;
else if (EQ (new_value, Qfullboth))
f->output_data.w32->want_fullscreen = FULLSCREEN_BOTH;
else if (EQ (new_value, Qfullwidth))
f->output_data.w32->want_fullscreen = FULLSCREEN_WIDTH;
else if (EQ (new_value, Qfullheight))
f->output_data.w32->want_fullscreen = FULLSCREEN_HEIGHT;
}
/* Change the `screen-gamma' frame parameter of frame F. OLD_VALUE is
the previous value of that parameter, NEW_VALUE is the new value. */
static void
x_set_screen_gamma (f, new_value, old_value)
struct frame *f;
Lisp_Object new_value, old_value;
{
if (NILP (new_value))
f->gamma = 0;
else if (NUMBERP (new_value) && XFLOATINT (new_value) > 0)
/* The value 0.4545 is the normal viewing gamma. */
f->gamma = 1.0 / (0.4545 * XFLOATINT (new_value));
else
Fsignal (Qerror, Fcons (build_string ("Invalid screen-gamma"),
Fcons (new_value, Qnil)));
clear_face_cache (0);
}
/* Functions called only from `x_set_frame_param'
......@@ -2313,11 +1760,13 @@ x_set_cursor_color (f, arg, oldval)
/* Set the border-color of frame F to pixel value PIX.
Note that this does not fully take effect if done before
F has a window. */
void
x_set_border_pixel (f, pix)
struct frame *f;
int pix;
{
f->output_data.w32->border_pixel = pix;
if (FRAME_W32_WINDOW (f) != 0 && f->output_data.w32->border_width > 0)
......@@ -2387,21 +1836,6 @@ x_set_icon_type (f, arg, oldval)
UNBLOCK_INPUT;
}
/* Return non-nil if frame F wants a bitmap icon. */
Lisp_Object
x_icon_type (f)
FRAME_PTR f;
{
Lisp_Object tem;
tem = assq_no_quit (Qicon_type, f->param_alist);
if (CONSP (tem))
return XCDR (tem);
else
return Qnil;
}
void
x_set_icon_name (f, arg, oldval)
struct frame *f;
......@@ -2451,160 +1885,7 @@ x_set_icon_name (f, arg, oldval)
#endif
}