static gboolean
pspp_sheet_view_column_cell_process_action (PsppSheetViewColumn *tree_column,
- GdkWindow *window,
+ cairo_t *cr,
const GdkRectangle *background_area,
const GdkRectangle *cell_area,
guint flags,
gint action,
- const GdkRectangle *expose_area, /* RENDER */
GdkRectangle *focus_rectangle, /* FOCUS */
GtkCellEditable **editable_widget, /* EVENT */
GdkEvent *event, /* EVENT */
GList *list;
GdkRectangle real_cell_area;
GdkRectangle real_background_area;
- GdkRectangle real_expose_area = *cell_area;
gint depth = 0;
gint expand_cell_count = 0;
gint full_requested_width = 0;
if (action == CELL_ACTION_RENDER)
{
gtk_cell_renderer_render (info->cell,
- window,
+ cr,
tree_column->tree_view,
&rtl_background_area,
&rtl_cell_area,
- &real_expose_area,
flags);
}
/* FOCUS */
if (action == CELL_ACTION_RENDER)
{
gtk_cell_renderer_render (info->cell,
- window,
+ cr,
tree_column->tree_view,
&rtl_background_area,
&rtl_cell_area,
- &real_expose_area,
flags);
}
/* FOCUS */
* @window: a #GdkDrawable to draw to
* @background_area: entire cell area (including tree expanders and maybe padding on the sides)
* @cell_area: area normally rendered by a cell renderer
- * @expose_area: area that actually needs updating
* @flags: flags that affect rendering
*
* Renders the cell contained by #tree_column. This is used primarily by the
**/
void
_pspp_sheet_view_column_cell_render (PsppSheetViewColumn *tree_column,
- GdkWindow *window,
+ cairo_t *cr,
const GdkRectangle *background_area,
const GdkRectangle *cell_area,
- const GdkRectangle *expose_area,
guint flags)
{
g_return_if_fail (PSPP_IS_SHEET_VIEW_COLUMN (tree_column));
g_return_if_fail (background_area != NULL);
g_return_if_fail (cell_area != NULL);
- g_return_if_fail (expose_area != NULL);
pspp_sheet_view_column_cell_process_action (tree_column,
- window,
+ cr,
background_area,
cell_area,
flags,
CELL_ACTION_RENDER,
- expose_area,
NULL, NULL, NULL, NULL);
}
cell_area,
flags,
CELL_ACTION_EVENT,
- NULL, NULL,
+ NULL,
editable_widget,
event,
path_string);
cell_area,
0,
CELL_ACTION_FOCUS,
- NULL,
focus_area,
NULL, NULL, NULL);
}
void
_pspp_sheet_view_column_cell_draw_focus (PsppSheetViewColumn *tree_column,
- GdkWindow *window,
+ cairo_t *cr,
const GdkRectangle *background_area,
const GdkRectangle *cell_area,
- const GdkRectangle *expose_area,
guint flags)
{
gint focus_line_width;
{
GdkRectangle focus_rectangle;
pspp_sheet_view_column_cell_process_action (tree_column,
- window,
+ cr,
background_area,
cell_area,
flags,
CELL_ACTION_FOCUS,
- expose_area,
&focus_rectangle,
NULL, NULL, NULL);
cell_state = flags & GTK_CELL_RENDERER_SELECTED ? GTK_STATE_SELECTED :
(flags & GTK_CELL_RENDERER_PRELIT ? GTK_STATE_PRELIGHT :
(flags & GTK_CELL_RENDERER_INSENSITIVE ? GTK_STATE_INSENSITIVE : GTK_STATE_NORMAL));
+
gtk_paint_focus (gtk_widget_get_style (GTK_WIDGET (tree_column->tree_view)),
- window,
+ cr,
cell_state,
- cell_area,
tree_column->tree_view,
"treeview",
focus_rectangle.x,