static void gtk_tooltip_composited_changed (GtkTooltip *tooltip, GtkWidget *widget) { if (gtk_widget_get_realized (tooltip->window)) maybe_update_shape (tooltip); }
static void label_window_realize_cb (GtkWidget *widget) { cairo_region_t *region; /* make the whole window ignore events */ region = cairo_region_create (); gtk_widget_input_shape_combine_region (widget, region); cairo_region_destroy (region); maybe_update_shape (widget); }
static gboolean label_window_draw_event_cb (GtkWidget *widget, cairo_t *cr, gpointer data) { if (gtk_widget_is_composited (widget)) { /* clear any content */ cairo_save (cr); cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE); cairo_set_source_rgba (cr, 0, 0, 0, 0); cairo_paint (cr); cairo_restore (cr); } maybe_update_shape (widget); label_draw_background_and_frame (widget, cr, FALSE); return FALSE; }
static gboolean gtk_tooltip_paint_window (GtkTooltip *tooltip, cairo_t *cr) { if (gtk_widget_is_composited (tooltip->window)) { /* clear any background */ cairo_save (cr); cairo_set_source_rgba (cr, 0, 0, 0, 0); cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE); cairo_paint (cr); cairo_restore (cr); } maybe_update_shape (tooltip); paint_background_and_frame (tooltip, cr); return FALSE; }
static void gtk_tooltip_realize_window (GtkTooltip *tooltip, GtkWidget *widget) { maybe_update_shape (tooltip); }
static void label_window_composited_changed_cb (GtkWidget *widget, CcRRLabeler *labeler) { if (gtk_widget_get_realized (widget)) maybe_update_shape (widget); }