Ejemplo n.º 1
0
static void
gm_cell_renderer_bitext_get_preferred_height_for_width (GtkCellRenderer* cell,
							GtkWidget* widget,
							gint width,
							gint *minimum_size,
							gint* natural_size)
{
  GtkCellRendererClass* parent
    = GTK_CELL_RENDERER_CLASS (gm_cell_renderer_bitext_parent_class);

  gm_cell_renderer_bitext_update_style (GM_CELL_RENDERER_BITEXT (cell),
					widget);

  parent->get_preferred_height_for_width (cell, widget, width, minimum_size, natural_size);
}
Ejemplo n.º 2
0
static void
gm_cell_renderer_bitext_render (GtkCellRenderer* cell,
				cairo_t* cr,
				GtkWidget* widget,
				const GdkRectangle* background_area,
				const GdkRectangle* cell_area,
				GtkCellRendererState flags)
{
  GtkCellRendererClass* parent
    = GTK_CELL_RENDERER_CLASS (gm_cell_renderer_bitext_parent_class);

  gm_cell_renderer_bitext_update_style (GM_CELL_RENDERER_BITEXT (cell),
					widget);

  parent->render (cell, cr, widget, background_area, cell_area, flags);
}
Ejemplo n.º 3
0
static void
render (GtkCellRenderer *cell,
        GdkDrawable *window,
        GtkWidget *widget,
        GdkRectangle *background_area,
        GdkRectangle *cell_area,
        GdkRectangle *expose_area,
        GtkCellRendererState flags)
{
	GtkCellRendererClass *klass;
	GtkCellRendererBubblePrivate *priv;
	cairo_t *cr;
	GdkColor color;
	gint radius;

	g_return_if_fail(GTK_IS_CELL_RENDERER_BUBBLE (cell));

	priv = GTK_CELL_RENDERER_BUBBLE (cell)->priv;

	if (priv->show_bubble) {
		cr = gdk_cairo_create(GDK_DRAWABLE (window));

		gdk_color_parse("#ccc", &color);
		gdk_cairo_set_source_color(cr, &color);

		radius = MIN(cell_area->width, cell_area->height) / 2;
		cairo_arc(cr,
		          cell_area->x + (cell_area->width / 2),
		          cell_area->y + (cell_area->height / 2),
		          radius,
		          0,
		          2 * G_PI);
		cairo_fill(cr);

		cairo_destroy(cr);
	}

	klass = GTK_CELL_RENDERER_CLASS(gtk_cell_renderer_bubble_parent_class);
	klass->render(cell, window, widget, background_area,
	              cell_area, expose_area, flags);
}