projects
/
chise
/
xemacs-chise.git-
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
update.
[chise/xemacs-chise.git-]
/
src
/
glyphs-widget.c
diff --git
a/src/glyphs-widget.c
b/src/glyphs-widget.c
index
91946b0
..
988e594
100644
(file)
--- a/
src/glyphs-widget.c
+++ b/
src/glyphs-widget.c
@@
-66,7
+66,7
@@
static int
widget_border_width (Lisp_Object domain);
static int
widget_spacing (Lisp_Object domain);
widget_border_width (Lisp_Object domain);
static int
widget_spacing (Lisp_Object domain);
-
+#define BORDER_FIDDLE_FACTOR 10
#ifdef DEBUG_WIDGETS
int debug_widget_instances;
#endif
#ifdef DEBUG_WIDGETS
int debug_widget_instances;
#endif
@@
-558,20
+558,20
@@
widget_query_geometry (Lisp_Object image_instance,
IMAGE_INSTANCE_WIDGET_FACE (ii),
&w, &h, 0, domain);
/* Adjust the size for borders. */
IMAGE_INSTANCE_WIDGET_FACE (ii),
&w, &h, 0, domain);
/* Adjust the size for borders. */
- if (IMAGE_INSTANCE_SUBWINDOW_H_RESIZEP (ii))
+ if (width && IMAGE_INSTANCE_SUBWINDOW_H_RESIZEP (ii))
*width = w + 2 * widget_instance_border_width (ii);
*width = w + 2 * widget_instance_border_width (ii);
- if (IMAGE_INSTANCE_SUBWINDOW_V_RESIZEP (ii))
+ if (height && IMAGE_INSTANCE_SUBWINDOW_V_RESIZEP (ii))
*height = h + 2 * widget_instance_border_width (ii);
}
}
/* Finish off with dynamic sizing. */
*height = h + 2 * widget_instance_border_width (ii);
}
}
/* Finish off with dynamic sizing. */
- if (!NILP (IMAGE_INSTANCE_WIDGET_WIDTH_SUBR (ii)))
+ if (width && !NILP (IMAGE_INSTANCE_WIDGET_WIDTH_SUBR (ii)))
{
dynamic_width = Feval (IMAGE_INSTANCE_WIDGET_WIDTH_SUBR (ii));
if (INTP (dynamic_width))
*width = XINT (dynamic_width);
}
{
dynamic_width = Feval (IMAGE_INSTANCE_WIDGET_WIDTH_SUBR (ii));
if (INTP (dynamic_width))
*width = XINT (dynamic_width);
}
- if (!NILP (IMAGE_INSTANCE_WIDGET_HEIGHT_SUBR (ii)))
+ if (height && !NILP (IMAGE_INSTANCE_WIDGET_HEIGHT_SUBR (ii)))
{
dynamic_height = Feval (IMAGE_INSTANCE_WIDGET_HEIGHT_SUBR (ii));
if (INTP (dynamic_height))
{
dynamic_height = Feval (IMAGE_INSTANCE_WIDGET_HEIGHT_SUBR (ii));
if (INTP (dynamic_height))
@@
-1317,6
+1317,9
@@
layout_query_geometry (Lisp_Object image_instance, int* width,
glyph_query_geometry (XCAR (items), &gwidth, &gheight, disp,
image_instance);
ph_adjust = gheight;
glyph_query_geometry (XCAR (items), &gwidth, &gheight, disp,
image_instance);
ph_adjust = gheight;
+ /* Include text width in vertical layouts. */
+ if (IMAGE_INSTANCE_SUBWINDOW_ORIENT (ii) == LAYOUT_VERTICAL)
+ maxpw = gwidth + BORDER_FIDDLE_FACTOR;
items = XCDR (items);
}
items = XCDR (items);
}
@@
-1431,7
+1434,7
@@
layout_layout (Lisp_Object image_instance,
IMAGE_INSTANCE_LAYOUT_BORDER (ii) = make_int (gheight / 2);
/* #### Really, what should this be? */
IMAGE_INSTANCE_LAYOUT_BORDER (ii) = make_int (gheight / 2);
/* #### Really, what should this be? */
- glyph_do_layout (border, gwidth, gheight, 10, 0,
+ glyph_do_layout (border, gwidth, gheight, BORDER_FIDDLE_FACTOR, 0,
image_instance);
}
image_instance);
}