Added GtkCellRendererState flags to GtkCellArea->event/render() methods
This commit is contained in:
		@ -632,7 +632,8 @@ gtk_cell_area_event (GtkCellArea        *area,
 | 
				
			|||||||
		     GtkCellAreaIter      *iter,
 | 
							     GtkCellAreaIter      *iter,
 | 
				
			||||||
		     GtkWidget            *widget,
 | 
							     GtkWidget            *widget,
 | 
				
			||||||
		     GdkEvent             *event,
 | 
							     GdkEvent             *event,
 | 
				
			||||||
		     const GdkRectangle *cell_area)
 | 
							     const GdkRectangle   *cell_area,
 | 
				
			||||||
 | 
							     GtkCellRendererState  flags)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  GtkCellAreaClass *class;
 | 
					  GtkCellAreaClass *class;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -645,7 +646,7 @@ gtk_cell_area_event (GtkCellArea        *area,
 | 
				
			|||||||
  class = GTK_CELL_AREA_GET_CLASS (area);
 | 
					  class = GTK_CELL_AREA_GET_CLASS (area);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  if (class->event)
 | 
					  if (class->event)
 | 
				
			||||||
    return class->event (area, iter, widget, event, cell_area);
 | 
					    return class->event (area, iter, widget, event, cell_area, flags);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  g_warning ("GtkCellAreaClass::event not implemented for `%s'", 
 | 
					  g_warning ("GtkCellAreaClass::event not implemented for `%s'", 
 | 
				
			||||||
	     g_type_name (G_TYPE_FROM_INSTANCE (area)));
 | 
						     g_type_name (G_TYPE_FROM_INSTANCE (area)));
 | 
				
			||||||
@ -657,7 +658,8 @@ gtk_cell_area_render (GtkCellArea        *area,
 | 
				
			|||||||
		      GtkCellAreaIter      *iter,
 | 
							      GtkCellAreaIter      *iter,
 | 
				
			||||||
		      GtkWidget            *widget,
 | 
							      GtkWidget            *widget,
 | 
				
			||||||
		      cairo_t              *cr,
 | 
							      cairo_t              *cr,
 | 
				
			||||||
		      const GdkRectangle *cell_area)
 | 
							      const GdkRectangle   *cell_area,
 | 
				
			||||||
 | 
							      GtkCellRendererState  flags)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  GtkCellAreaClass *class;
 | 
					  GtkCellAreaClass *class;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -670,7 +672,7 @@ gtk_cell_area_render (GtkCellArea        *area,
 | 
				
			|||||||
  class = GTK_CELL_AREA_GET_CLASS (area);
 | 
					  class = GTK_CELL_AREA_GET_CLASS (area);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  if (class->render)
 | 
					  if (class->render)
 | 
				
			||||||
    class->render (area, iter, widget, cr, cell_area);
 | 
					    class->render (area, iter, widget, cr, cell_area, flags);
 | 
				
			||||||
  else
 | 
					  else
 | 
				
			||||||
    g_warning ("GtkCellAreaClass::render not implemented for `%s'", 
 | 
					    g_warning ("GtkCellAreaClass::render not implemented for `%s'", 
 | 
				
			||||||
	       g_type_name (G_TYPE_FROM_INSTANCE (area)));
 | 
						       g_type_name (G_TYPE_FROM_INSTANCE (area)));
 | 
				
			||||||
 | 
				
			|||||||
@ -83,12 +83,14 @@ struct _GtkCellAreaClass
 | 
				
			|||||||
							  GtkCellAreaIter         *iter,
 | 
												  GtkCellAreaIter         *iter,
 | 
				
			||||||
							  GtkWidget               *widget,
 | 
												  GtkWidget               *widget,
 | 
				
			||||||
							  GdkEvent                *event,
 | 
												  GdkEvent                *event,
 | 
				
			||||||
							  const GdkRectangle      *cell_area);
 | 
												  const GdkRectangle      *cell_area,
 | 
				
			||||||
 | 
												  GtkCellRendererState     flags);
 | 
				
			||||||
  void               (* render)                          (GtkCellArea             *area,
 | 
					  void               (* render)                          (GtkCellArea             *area,
 | 
				
			||||||
							  GtkCellAreaIter         *iter,
 | 
												  GtkCellAreaIter         *iter,
 | 
				
			||||||
							  GtkWidget               *widget,
 | 
												  GtkWidget               *widget,
 | 
				
			||||||
							  cairo_t                 *cr,
 | 
												  cairo_t                 *cr,
 | 
				
			||||||
							  const GdkRectangle      *cell_area);
 | 
												  const GdkRectangle      *cell_area,
 | 
				
			||||||
 | 
												  GtkCellRendererState     flags);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  /* Geometry */
 | 
					  /* Geometry */
 | 
				
			||||||
  GtkCellAreaIter   *(* create_iter)                     (GtkCellArea             *area);
 | 
					  GtkCellAreaIter   *(* create_iter)                     (GtkCellArea             *area);
 | 
				
			||||||
@ -153,12 +155,14 @@ gint               gtk_cell_area_event                          (GtkCellArea
 | 
				
			|||||||
								 GtkCellAreaIter      *iter,
 | 
													 GtkCellAreaIter      *iter,
 | 
				
			||||||
								 GtkWidget            *widget,
 | 
													 GtkWidget            *widget,
 | 
				
			||||||
								 GdkEvent             *event,
 | 
													 GdkEvent             *event,
 | 
				
			||||||
								 const GdkRectangle *cell_area);
 | 
													 const GdkRectangle   *cell_area,
 | 
				
			||||||
 | 
													 GtkCellRendererState  flags);
 | 
				
			||||||
