From 2dd2c7ce054313a3e31b162ce78507c295926e0b Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Thu, 25 Nov 2010 17:41:26 +0900 Subject: Added gtk_cell_renderer_get_aligned_area() and class vfunc. Since a cell renderer might use more space than the natural size when recieving expand space it's impossible to know how much space is actually used to render content. Adding this virtual method to allow text renderers to implement it, the base default method uses height-for-width apis and aligns the cell assuming the renderer uses a fixed size. This commit removes the similar code from gtkcellarea and subclasses. --- gtk/gtkcellrenderer.h | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'gtk/gtkcellrenderer.h') diff --git a/gtk/gtkcellrenderer.h b/gtk/gtkcellrenderer.h index 736569ccea..03d9df5130 100644 --- a/gtk/gtkcellrenderer.h +++ b/gtk/gtkcellrenderer.h @@ -111,6 +111,11 @@ struct _GtkCellRendererClass gint height, gint *minimum_width, gint *natural_width); + void (* get_aligned_area) (GtkCellRenderer *cell, + GtkWidget *widget, + GtkCellRendererState flags, + const GdkRectangle *cell_area, + GdkRectangle *aligned_area); void (* get_size) (GtkCellRenderer *cell, GtkWidget *widget, const GdkRectangle *cell_area, @@ -177,6 +182,12 @@ void gtk_cell_renderer_get_preferred_size (GtkCellRend GtkWidget *widget, GtkRequisition *minimum_size, GtkRequisition *natural_size); +void gtk_cell_renderer_get_aligned_area (GtkCellRenderer *cell, + GtkWidget *widget, + GtkCellRendererState flags, + const GdkRectangle *cell_area, + GdkRectangle *aligned_area); + #ifndef GTK_DISABLE_DEPRECATED void gtk_cell_renderer_get_size (GtkCellRenderer *cell, GtkWidget *widget, -- cgit v1.2.1