summaryrefslogtreecommitdiffstats
path: root/source/theme.c
diff options
context:
space:
mode:
authorDave Davenport <qball@blame.services>2021-06-14 15:14:41 +0200
committerDave Davenport <qball@blame.services>2021-06-14 15:14:41 +0200
commit5c5428bd11b87a336174398194062f7d3901daf6 (patch)
treea1fcffcebce80657e09eb023d8bed0f48eab9767 /source/theme.c
parent7cf0385681f2b46027d3157e51b73ee91968763e (diff)
[Theme] Add direction support to linear-gradient.
Diffstat (limited to 'source/theme.c')
-rw-r--r--source/theme.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/source/theme.c b/source/theme.c
index 46047337..219daf4f 100644
--- a/source/theme.c
+++ b/source/theme.c
@@ -1001,7 +1001,21 @@ gboolean rofi_theme_get_image ( const widget *widget, const char *property, cair
return TRUE;
}
} else if ( p->value.image.type == ROFI_IMAGE_LINEAR_GRADIENT ) {
- cairo_pattern_t * pat = cairo_pattern_create_linear (0.0,0.0, widget->w, 0.0);
+ cairo_pattern_t * pat = NULL;
+ switch ( p->value.image.dir ) {
+ case ROFI_DIRECTION_RIGHT:
+ pat = cairo_pattern_create_linear (0.0,0.0, widget->w, 0.0);
+ break;
+ case ROFI_DIRECTION_LEFT:
+ pat = cairo_pattern_create_linear (widget->w,0.0, 0.0, 0.0);
+ break;
+ case ROFI_DIRECTION_BOTTOM:
+ pat = cairo_pattern_create_linear (0.0,0.0, 0.0, widget->h);
+ break;
+ case ROFI_DIRECTION_TOP:
+ pat = cairo_pattern_create_linear (0.0,widget->h, 0.0, 0.0);
+ break;
+ };
guint length = g_list_length ( p->value.image.colors );
if ( length > 1 ){
length--;