X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=gtk%2Fgtkcellareacontext.h;h=c42aba7b8717a0831349be9479ca4a037a1d2d25;hb=79695ee64d41c9aadfe2c6f18dc7dd1e3fd44852;hp=4c45293d9237e0ffab64b7dd7d5a0618cc0880f6;hpb=5df7dab3cfdafad8656366edf4848329035b109d;p=~andy%2Fgtk diff --git a/gtk/gtkcellareacontext.h b/gtk/gtkcellareacontext.h index 4c45293d9..c42aba7b8 100644 --- a/gtk/gtkcellareacontext.h +++ b/gtk/gtkcellareacontext.h @@ -16,26 +16,24 @@ * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. + * License along with this library. If not, see . */ +#ifndef __GTK_CELL_AREA_CONTEXT_H__ +#define __GTK_CELL_AREA_CONTEXT_H__ + #if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION) #error "Only can be included directly." #endif -#ifndef __GTK_CELL_AREA_CONTEXT_H__ -#define __GTK_CELL_AREA_CONTEXT_H__ - #include G_BEGIN_DECLS -#define GTK_TYPE_CELL_AREA_CONTEXT (gtk_cell_area_context_get_type ()) -#define GTK_CELL_AREA_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_CELL_AREA_CONTEXT, GtkCellAreaContext)) +#define GTK_TYPE_CELL_AREA_CONTEXT (gtk_cell_area_context_get_type ()) +#define GTK_CELL_AREA_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_CELL_AREA_CONTEXT, GtkCellAreaContext)) #define GTK_CELL_AREA_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_CELL_AREA_CONTEXT, GtkCellAreaContextClass)) -#define GTK_IS_CELL_AREA_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_CELL_AREA_CONTEXT)) +#define GTK_IS_CELL_AREA_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_CELL_AREA_CONTEXT)) #define GTK_IS_CELL_AREA_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_CELL_AREA_CONTEXT)) #define GTK_CELL_AREA_CONTEXT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_CELL_AREA_CONTEXT, GtkCellAreaContextClass)) @@ -44,58 +42,93 @@ typedef struct _GtkCellAreaContextClass GtkCellAreaContextClass; struct _GtkCellAreaContext { + /*< private >*/ GObject parent_instance; GtkCellAreaContextPrivate *priv; }; +/** + * GtkCellAreaContextClass: + * @allocate: This tells the context that an allocation width or height + * (or both) have been decided for a group of rows. The context should + * store any allocations for internally aligned cells at this point so + * that they dont need to be recalculated at gtk_cell_area_render() time. + * @reset: Clear any previously stored information about requested and + * allocated sizes for the context. + * @get_preferred_height_for_width: Returns the aligned height for the given + * width that context must store while collecting sizes for it's rows. + * @get_preferred_width_for_height: Returns the aligned width for the given + * height that context must store while collecting sizes for it's rows. + */ struct _GtkCellAreaContextClass { + /*< private >*/ GObjectClass parent_class; - void (* sum_preferred_width) (GtkCellAreaContext *context); - void (* sum_preferred_height) (GtkCellAreaContext *context); - void (* allocate) (GtkCellAreaContext *context, - gint width, - gint height); - void (* reset) (GtkCellAreaContext *context); - + /*< public >*/ + void (* allocate) (GtkCellAreaContext *context, + gint width, + gint height); + void (* reset) (GtkCellAreaContext *context); + void (* get_preferred_height_for_width) (GtkCellAreaContext *context, + gint width, + gint *minimum_height, + gint *natural_height); + void (* get_preferred_width_for_height) (GtkCellAreaContext *context, + gint height, + gint *minimum_width, + gint *natural_width); + + /*< private >*/ /* Padding for future expansion */ void (*_gtk_reserved1) (void); void (*_gtk_reserved2) (void); void (*_gtk_reserved3) (void); void (*_gtk_reserved4) (void); + void (*_gtk_reserved5) (void); + void (*_gtk_reserved6) (void); }; GType gtk_cell_area_context_get_type (void) G_GNUC_CONST; /* Main apis */ -GtkCellArea *gtk_cell_area_context_get_area (GtkCellAreaContext *context); -void gtk_cell_area_context_sum_preferred_width (GtkCellAreaContext *context); -void gtk_cell_area_context_sum_preferred_height (GtkCellAreaContext *context); -void gtk_cell_area_context_allocate (GtkCellAreaContext *context, - gint width, - gint height); -void gtk_cell_area_context_reset (GtkCellAreaContext *context); - -/* Apis for GtkCellArea clients to consult cached values for a series of GtkTreeModel rows */ -void gtk_cell_area_context_get_preferred_width (GtkCellAreaContext *context, - gint *minimum_width, - gint *natural_width); -void gtk_cell_area_context_get_preferred_height (GtkCellAreaContext *context, - gint *minimum_height, - gint *natural_height); -void gtk_cell_area_context_get_allocation (GtkCellAreaContext *context, - gint *width, - gint *height); - -/* Apis for GtkCellArea implementations to update cached values for multiple GtkTreeModel rows */ +GtkCellArea *gtk_cell_area_context_get_area (GtkCellAreaContext *context); +void gtk_cell_area_context_allocate (GtkCellAreaContext *context, + gint width, + gint height); +void gtk_cell_area_context_reset (GtkCellAreaContext *context); + +/* Apis for GtkCellArea clients to consult cached values + * for a series of GtkTreeModel rows + */ +void gtk_cell_area_context_get_preferred_width (GtkCellAreaContext *context, + gint *minimum_width, + gint *natural_width); +void gtk_cell_area_context_get_preferred_height (GtkCellAreaContext *context, + gint *minimum_height, + gint *natural_height); +void gtk_cell_area_context_get_preferred_height_for_width (GtkCellAreaContext *context, + gint width, + gint *minimum_height, + gint *natural_height); +void gtk_cell_area_context_get_preferred_width_for_height (GtkCellAreaContext *context, + gint height, + gint *minimum_width, + gint *natural_width); +void gtk_cell_area_context_get_allocation (GtkCellAreaContext *context, + gint *width, + gint *height); + +/* Apis for GtkCellArea implementations to update cached values + * for multiple GtkTreeModel rows + */ void gtk_cell_area_context_push_preferred_width (GtkCellAreaContext *context, - gint minimum_width, - gint natural_width); + gint minimum_width, + gint natural_width); void gtk_cell_area_context_push_preferred_height (GtkCellAreaContext *context, - gint minimum_height, - gint natural_height); + gint minimum_height, + gint natural_height); G_END_DECLS