PROP_CONSTRAIN,
g_param_spec_boolean("constrain",
"Constrain",
- "Only expand the side to be as large as the body.",
+ "Try not to place the side beyond the body's edges.",
FALSE,
G_PARAM_READWRITE));
gtk_container_class_install_child_property(container_class,
}
asize.y = (allocation->height - asize.height) * abin->body_align + 0.5;
- csize.y = (allocation->height - csize.height) * abin->side_align + 0.5;
- if (abin->constrain) {
- csize.y = MIN(asize.y, allocation->height - csize.height);
+ if (abin->constrain && csize.height <= asize.height) {
+ csize.y = asize.y + (asize.height-csize.height)
+ * abin->side_align + 0.5;
+ } else if (abin->constrain) {
+ csize.y = (allocation->height - csize.height)
+ * abin->body_align + 0.5;
+ } else {
+ csize.y = (allocation->height - csize.height)
+ * abin->side_align + 0.5;
}
if (abin->body)