+ gint left = o->left, right = o->right, top = o->top, bottom = o->bottom;
+
+ if (o->left_denom)
+ left = left * c->area.width / o->left_denom;
+ if (o->right_denom)
+ right = right * c->area.width / o->right_denom;
+ if (o->top_denom)
+ top = top * c->area.height / o->top_denom;
+ if (o->bottom_denom)
+ bottom = bottom * c->area.height / o->bottom_denom;
+
+ if (left && ABS(left) < c->size_inc.width)
+ left = left < 0 ? -c->size_inc.width : c->size_inc.width;
+ if (right && ABS(right) < c->size_inc.width)
+ right = right < 0 ? -c->size_inc.width : c->size_inc.width;
+ if (top && ABS(top) < c->size_inc.height)
+ top = top < 0 ? -c->size_inc.height : c->size_inc.height;
+ if (bottom && ABS(bottom) < c->size_inc.height)
+ bottom = bottom < 0 ? -c->size_inc.height : c->size_inc.height;