static void gtr_cell_renderer_render( GtkCellRenderer * renderer, GtrDrawable * drawable, GtkWidget * widget, const GdkRectangle * area, GtkCellRendererState flags) { #if GTK_CHECK_VERSION( 3,0,0 ) gtk_cell_renderer_render( renderer, drawable, widget, area, area, flags ); #else gtk_cell_renderer_render( renderer, drawable, widget, area, area, area, flags ); #endif }
static void gtr_cell_renderer_render( GtkCellRenderer * renderer, GtrDrawable * drawable, GtkWidget * widget, const GdkRectangle * area, GtkCellRendererState flags) { gtk_cell_renderer_render( renderer, drawable, widget, area, area, flags ); }
static VALUE rg_render(VALUE self, VALUE window, VALUE widget, VALUE background_area, VALUE cell_area, VALUE expose_area, VALUE flags) { gtk_cell_renderer_render(_SELF(self), GDK_WINDOW(RVAL2GOBJ(window)), GTK_WIDGET(RVAL2GOBJ(widget)), RVAL2RECT(background_area), RVAL2RECT(cell_area), RVAL2RECT(expose_area), RVAL2GFLAGS(flags, GTK_TYPE_CELL_RENDERER_STATE)); return self; }
static void egg_property_cell_renderer_render (GtkCellRenderer *cell, GdkDrawable *window, GtkWidget *widget, GdkRectangle *background_area, GdkRectangle *cell_area, GdkRectangle *expose_area, GtkCellRendererState flags) { EggPropertyCellRendererPrivate *priv = EGG_PROPERTY_CELL_RENDERER_GET_PRIVATE (cell); gtk_cell_renderer_render (priv->renderer, window, widget, background_area, cell_area, expose_area, flags); }
static void gmameui_cell_renderer_captioned_image_render (GtkCellRenderer *gtk_cell, GdkWindow *window, GtkWidget *widget, GdkRectangle *background_area, GdkRectangle *cell_area, GdkRectangle *expose_area, guint flags) { GmameuiCellRendererCaptionedImage *cell = GMAMEUI_CELL_RENDERER_CAPTIONED_IMAGE (gtk_cell); GdkRectangle text_area; GdkRectangle pixbuf_area; int width, height; gtk_cell_renderer_get_size (cell->image, widget, cell_area, NULL, NULL, &width, &height); pixbuf_area.y = cell_area->y; pixbuf_area.x = cell_area->x; pixbuf_area.height = height; pixbuf_area.width = cell_area->width; gtk_cell_renderer_get_size (cell->caption, widget, cell_area, NULL, NULL, &width, &height); text_area.x = cell_area->x + (cell_area->width - width) / 2; text_area.y = cell_area->y + (pixbuf_area.height + PAD); text_area.height = height; text_area.width = width; gtk_cell_renderer_render (cell->image, window, widget, background_area, &pixbuf_area, expose_area, flags); gtk_cell_renderer_render (cell->caption, window, widget, background_area, &text_area, expose_area, flags); }
static void anjuta_cell_renderer_captioned_image_render (GtkCellRenderer *gtk_cell, cairo_t *cr, GtkWidget *widget, const GdkRectangle *background_area, const GdkRectangle *cell_area, GtkCellRendererState flags) { AnjutaCellRendererCaptionedImage *cell = ANJUTA_CELL_RENDERER_CAPTIONED_IMAGE (gtk_cell); GdkRectangle text_area; GdkRectangle pixbuf_area; gint width, height; gtk_cell_renderer_get_preferred_width (cell->image, widget, NULL, &width); gtk_cell_renderer_get_preferred_height (cell->image, widget, NULL, &height); pixbuf_area.y = cell_area->y; pixbuf_area.x = cell_area->x; pixbuf_area.height = height; pixbuf_area.width = cell_area->width; gtk_cell_renderer_get_preferred_width (cell->caption, widget, NULL, &width); gtk_cell_renderer_get_preferred_height (cell->caption, widget, NULL, &height); text_area.x = cell_area->x + (cell_area->width - width) / 2; text_area.y = cell_area->y + (pixbuf_area.height + PAD); text_area.height = height; text_area.width = width; gtk_cell_renderer_render (cell->image, cr, widget, background_area, &pixbuf_area, flags); gtk_cell_renderer_render (cell->caption, cr, widget, background_area, &text_area, flags); }
static gboolean gtk_cell_view_expose (GtkWidget *widget, GdkEventExpose *event) { GList *i; GtkCellView *cellview; GdkRectangle area; GtkCellRendererState state; gboolean rtl = (gtk_widget_get_direction(widget) == GTK_TEXT_DIR_RTL); cellview = GTK_CELL_VIEW (widget); if (! GTK_WIDGET_DRAWABLE (widget)) return FALSE; /* "blank" background */ if (cellview->priv->background_set) { GdkGC *gc; gc = gdk_gc_new (GTK_WIDGET (cellview)->window); gdk_gc_set_rgb_fg_color (gc, &cellview->priv->background); gdk_draw_rectangle (GTK_WIDGET (cellview)->window, gc, TRUE, /*0, 0,*/ widget->allocation.x, widget->allocation.y, widget->allocation.width, widget->allocation.height); g_object_unref (G_OBJECT (gc)); } /* set cell data (if available) */ if (cellview->priv->displayed_row) gtk_cell_view_set_cell_data (cellview); else if (cellview->priv->model) return FALSE; /* render cells */ area = widget->allocation; /* we draw on our very own window, initialize x and y to zero */ area.x = widget->allocation.x + (rtl ? widget->allocation.width : 0); area.y = widget->allocation.y; if (GTK_WIDGET_STATE (widget) == GTK_STATE_PRELIGHT) state = GTK_CELL_RENDERER_PRELIT; else state = 0; /* PACK_START */ for (i = cellview->priv->cell_list; i; i = i->next) { GtkCellViewCellInfo *info = (GtkCellViewCellInfo *)i->data; if (info->pack == GTK_PACK_END) continue; if (!info->cell->visible) continue; area.width = info->real_width; if (rtl) area.x -= area.width; gtk_cell_renderer_render (info->cell, event->window, widget, /* FIXME! */ &area, &area, &event->area, state); if (!rtl) area.x += info->real_width; } area.x = rtl ? widget->allocation.x : (widget->allocation.x + widget->allocation.width); /* PACK_END */ for (i = cellview->priv->cell_list; i; i = i->next) { GtkCellViewCellInfo *info = (GtkCellViewCellInfo *)i->data; if (info->pack == GTK_PACK_START) continue; if (!info->cell->visible) continue; area.width = info->real_width; if (!rtl) area.x -= area.width; gtk_cell_renderer_render (info->cell, widget->window, widget, /* FIXME ! */ &area, &area, &event->area, state); if (rtl) area.x += info->real_width; } return FALSE; }