Index: src/platform/theme/theme_draw.cc |
diff --git a/src/platform/theme/theme_draw.cc b/src/platform/theme/theme_draw.cc |
index 34c36e9b92394175a7838e0ebad0720e1bd5388f..96e8a82370bdae7fac94e44ffadb1f25923f1451 100644 |
--- a/src/platform/theme/theme_draw.cc |
+++ b/src/platform/theme/theme_draw.cc |
@@ -218,7 +218,7 @@ static const double TEXT_GRADIENT_G2 = 1; |
static const double TEXT_GRADIENT_B2 = 1; |
static const double TEXT_GRADIENT_STOP_0 = 0; |
-static const double TEXT_GRADIENT_STOP_1 = .2; |
+static const double TEXT_GRADIENT_STOP_1_PIXEL = 4; |
static const double TEXT_GRADIENT_STOP_2 = 1; |
static const double TREE_ITEM_BG_R = 1; |
@@ -441,11 +441,13 @@ static void DrawTextBorder(cairo_t* cr, |
AddRoundedRectPath(cr, w, h, stroke_width, BORDER_CORNER_RADIUS); |
+ double text_gradient_stop_1 = h ? TEXT_GRADIENT_STOP_1_PIXEL / h : 0; |
+ |
ScopedPattern pattern(cairo_pattern_create_linear(0, 0, 0, h)); |
cairo_pattern_add_color_stop_rgb(pattern.get(), TEXT_GRADIENT_STOP_0, |
TEXT_GRADIENT_R0, TEXT_GRADIENT_G0, |
TEXT_GRADIENT_B0); |
- cairo_pattern_add_color_stop_rgb(pattern.get(), TEXT_GRADIENT_STOP_1, |
+ cairo_pattern_add_color_stop_rgb(pattern.get(), text_gradient_stop_1, |
TEXT_GRADIENT_R1, TEXT_GRADIENT_G1, |
TEXT_GRADIENT_B1); |
cairo_pattern_add_color_stop_rgb(pattern.get(), TEXT_GRADIENT_STOP_2, |
@@ -1154,7 +1156,7 @@ static void DrawTextFieldBackground(GtkStyle* style, |
gint y, |
gint w, |
gint h) { |
- if (!gtk_entry_get_has_frame(GTK_ENTRY(widget))) |
+ if (GTK_IS_ENTRY(widget) && !gtk_entry_get_has_frame(GTK_ENTRY(widget))) |
return; |
ScopedSurface cr(window, area); |
@@ -1174,7 +1176,7 @@ static void DrawTextFieldBorder(GtkStyle* style, |
gint y, |
gint w, |
gint h) { |
- if (!gtk_entry_get_has_frame(GTK_ENTRY(widget))) |
+ if (GTK_IS_ENTRY(widget) && !gtk_entry_get_has_frame(GTK_ENTRY(widget))) |
return; |
ScopedSurface cr(window, area); |
@@ -1411,7 +1413,8 @@ void ThemeDrawFlatBox(GtkStyle* style, |
gint y, |
gint w, |
gint h) { |
- if (GTK_IS_ENTRY(widget) && detail && !strcmp(detail, "entry_bg")) { |
+ if ((GTK_IS_ENTRY(widget) && detail && !strcmp(detail, "entry_bg")) || |
+ (GTK_IS_TEXT_VIEW(widget) && detail && !strcmp(detail, "textview"))) { |
DrawTextFieldBackground(style, window, state_type, shadow_type, area, |
widget, x, y, w, h); |
} else if (GTK_IS_WINDOW(widget) && detail && !strcmp(detail, "tooltip")) { |
@@ -1486,7 +1489,8 @@ void ThemeDrawShadow(GtkStyle* style, |
gint y, |
gint w, |
gint h) { |
- if (GTK_IS_ENTRY(widget) && detail && !strcmp(detail, "entry")) { |
+ if ((GTK_IS_ENTRY(widget) && detail && !strcmp(detail, "entry")) || |
+ (GTK_IS_TEXT_VIEW(widget) && detail && !strcmp(detail, "textview"))) { |
DrawTextFieldBorder(style, window, state_type, shadow_type, area, widget, x, |
y, w, h); |
} else if (GTK_IS_SCROLLED_WINDOW(widget) && detail && |