forked from AuroraMiddleware/gtk
Correct calculation of the cell focus rectangle
The cell's focus rectangle is located around the cell's aligned area. To get to the correct coordinates for this rectangle, we have to subtract focus_line_width from the found aligned_area.
This commit is contained in:
parent
8ca6bbbfc0
commit
be39883de2
@ -1056,10 +1056,21 @@ render_cell (GtkCellRenderer *renderer,
|
||||
(renderer == focus_cell ||
|
||||
gtk_cell_area_is_focus_sibling (data->area, focus_cell, renderer)))))
|
||||
{
|
||||
gint focus_line_width;
|
||||
GdkRectangle cell_focus;
|
||||
|
||||
gtk_cell_renderer_get_aligned_area (renderer, data->widget, flags, &inner_area, &cell_focus);
|
||||
|
||||
gtk_widget_style_get (data->widget,
|
||||
"focus-line-width", &focus_line_width,
|
||||
NULL);
|
||||
|
||||
/* The focus rectangle is located around the aligned area of the cell */
|
||||
cell_focus.x -= focus_line_width;
|
||||
cell_focus.y -= focus_line_width;
|
||||
cell_focus.width += 2 * focus_line_width;
|
||||
cell_focus.height += 2 * focus_line_width;
|
||||
|
||||
if (data->first_focus)
|
||||
{
|
||||
data->first_focus = FALSE;
|
||||
|
Loading…
Reference in New Issue
Block a user