mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-11-10 19:00:08 +00:00
win32 theme: Make tooltips look right
Includes adding fallback support
This commit is contained in:
parent
808017d1d0
commit
6c0270bbcb
@ -234,6 +234,25 @@ draw_window_button (cairo_t *cr,
|
|||||||
mask_icon (cr, icon, 1, 1, width - 2, height - 2);
|
mask_icon (cr, icon, 1, 1, width - 2, height - 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
draw_tooltip (cairo_t *cr,
|
||||||
|
int part,
|
||||||
|
int state,
|
||||||
|
int width,
|
||||||
|
int height)
|
||||||
|
{
|
||||||
|
int xborder = gtk_win32_get_sys_metric (GTK_WIN32_SYS_METRIC_CXDLGFRAME) -
|
||||||
|
gtk_win32_get_sys_metric (GTK_WIN32_SYS_METRIC_CXEDGE);
|
||||||
|
int yborder = gtk_win32_get_sys_metric (GTK_WIN32_SYS_METRIC_CYDLGFRAME) -
|
||||||
|
gtk_win32_get_sys_metric (GTK_WIN32_SYS_METRIC_CYEDGE);
|
||||||
|
|
||||||
|
cairo_rectangle (cr, 0, 0, width, height);
|
||||||
|
cairo_rectangle (cr, width - xborder, yborder,
|
||||||
|
- (width - 2 * xborder), height - 2 * yborder);
|
||||||
|
gtk_cairo_set_source_sys_color (cr, GTK_WIN32_SYS_COLOR_WINDOWFRAME);
|
||||||
|
cairo_fill (cr);
|
||||||
|
}
|
||||||
|
|
||||||
typedef struct _GtkWin32ThemePart GtkWin32ThemePart;
|
typedef struct _GtkWin32ThemePart GtkWin32ThemePart;
|
||||||
struct _GtkWin32ThemePart {
|
struct _GtkWin32ThemePart {
|
||||||
const char *class_name;
|
const char *class_name;
|
||||||
@ -251,6 +270,7 @@ static GtkWin32ThemePart theme_parts[] = {
|
|||||||
{ "button", 1, 0, { 3, 3, 3, 3 }, draw_button },
|
{ "button", 1, 0, { 3, 3, 3, 3 }, draw_button },
|
||||||
{ "button", 2, 13, { 0, 0, 0, 0 }, draw_radio },
|
{ "button", 2, 13, { 0, 0, 0, 0 }, draw_radio },
|
||||||
{ "button", 3, 13, { 0, 0, 0, 0 }, draw_check },
|
{ "button", 3, 13, { 0, 0, 0, 0 }, draw_check },
|
||||||
|
{ "tooltip", 1, 0, { 0, 0, 0, 0 }, draw_tooltip },
|
||||||
{ "window", 1, 0, { 0, 0, 0, 0 }, draw_window },
|
{ "window", 1, 0, { 0, 0, 0, 0 }, draw_window },
|
||||||
{ "window", 15, 0, { 0, 0, 0, 0 }, draw_window_button },
|
{ "window", 15, 0, { 0, 0, 0, 0 }, draw_window_button },
|
||||||
{ "window", 17, 0, { 0, 0, 0, 0 }, draw_window_button },
|
{ "window", 17, 0, { 0, 0, 0, 0 }, draw_window_button },
|
||||||
|
@ -117,15 +117,11 @@ scrolledwindow.frame {
|
|||||||
color: @selected_fg_color;
|
color: @selected_fg_color;
|
||||||
}
|
}
|
||||||
|
|
||||||
tooltip {
|
tooltip, tooltip.background {
|
||||||
background-color: transparent;
|
background-color: -gtk-win32-color(tooltip, infobk);
|
||||||
background-image: -gtk-win32-theme-part(tooltip, 3, 1);
|
background-image: -gtk-win32-theme-part(tooltip, 1, 1);
|
||||||
color: -gtk-win32-color(button, infotext);
|
|
||||||
border-width: 0px;
|
|
||||||
}
|
|
||||||
|
|
||||||
tooltip * {
|
|
||||||
color: -gtk-win32-color(button, infotext);
|
color: -gtk-win32-color(button, infotext);
|
||||||
|
padding: 2px;
|
||||||
}
|
}
|
||||||
|
|
||||||
assistant .sidebar .highlight {
|
assistant .sidebar .highlight {
|
||||||
|
Loading…
Reference in New Issue
Block a user