border-image: add support for scale factor
In a later commit we'll add support for rendering borders and backgrounds with scale factor. https://bugzilla.gnome.org/show_bug.cgi?id=726907
This commit is contained in:
parent
90e52d7266
commit
a22fdea0e3
@ -32,6 +32,8 @@ struct _StBorderImage {
|
|||||||
int border_right;
|
int border_right;
|
||||||
int border_bottom;
|
int border_bottom;
|
||||||
int border_left;
|
int border_left;
|
||||||
|
|
||||||
|
int scale_factor;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct _StBorderImageClass {
|
struct _StBorderImageClass {
|
||||||
@ -69,7 +71,8 @@ st_border_image_new (const char *filename,
|
|||||||
int border_top,
|
int border_top,
|
||||||
int border_right,
|
int border_right,
|
||||||
int border_bottom,
|
int border_bottom,
|
||||||
int border_left)
|
int border_left,
|
||||||
|
int scale_factor)
|
||||||
{
|
{
|
||||||
StBorderImage *image;
|
StBorderImage *image;
|
||||||
|
|
||||||
@ -80,6 +83,7 @@ st_border_image_new (const char *filename,
|
|||||||
image->border_right = border_right;
|
image->border_right = border_right;
|
||||||
image->border_bottom = border_bottom;
|
image->border_bottom = border_bottom;
|
||||||
image->border_left = border_left;
|
image->border_left = border_left;
|
||||||
|
image->scale_factor = scale_factor;
|
||||||
|
|
||||||
return image;
|
return image;
|
||||||
}
|
}
|
||||||
@ -102,13 +106,13 @@ st_border_image_get_borders (StBorderImage *image,
|
|||||||
g_return_if_fail (ST_IS_BORDER_IMAGE (image));
|
g_return_if_fail (ST_IS_BORDER_IMAGE (image));
|
||||||
|
|
||||||
if (border_top)
|
if (border_top)
|
||||||
*border_top = image->border_top;
|
*border_top = image->border_top * image->scale_factor;
|
||||||
if (border_right)
|
if (border_right)
|
||||||
*border_right = image->border_right;
|
*border_right = image->border_right * image->scale_factor;
|
||||||
if (border_bottom)
|
if (border_bottom)
|
||||||
*border_bottom = image->border_bottom;
|
*border_bottom = image->border_bottom * image->scale_factor;
|
||||||
if (border_left)
|
if (border_left)
|
||||||
*border_left = image->border_left;
|
*border_left = image->border_left * image->scale_factor;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -43,7 +43,8 @@ StBorderImage *st_border_image_new (const char *filename,
|
|||||||
int border_top,
|
int border_top,
|
||||||
int border_right,
|
int border_right,
|
||||||
int border_bottom,
|
int border_bottom,
|
||||||
int border_left);
|
int border_left,
|
||||||
|
int scale_factor);
|
||||||
|
|
||||||
const char *st_border_image_get_filename (StBorderImage *image);
|
const char *st_border_image_get_filename (StBorderImage *image);
|
||||||
void st_border_image_get_borders (StBorderImage *image,
|
void st_border_image_get_borders (StBorderImage *image,
|
||||||
|
@ -2864,6 +2864,7 @@ StBorderImage *
|
|||||||
st_theme_node_get_border_image (StThemeNode *node)
|
st_theme_node_get_border_image (StThemeNode *node)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
int scale_factor;
|
||||||
|
|
||||||
if (node->border_image_computed)
|
if (node->border_image_computed)
|
||||||
return node->border_image;
|
return node->border_image;
|
||||||
@ -2872,6 +2873,7 @@ st_theme_node_get_border_image (StThemeNode *node)
|
|||||||
node->border_image_computed = TRUE;
|
node->border_image_computed = TRUE;
|
||||||
|
|
||||||
ensure_properties (node);
|
ensure_properties (node);
|
||||||
|
g_object_get (node->context, "scale-factor", &scale_factor, NULL);
|
||||||
|
|
||||||
for (i = node->n_properties - 1; i >= 0; i--)
|
for (i = node->n_properties - 1; i >= 0; i--)
|
||||||
{
|
{
|
||||||
@ -2978,7 +2980,8 @@ st_theme_node_get_border_image (StThemeNode *node)
|
|||||||
goto next_property;
|
goto next_property;
|
||||||
|
|
||||||
node->border_image = st_border_image_new (filename,
|
node->border_image = st_border_image_new (filename,
|
||||||
border_top, border_right, border_bottom, border_left);
|
border_top, border_right, border_bottom, border_left,
|
||||||
|
scale_factor);
|
||||||
|
|
||||||
g_free (filename);
|
g_free (filename);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user