#include "gtkmagnifierprivate.h"
#include "gtkemojichooser.h"
#include "gtkpango.h"
-#include "gtknative.h"
+#include "gtknativeprivate.h"
#include "gtkwidgetprivate.h"
#include "a11y/gtktextviewaccessibleprivate.h"
if (device)
{
+ GtkNative *native;
GdkSurface *surface;
double px, py;
+ int nx, ny;
- surface = gtk_native_get_surface (gtk_widget_get_native (GTK_WIDGET (text_view)));
+ native = gtk_widget_get_native (GTK_WIDGET (text_view));
+ surface = gtk_native_get_surface (native);
gdk_surface_get_device_position (surface, device, &px, &py, NULL);
- rect.x = round (px);
- rect.y = round (py);
+ gtk_native_get_surface_transform (native, &nx, &ny);
+ rect.x = round (px) - nx;
+ rect.y = round (py) - ny;
gtk_widget_translate_coordinates (GTK_WIDGET (gtk_widget_get_native (GTK_WIDGET (text_view))),
GTK_WIDGET (text_view),