a11y: Stop supporting ATK_XY_SCREEN

We were already not supporting ATK_XY_PARENT, and we can't
support global positions, so just always do ATK_XY_WINDOW.
This commit is contained in:
Matthias Clasen
2019-03-23 01:59:47 -04:00
parent d6a85188b6
commit 43d4c908c9
7 changed files with 20 additions and 168 deletions

View File

@@ -980,8 +980,6 @@ gtk_entry_accessible_get_character_extents (AtkText *atk_text,
PangoRectangle char_rect;
gchar *entry_text;
gint index, x_layout, y_layout;
GdkSurface *surface;
gint x_surface, y_surface;
GtkAllocation allocation;
textw = get_text (atk_text);
@@ -999,22 +997,10 @@ gtk_entry_accessible_get_character_extents (AtkText *atk_text,
gtk_widget_get_allocation (GTK_WIDGET (textw), &allocation);
surface = gtk_widget_get_surface (GTK_WIDGET (textw));
gdk_surface_get_origin (surface, &x_surface, &y_surface);
*x = x_surface + allocation.x + x_layout + char_rect.x;
*y = y_surface + allocation.y + y_layout + char_rect.y;
*x = allocation.x + x_layout + char_rect.x;
*y = allocation.y + y_layout + char_rect.y;
*width = char_rect.width;
*height = char_rect.height;
if (coords == ATK_XY_WINDOW)
{
surface = gdk_surface_get_toplevel (surface);
gdk_surface_get_origin (surface, &x_surface, &y_surface);
*x -= x_surface;
*y -= y_surface;
}
}
static gint
@@ -1026,9 +1012,7 @@ gtk_entry_accessible_get_offset_at_point (AtkText *atk_text,
GtkText *textw;
gchar *text;
gint index, x_layout, y_layout;
gint x_surface, y_surface;
gint x_local, y_local;
GdkSurface *surface;
glong offset;
textw = get_text (atk_text);
@@ -1038,20 +1022,9 @@ gtk_entry_accessible_get_offset_at_point (AtkText *atk_text,
gtk_text_get_layout_offsets (textw, &x_layout, &y_layout);
surface = gtk_widget_get_surface (GTK_WIDGET (textw));
gdk_surface_get_origin (surface, &x_surface, &y_surface);
x_local = x - x_layout;
y_local = y - y_layout;
x_local = x - x_layout - x_surface;
y_local = y - y_layout - y_surface;
if (coords == ATK_XY_WINDOW)
{
surface = gdk_surface_get_toplevel (surface);
gdk_surface_get_origin (surface, &x_surface, &y_surface);
x_local += x_surface;
y_local += y_surface;
}
if (!pango_layout_xy_to_index (gtk_text_get_layout (textw),
x_local * PANGO_SCALE,
y_local * PANGO_SCALE,

View File

@@ -999,8 +999,6 @@ gtk_label_accessible_get_character_extents (AtkText *text,
PangoRectangle char_rect;
const gchar *label_text;
gint index, x_layout, y_layout;
GdkSurface *surface;
gint x_surface, y_surface;
widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
if (widget == NULL)
@@ -1014,22 +1012,10 @@ gtk_label_accessible_get_character_extents (AtkText *text,
pango_layout_index_to_pos (gtk_label_get_layout (label), index, &char_rect);
pango_extents_to_pixels (&char_rect, NULL);
surface = gtk_widget_get_surface (widget);
gdk_surface_get_origin (surface, &x_surface, &y_surface);
*x = x_surface + x_layout + char_rect.x;
*y = y_surface + y_layout + char_rect.y;
*x = x_layout + char_rect.x;
*y = y_layout + char_rect.y;
*width = char_rect.width;
*height = char_rect.height;
if (coords == ATK_XY_WINDOW)
{
surface = gdk_surface_get_toplevel (surface);
gdk_surface_get_origin (surface, &x_surface, &y_surface);
*x -= x_surface;
*y -= y_surface;
}
}
static gint
@@ -1042,9 +1028,7 @@ gtk_label_accessible_get_offset_at_point (AtkText *atk_text,
GtkLabel *label;
const gchar *text;
gint index, x_layout, y_layout;
gint x_surface, y_surface;
gint x_local, y_local;
GdkSurface *surface;
widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (atk_text));
if (widget == NULL)
@@ -1054,20 +1038,8 @@ gtk_label_accessible_get_offset_at_point (AtkText *atk_text,
gtk_label_get_layout_offsets (label, &x_layout, &y_layout);
surface = gtk_widget_get_surface (widget);
gdk_surface_get_origin (surface, &x_surface, &y_surface);
x_local = x - x_layout - x_surface;
y_local = y - y_layout - y_surface;
if (coords == ATK_XY_WINDOW)
{
surface = gdk_surface_get_toplevel (surface);
gdk_surface_get_origin (surface, &x_surface, &y_surface);
x_local += x_surface;
y_local += y_surface;
}
x_local = x - x_layout;
y_local = y - y_layout;
if (!pango_layout_xy_to_index (gtk_label_get_layout (label),
x_local * PANGO_SCALE,

View File

@@ -420,8 +420,6 @@ gtk_text_accessible_get_character_extents (AtkText *text,
PangoRectangle char_rect;
gchar *entry_text;
gint index, x_layout, y_layout;
GdkSurface *surface;
gint x_surface, y_surface;
GtkAllocation allocation;
widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
@@ -440,22 +438,10 @@ gtk_text_accessible_get_character_extents (AtkText *text,
gtk_widget_get_allocation (widget, &allocation);
surface = gtk_widget_get_surface (widget);
gdk_surface_get_origin (surface, &x_surface, &y_surface);
*x = x_surface + allocation.x + x_layout + char_rect.x;
*y = y_surface + allocation.y + y_layout + char_rect.y;
*x = allocation.x + x_layout + char_rect.x;
*y = allocation.y + y_layout + char_rect.y;
*width = char_rect.width;
*height = char_rect.height;
if (coords == ATK_XY_WINDOW)
{
surface = gdk_surface_get_toplevel (surface);
gdk_surface_get_origin (surface, &x_surface, &y_surface);
*x -= x_surface;
*y -= y_surface;
}
}
static gint
@@ -468,9 +454,7 @@ gtk_text_accessible_get_offset_at_point (AtkText *atk_text,
GtkText *entry;
gchar *text;
gint index, x_layout, y_layout;
gint x_surface, y_surface;
gint x_local, y_local;
GdkSurface *surface;
glong offset;
widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (atk_text));
@@ -481,20 +465,9 @@ gtk_text_accessible_get_offset_at_point (AtkText *atk_text,
gtk_text_get_layout_offsets (entry, &x_layout, &y_layout);
surface = gtk_widget_get_surface (widget);
gdk_surface_get_origin (surface, &x_surface, &y_surface);
x_local = x - x_layout;
y_local = y - y_layout;
x_local = x - x_layout - x_surface;
y_local = y - y_layout - y_surface;
if (coords == ATK_XY_WINDOW)
{
surface = gdk_surface_get_toplevel (surface);
gdk_surface_get_origin (surface, &x_surface, &y_surface);
x_local += x_surface;
y_local += y_surface;
}
if (!pango_layout_xy_to_index (gtk_text_get_layout (entry),
x_local * PANGO_SCALE,
y_local * PANGO_SCALE,

View File

@@ -489,7 +489,6 @@ get_origins (GtkWidget *widget,
surface = gtk_widget_get_surface (widget);
gdk_surface_get_origin (surface, x_surface, y_surface);
surface = gdk_surface_get_toplevel (gtk_widget_get_surface (widget));
gdk_surface_get_origin (surface, x_toplevel, y_toplevel);
if (GTK_IS_TREE_VIEW (widget))

View File

@@ -449,35 +449,19 @@ gtk_text_view_accessible_get_offset_at_point (AtkText *text,
{
GtkTextView *view;
GtkTextIter iter;
gint x_widget, y_widget, x_surface, y_surface, buff_x, buff_y;
gint buff_x, buff_y;
GtkWidget *widget;
GdkSurface *surface;
GdkRectangle rect;
widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
if (widget == NULL)
return -1;
view = GTK_TEXT_VIEW (widget);
surface = gtk_widget_get_surface (widget);
gdk_surface_get_origin (surface, &x_widget, &y_widget);
if (coords == ATK_XY_SCREEN)
{
x = x - x_widget;
y = y - y_widget;
}
else if (coords == ATK_XY_WINDOW)
{
surface = gdk_surface_get_toplevel (surface);
gdk_surface_get_origin (surface, &x_surface, &y_surface);
x = x - x_widget + x_surface;
y = y - y_widget + y_surface;
}
else
if (coords != ATK_XY_WINDOW)
return -1;
view = GTK_TEXT_VIEW (widget);
gtk_text_view_window_to_buffer_coords (view, GTK_TEXT_WINDOW_WIDGET,
x, y, &buff_x, &buff_y);
gtk_text_view_get_visible_rect (view, &rect);
@@ -511,8 +495,6 @@ gtk_text_view_accessible_get_character_extents (AtkText *text,
GtkTextIter iter;
GtkWidget *widget;
GdkRectangle rectangle;
GdkSurface *surface;
gint x_widget, y_widget, x_surface, y_surface;
*x = 0;
*y = 0;
@@ -528,30 +510,12 @@ gtk_text_view_accessible_get_character_extents (AtkText *text,
gtk_text_buffer_get_iter_at_offset (buffer, &iter, offset);
gtk_text_view_get_iter_location (view, &iter, &rectangle);
surface = gtk_widget_get_surface (widget);
if (surface == NULL)
return;
gdk_surface_get_origin (surface, &x_widget, &y_widget);
*height = rectangle.height;
*width = rectangle.width;
gtk_text_view_buffer_to_surface_coords (view, GTK_TEXT_WINDOW_WIDGET,
rectangle.x, rectangle.y, x, y);
if (coords == ATK_XY_WINDOW)
{
surface = gdk_surface_get_toplevel (surface);
gdk_surface_get_origin (surface, &x_surface, &y_surface);
*x += x_widget - x_surface;
*y += y_widget - y_surface;
}
else if (coords == ATK_XY_SCREEN)
{
*x += x_widget;
*y += y_widget;
}
else
if (coords != ATK_XY_WINDOW)
{
*x = 0;
*y = 0;

View File

@@ -1094,18 +1094,6 @@ gtk_tree_view_accessible_get_cell_extents (GtkCellAccessibleParent *parent,
0, 0,
&w_x, &w_y);
if (coord_type != ATK_XY_WINDOW)
{
GdkSurface *surface;
gint x_toplevel, y_toplevel;
surface = gdk_surface_get_toplevel (gtk_widget_get_surface (widget));
gdk_surface_get_origin (surface, &x_toplevel, &y_toplevel);
w_x += x_toplevel;
w_y += y_toplevel;
}
*width = cell_rect.width;
*height = cell_rect.height;
if (is_cell_showing (tree_view, &cell_rect))

View File

@@ -533,9 +533,6 @@ gtk_widget_accessible_get_extents (AtkComponent *component,
gint *height,
AtkCoordType coord_type)
{
GdkSurface *surface;
gint x_surface, y_surface;
gint x_toplevel, y_toplevel;
GtkWidget *widget;
GtkAllocation allocation;
@@ -557,25 +554,11 @@ gtk_widget_accessible_get_extents (AtkComponent *component,
{
*x = allocation.x;
*y = allocation.y;
surface = gtk_widget_get_surface (gtk_widget_get_parent (widget));
}
else
{
*x = 0;
*y = 0;
surface = gtk_widget_get_surface (widget);
}
gdk_surface_get_origin (surface, &x_surface, &y_surface);
*x += x_surface;
*y += y_surface;
if (coord_type == ATK_XY_WINDOW)
{
surface = gdk_surface_get_toplevel (gtk_widget_get_surface (widget));
gdk_surface_get_origin (surface, &x_toplevel, &y_toplevel);
*x -= x_toplevel;
*y -= y_toplevel;
}
}
@@ -625,7 +608,7 @@ gtk_widget_accessible_set_extents (AtkComponent *component,
gint height,
AtkCoordType coord_type)
{
return FALSE;
return FALSE;
}
static gboolean
@@ -634,7 +617,7 @@ gtk_widget_accessible_set_position (AtkComponent *component,
gint y,
AtkCoordType coord_type)
{
return FALSE;
return FALSE;
}
static gboolean
@@ -642,7 +625,7 @@ gtk_widget_accessible_set_size (AtkComponent *component,
gint width,
gint height)
{
return FALSE;
return FALSE;
}
static void