Couleur, essayez cet exemple rouge discret, points du dégradé : RGB (0.9f,0.6f,0.6f),(0.5f,0.3f,0.3f) & (0.4f,0.2f,0.2f)
Dans bubble.c
, fonction _draw_value_indicator()
sous // dessiner la barre de valeur
:
dégradé = cairo_pattern_create_linear (0.0f,
start_y +
épaisseur_contour,
0.0f,
start_y +
hauteur_contour -
2 * épaisseur_contour);
cairo_pattern_add_color_stop_rgba (dégradé,
0.0f,
0.9f,
0.6f,
0.6f,
1.0f);
cairo_pattern_add_color_stop_rgba (dégradé,
0.75f,
0.5f,
0.3f,
0.3f,
1.0f);
cairo_pattern_add_color_stop_rgba (dégradé,
1.0f,
0.4f,
0.2f,
0.2f,
1.0f);
cairo_set_source (cr, dégradé);
cairo_fill (cr);
Voir cairo_pattern_add_color_stop_rgba () dans la documentation de Cairo.
Commentez les instructions de dessin du contour en utilisant /*
& */
pour ne pas avoir de contour noir, bar_radius = hauteur_contour / 2;
pour une barre bien arrondie.
// dessiner l'arrière-plan de la barre
/*
cairo_set_line_width (cr, épaisseur_contour);
cairo_set_source_rgba (cr, 0.0f, 0.0f, 0.0f, 0.5f);
draw_round_rect (cr,
[...]
cairo_fill (cr);
cairo_pattern_destroy (dégradé);
*/
//bar_radius = rayon_contour;
bar_radius = hauteur_contour / 2;
bar_width = largeur_contour - 2 * rayon_contour;
//bar_height = hauteurs_contour - rayon_contour;
// dessiner la barre de valeur
Voici pourquoi cela a été coupé, c'est probablement un bug.
Dans bubble.c
, au lieu de EM2PIXELS (defaults_get_icon_size (d), d) / 5.0f
cela devrait utiliser EM2PIXELS (defaults_get_gauge_size (d), d)
pour définir la hauteur de la zone de dessin pour la jauge.
Remplacez cette ligne :
void
_refresh_indicator (Bubble* self)
{
[...]
// créer une surface temporaire
normal = cairo_image_surface_create (
CAIRO_FORMAT_ARGB32,
EM2PIXELS (defaults_get_bubble_width (d), d) -
3 * EM2PIXELS (defaults_get_margin_size (d), d) -
EM2PIXELS (defaults_get_icon_size (d), d)
+ 2 * BUBBLE_CONTENT_BLUR_RADIUS,
EM2PIXELS (defaults_get_icon_size (d), d) / 5.0f
+ 2 * BUBBLE_CONTENT_BLUR_RADIUS);
par :
void
_refresh_indicator (Bubble* self)
{
[...]
// créer une surface temporaire
normal = cairo_image_surface_create (
CAIRO_FORMAT_ARGB32,
EM2PIXELS (defaults_get_bubble_width (d), d) -
3 * EM2PIXELS (defaults_get_margin_size (d), d) -
EM2PIXELS (defaults_get_icon_size (d), d)
+ 2 * BUBBLE_CONTENT_BLUR_RADIUS,
EM2PIXELS (defaults_get_gauge_size (d), d)
+ 2 * BUBBLE_CONTENT_BLUR_RADIUS);