void               gtk_cell_area_render                         (GtkCellArea          *area,
 | 
					void               gtk_cell_area_render                         (GtkCellArea          *area,
 | 
				
			||||||
								 GtkCellAreaIter      *iter,
 | 
													 GtkCellAreaIter      *iter,
 | 
				
			||||||
								 GtkWidget            *widget,
 | 
													 GtkWidget            *widget,
 | 
				
			||||||
								 cairo_t              *cr,
 | 
													 cairo_t              *cr,
 | 
				
			||||||
								 const GdkRectangle *cell_area);
 | 
													 const GdkRectangle   *cell_area,
 | 
				
			||||||
 | 
													 GtkCellRendererState  flags);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* Geometry */
 | 
					/* Geometry */
 | 
				
			||||||
GtkCellAreaIter   *gtk_cell_area_create_iter                    (GtkCellArea        *area);
 | 
					GtkCellAreaIter   *gtk_cell_area_create_iter                    (GtkCellArea        *area);
 | 
				
			||||||
 | 
				
			|||||||
@ -54,12 +54,14 @@ static gint      gtk_cell_area_box_event                          (GtkCellArea
 | 
				
			|||||||
								   GtkCellAreaIter      *iter,
 | 
													   GtkCellAreaIter      *iter,
 | 
				
			||||||
								   GtkWidget            *widget,
 | 
													   GtkWidget            *widget,
 | 
				
			||||||
								   GdkEvent             *event,
 | 
													   GdkEvent             *event,
 | 
				
			||||||
								   const GdkRectangle *cell_area);
 | 
													   const GdkRectangle   *cell_area,
 | 
				
			||||||
 | 
													   GtkCellRendererState  flags);
 | 
				
			||||||
static void      gtk_cell_area_box_render                         (GtkCellArea          *area,
 | 
					static void      gtk_cell_area_box_render                         (GtkCellArea          *area,
 | 
				
			||||||
								   GtkCellAreaIter      *iter,
 | 
													   GtkCellAreaIter      *iter,
 | 
				
			||||||
								   GtkWidget            *widget,
 | 
													   GtkWidget            *widget,
 | 
				
			||||||
								   cairo_t              *cr,
 | 
													   cairo_t              *cr,
 | 
				
			||||||
								   const GdkRectangle *cell_area);
 | 
													   const GdkRectangle   *cell_area,
 | 
				
			||||||
 | 
													   GtkCellRendererState  flags);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static void      gtk_cell_area_box_set_cell_property              (GtkCellArea          *area,
 | 
					static void      gtk_cell_area_box_set_cell_property              (GtkCellArea          *area,
 | 
				
			||||||
								   GtkCellRenderer      *renderer,
 | 
													   GtkCellRenderer      *renderer,
 | 
				
			||||||
@ -755,7 +757,8 @@ gtk_cell_area_box_event (GtkCellArea        *area,
 | 
				
			|||||||
			 GtkCellAreaIter      *iter,
 | 
								 GtkCellAreaIter      *iter,
 | 
				
			||||||
			 GtkWidget            *widget,
 | 
								 GtkWidget            *widget,
 | 
				
			||||||
			 GdkEvent             *event,
 | 
								 GdkEvent             *event,
 | 
				
			||||||
			 const GdkRectangle *cell_area)
 | 
								 const GdkRectangle   *cell_area,
 | 
				
			||||||
 | 
								 GtkCellRendererState  flags)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -767,7 +770,8 @@ gtk_cell_area_box_render (GtkCellArea        *area,
 | 
				
			|||||||
			  GtkCellAreaIter      *iter,
 | 
								  GtkCellAreaIter      *iter,
 | 
				
			||||||
			  GtkWidget            *widget,
 | 
								  GtkWidget            *widget,
 | 
				
			||||||
			  cairo_t              *cr,
 | 
								  cairo_t              *cr,
 | 
				
			||||||
			  const GdkRectangle *cell_area)
 | 
								  const GdkRectangle   *cell_area,
 | 
				
			||||||
 | 
								  GtkCellRendererState  flags)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  GtkCellAreaBox        *box      = GTK_CELL_AREA_BOX (area);
 | 
					  GtkCellAreaBox        *box      = GTK_CELL_AREA_BOX (area);
 | 
				
			||||||
  GtkCellAreaBoxPrivate *priv     = box->priv;
 | 
					  GtkCellAreaBoxPrivate *priv     = box->priv;
 | 
				
			||||||
@ -800,9 +804,11 @@ gtk_cell_area_box_render (GtkCellArea        *area,
 | 
				
			|||||||
       */
 | 
					       */
 | 
				
			||||||
      gtk_cell_area_inner_cell_area (area, &background_area, &inner_area);
 | 
					      gtk_cell_area_inner_cell_area (area, &background_area, &inner_area);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      /* XXX We have to do some per-cell considerations for the 'flags'
 | 
				
			||||||
 | 
					       * for focus handling */
 | 
				
			||||||
      gtk_cell_renderer_render (cell->renderer, cr, widget,
 | 
					      gtk_cell_renderer_render (cell->renderer, cr, widget,
 | 
				
			||||||
				&background_area, &inner_area,
 | 
									&background_area, &inner_area,
 | 
				
			||||||
				/* flags */0);
 | 
									flags);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user