mirror of
https://github.com/brl/mutter.git
synced 2025-07-26 11:38:05 +00:00
boxes: Add helper to scale rectangles by a double
And change the similar region scaling helper to use this one. https://gitlab.gnome.org/GNOME/mutter/merge_requests/362
This commit is contained in:

committed by
Georges Basile Stavracas Neto

parent
e1370ee209
commit
36b46af92f
@@ -2044,3 +2044,30 @@ meta_rectangle_is_adjecent_to (MetaRectangle *rect,
|
||||
else
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void
|
||||
meta_rectangle_scale_double (const MetaRectangle *rect,
|
||||
double scale,
|
||||
MetaRoundingStrategy rounding_strategy,
|
||||
MetaRectangle *dest)
|
||||
{
|
||||
switch (rounding_strategy)
|
||||
{
|
||||
case META_ROUNDING_STRATEGY_SHRINK:
|
||||
*dest = (MetaRectangle) {
|
||||
.x = (int) ceil (rect->x * scale),
|
||||
.y = (int) ceil (rect->y * scale),
|
||||
.width = (int) floor (rect->width * scale),
|
||||
.height = (int) floor (rect->height * scale),
|
||||
};
|
||||
break;
|
||||
case META_ROUNDING_STRATEGY_GROW:
|
||||
*dest = (MetaRectangle) {
|
||||
.x = (int) floor (rect->x * scale),
|
||||
.y = (int) floor (rect->y * scale),
|
||||
.width = (int) ceil (rect->width * scale),
|
||||
.height = (int) ceil (rect->height * scale),
|
||||
};
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user