[gtk+/xi2: 509/1239] Merge branch 'events-refactor' into xi2
- From: Carlos Garnacho <carlosg src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [gtk+/xi2: 509/1239] Merge branch 'events-refactor' into xi2
- Date: Tue, 29 Sep 2009 10:48:15 +0000 (UTC)
commit 4642c0d5851d6a9eaa0b6adf55e00d37d42c2931
Merge: 3b80538... 37c3ec1...
Author: Carlos Garnacho <carlos lanedo com>
Date: Fri Jul 10 18:59:14 2009 +0100
Merge branch 'events-refactor' into xi2
NEWS | 113 +
config.h.win32.in | 6 +-
configure.in | 4 +-
demos/gtk-demo/Makefile.am | 3 +-
demos/gtk-demo/infobar.c | 104 +
demos/gtk-demo/printing.c | 61 +-
demos/gtk-demo/rotated_text.c | 6 +-
docs/reference/gdk/gdk-docs.sgml | 4 +
docs/reference/gdk/gdk-sections.txt | 7 +
docs/reference/gdk/tmpl/events.sgml | 1 +
docs/reference/gdk/tmpl/regions.sgml | 10 +
docs/reference/gdk/tmpl/windows.sgml | 101 +-
docs/reference/gtk/gtk-sections.txt | 6 +
docs/reference/gtk/tmpl/gtkmenu.sgml | 23 +
docs/reference/gtk/tmpl/gtkprintoperation.sgml | 46 +
docs/reference/gtk/tmpl/gtkprintsettings.sgml | 1 +
docs/reference/gtk/tmpl/gtkprintunixdialog.sgml | 60 +
docs/reference/gtk/tmpl/gtksettings.sgml | 2 +-
docs/reference/gtk/tmpl/gtkstatusicon.sgml | 23 +
docs/tutorial/gtk-tut.sgml | 10 +-
gdk-pixbuf/gdk-pixbuf-io.c | 4 +-
gdk-pixbuf/gdk-pixdata.c | 7 +-
gdk-pixbuf/makefile.msc | 3 +-
gdk/Makefile.am | 7 +-
gdk/directfb/gdkdisplay-directfb.c | 5 +-
gdk/directfb/gdkmain-directfb.c | 5 +-
gdk/directfb/gdkwindow-directfb.c | 5 +-
gdk/gdk.symbols | 49 +-
gdk/gdkcairo.c | 4 +
gdk/gdkdisplay.c | 642 +++-
gdk/gdkdisplay.h | 35 +
gdk/gdkdisplaymanager.c | 2 +-
gdk/gdkdraw.c | 128 +-
gdk/gdkdrawable.h | 24 +-
gdk/gdkevents.c | 76 +-
gdk/gdkevents.h | 3 +-
gdk/gdkgc.c | 262 +-
gdk/gdkinternals.h | 353 +-
gdk/gdkmarshalers.list | 4 +
gdk/gdkoffscreenwindow.c | 1281 +++++
gdk/gdkpango.c | 3 +-
gdk/gdkpixmap.c | 86 +-
gdk/gdkprivate.h | 3 +
gdk/gdkregion-generic.c | 52 +
gdk/gdkregion.h | 2 +
gdk/gdkscreen.h | 1 +
gdk/gdkwindow.c | 6954 +++++++++++++++++++----
gdk/gdkwindow.h | 48 +-
gdk/gdkwindowimpl.h | 100 +-
gdk/makefile.msc | 4 +-
gdk/quartz/GdkQuartzView.c | 61 +-
gdk/quartz/GdkQuartzView.h | 1 +
gdk/quartz/GdkQuartzWindow.c | 78 +-
gdk/quartz/gdkdisplay-quartz.c | 6 +
gdk/quartz/gdkdrawable-quartz.c | 171 +-
gdk/quartz/gdkevents-quartz.c | 1665 ++----
gdk/quartz/gdkgc-quartz.c | 11 +-
gdk/quartz/gdkgeometry-quartz.c | 68 +-
gdk/quartz/gdkinput.c | 4 +-
gdk/quartz/gdkinputprivate.h | 1 -
gdk/quartz/gdkpixmap-quartz.c | 30 +-
gdk/quartz/gdkprivate-quartz.h | 25 +-
gdk/quartz/gdkwindow-quartz.c | 1058 ++---
gdk/quartz/gdkwindow-quartz.h | 5 -
gdk/testgdk.c | 14 +-
gdk/win32/gdkdisplay-win32.c | 8 +-
gdk/win32/gdkdrawable-win32.c | 85 +-
gdk/win32/gdkdrawable-win32.h | 1 -
gdk/win32/gdkevents-win32.c | 812 +---
gdk/win32/gdkgc-win32.c | 13 +-
gdk/win32/gdkgeometry-win32.c | 677 +--
gdk/win32/gdkinput-win32.c | 109 +-
gdk/win32/gdkinput-win32.h | 1 -
gdk/win32/gdkmain-win32.c | 11 +-
gdk/win32/gdkpixmap-win32.c | 6 +-
gdk/win32/gdkprivate-win32.h | 10 +-
gdk/win32/gdkwindow-win32.c | 830 +--
gdk/win32/gdkwindow-win32.h | 17 +-
gdk/x11/gdkapplaunchcontext-x11.c | 8 +-
gdk/x11/gdkasync.c | 98 +
gdk/x11/gdkasync.h | 7 +
gdk/x11/gdkdevicemanager-core.c | 132 +-
gdk/x11/gdkdisplay-x11.c | 100 +-
gdk/x11/gdkdisplay-x11.h | 24 +-
gdk/x11/gdkdnd-x11.c | 4 +-
gdk/x11/gdkdrawable-x11.c | 161 +-
gdk/x11/gdkevents-x11.c | 140 +-
gdk/x11/gdkeventsource.c | 7 +-
gdk/x11/gdkgc-x11.c | 10 +-
gdk/x11/gdkgeometry-x11.c | 819 +---
gdk/x11/gdkinput-none.c | 19 +-
gdk/x11/gdkinput-x11.c | 257 +-
gdk/x11/gdkinput-xfree.c | 289 +-
gdk/x11/gdkinput.c | 231 +-
gdk/x11/gdkinputprivate.h | 43 +-
gdk/x11/gdkmain-x11.c | 331 +-
gdk/x11/gdkpixmap-x11.c | 30 +-
gdk/x11/gdkprivate-x11.h | 17 +-
gdk/x11/gdkproperty-x11.c | 13 +-
gdk/x11/gdkselection-x11.c | 7 +-
gdk/x11/gdkwindow-x11.c | 1715 ++----
gdk/x11/gdkwindow-x11.h | 39 +-
gtk/Makefile.am | 13 +-
gtk/gtk.symbols | 9 +
gtk/gtkactivatable.c | 4 +-
gtk/gtkbbox.c | 355 ++-
gtk/gtkbuilderparser.c | 36 +-
gtk/gtkbutton.c | 35 +-
gtk/gtkcalendar.c | 7 +-
gtk/gtkcellrendererpixbuf.c | 155 +-
gtk/gtkcellview.c | 38 +-
gtk/gtkcellview.h | 2 +
gtk/gtkcombobox.c | 29 +-
gtk/gtkdnd.c | 6 +-
gtk/gtkentrycompletion.c | 4 +-
gtk/gtkfilechooser.c | 11 +-
gtk/gtkfilechooserdefault.c | 30 +-
gtk/gtkfilechooserdialog.c | 1 -
gtk/gtkfilechooserprivate.h | 1 +
gtk/gtkfilechoosersettings.c | 2 +-
gtk/gtkfilechooserutils.c | 2 +-
gtk/gtkfontsel.c | 2 +-
gtk/gtkhandlebox.c | 3 +-
gtk/gtkhbbox.c | 212 +-
gtk/gtkhbbox.h | 3 +
gtk/gtkiconcache.c | 4 +-
gtk/gtkiconview.c | 25 +-
gtk/gtkinfobar.c | 142 +-
gtk/gtkliststore.c | 22 +-
gtk/gtkmenu.c | 101 +-
gtk/gtkmenu.h | 5 +
gtk/gtkmenuitem.c | 46 +
gtk/gtkmountoperation-stub.c | 68 +
gtk/gtkmountoperation-x11.c | 969 ++++
gtk/gtkmountoperation.c | 601 ++-
gtk/gtkmountoperationprivate.h | 53 +
gtk/gtknotebook.c | 19 +-
gtk/gtkprintoperation.c | 2 +-
gtk/gtkprintunixdialog.c | 1227 ++--
gtk/gtkrecentmanager.c | 7 +-
gtk/gtkrecentmanager.h | 2 +-
gtk/gtkscalebutton.c | 21 +-
gtk/gtksocket-x11.c | 10 +-
gtk/gtkstatusicon.c | 99 +-
gtk/gtkstatusicon.h | 3 +
gtk/gtkstock.c | 2 +-
gtk/gtktrayicon-x11.c | 16 +-
gtk/gtktreeprivate.h | 2 +
gtk/gtktreestore.c | 2 +-
gtk/gtktreeview.c | 66 +-
gtk/gtktreeviewcolumn.c | 31 +-
gtk/gtktreeviewcolumn.h | 2 +
gtk/gtkvbbox.c | 204 +-
gtk/gtkvbbox.h | 2 +
gtk/gtkwidget.c | 111 +-
gtk/gtkwidget.h | 4 +
gtk/makefile.msc.in | 18 +-
gtk/tests/builder.c | 10 +-
gtk/tests/testing.c | 12 +-
gtk/tests/treeview-scrolling.c | 2 +-
gtk/updateiconcache.c | 4 +-
modules/other/gail/gailtreeview.c | 10 +-
po-properties/af.po | 465 +-
po-properties/am.po | 460 +-
po-properties/ang.po | 458 +-
po-properties/ar.po | 463 +-
po-properties/as.po | 464 +-
po-properties/ast.po | 457 +-
po-properties/az.po | 464 +-
po-properties/az_IR.po | 457 +-
po-properties/be.po | 465 +-
po-properties/be latin po | 463 +-
po-properties/bg.po | 463 +-
po-properties/bn.po | 465 +-
po-properties/bn_IN.po | 465 +-
po-properties/br.po | 458 +-
po-properties/bs.po | 464 +-
po-properties/ca.po | 463 +-
po-properties/ca valencia po | 463 +-
po-properties/crh.po | 467 +-
po-properties/cs.po | 463 +-
po-properties/cy.po | 468 +-
po-properties/da.po | 3445 ++++++------
po-properties/de.po | 464 +-
po-properties/dz.po | 470 +-
po-properties/el.po | 463 +-
po-properties/en_CA.po | 463 +-
po-properties/en_GB.po | 463 +-
po-properties/eo.po | 457 +-
po-properties/es.po | 3433 ++++++------
po-properties/et.po | 463 +-
po-properties/eu.po | 464 +-
po-properties/fa.po | 461 +-
po-properties/fi.po | 463 +-
po-properties/fr.po | 463 +-
po-properties/ga.po | 460 +-
po-properties/gl.po | 463 +-
po-properties/gu.po | 463 +-
po-properties/he.po | 461 +-
po-properties/hi.po | 463 +-
po-properties/hr.po | 463 +-
po-properties/hu.po | 463 +-
po-properties/hy.po | 460 +-
po-properties/ia.po | 459 +-
po-properties/id.po | 467 +-
po-properties/io.po | 457 +-
po-properties/is.po | 462 +-
po-properties/it.po | 466 +-
po-properties/ja.po | 463 +-
po-properties/ka.po | 463 +-
po-properties/kn.po | 463 +-
po-properties/ko.po | 463 +-
po-properties/ku.po | 458 +-
po-properties/li.po | 465 +-
po-properties/lt.po | 463 +-
po-properties/lv.po | 463 +-
po-properties/mai.po | 463 +-
po-properties/mi.po | 459 +-
po-properties/mk.po | 463 +-
po-properties/ml.po | 463 +-
po-properties/mn.po | 468 +-
po-properties/mr.po | 463 +-
po-properties/ms.po | 464 +-
po-properties/nb.po | 463 +-
po-properties/ne.po | 463 +-
po-properties/nl.po | 464 +-
po-properties/nn.po | 464 +-
po-properties/nso.po | 465 +-
po-properties/oc.po | 460 +-
po-properties/or.po | 3672 ++++++------
po-properties/pa.po | 463 +-
po-properties/pl.po | 463 +-
po-properties/ps.po | 461 +-
po-properties/pt.po | 463 +-
po-properties/pt_BR.po | 465 +-
po-properties/ro.po | 463 +-
po-properties/ru.po | 463 +-
po-properties/rw.po | 463 +-
po-properties/si.po | 462 +-
po-properties/sk.po | 463 +-
po-properties/sl.po | 463 +-
po-properties/sq.po | 463 +-
po-properties/sr.po | 463 +-
po-properties/sr ije po | 463 +-
po-properties/sr latin po | 463 +-
po-properties/sv.po | 463 +-
po-properties/ta.po | 463 +-
po-properties/te.po | 463 +-
po-properties/th.po | 460 +-
po-properties/tk.po | 460 +-
po-properties/tr.po | 467 +-
po-properties/tt.po | 461 +-
po-properties/uk.po | 463 +-
po-properties/ur.po | 457 +-
po-properties/uz.po | 461 +-
po-properties/uz cyrillic po | 461 +-
po-properties/vi.po | 463 +-
po-properties/wa.po | 470 +-
po-properties/xh.po | 463 +-
po-properties/yi.po | 464 +-
po-properties/zh_CN.po | 463 +-
po-properties/zh_HK.po | 463 +-
po-properties/zh_TW.po | 463 +-
po/Makefile.in.in | 2 +
po/af.po | 334 +-
po/am.po | 332 +-
po/ang.po | 332 +-
po/ar.po | 336 +-
po/as.po | 336 +-
po/ast.po | 336 +-
po/az.po | 332 +-
po/az_IR.po | 331 +-
po/be.po | 332 +-
po/be latin po | 336 +-
po/bg.po | 336 +-
po/bn.po | 332 +-
po/bn_IN.po | 2202 ++++----
po/br.po | 332 +-
po/bs.po | 332 +-
po/ca.po | 336 +-
po/ca valencia po | 334 +-
po/crh.po | 337 +-
po/cs.po | 336 +-
po/cy.po | 334 +-
po/da.po | 336 +-
po/de.po | 387 +-
po/dz.po | 332 +-
po/el.po | 336 +-
po/en_CA.po | 334 +-
po/en_GB.po | 336 +-
po/eo.po | 332 +-
po/es.po | 312 +-
po/et.po | 137 +-
po/eu.po | 336 +-
po/fa.po | 332 +-
po/fi.po | 336 +-
po/fr.po | 336 +-
po/ga.po | 336 +-
po/gl.po | 336 +-
po/gu.po | 336 +-
po/he.po | 336 +-
po/hi.po | 2195 ++++----
po/hr.po | 334 +-
po/hu.po | 336 +-
po/hy.po | 332 +-
po/ia.po | 332 +-
po/id.po | 332 +-
po/io.po | 333 +-
po/is.po | 332 +-
po/it.po | 337 +-
po/ja.po | 336 +-
po/ka.po | 336 +-
po/kn.po | 336 +-
po/ko.po | 336 +-
po/ku.po | 334 +-
po/li.po | 332 +-
po/lt.po | 336 +-
po/lv.po | 336 +-
po/mai.po | 336 +-
po/mi.po | 332 +-
po/mk.po | 334 +-
po/ml.po | 336 +-
po/mn.po | 333 +-
po/mr.po | 336 +-
po/ms.po | 332 +-
po/nb.po | 2158 ++++----
po/ne.po | 332 +-
po/nl.po | 341 +-
po/nn.po | 337 +-
po/nso.po | 332 +-
po/oc.po | 333 +-
po/or.po | 336 +-
po/pa.po | 336 +-
po/pl.po | 336 +-
po/ps.po | 334 +-
po/pt.po | 336 +-
po/pt_BR.po | 2161 ++++----
po/ro.po | 336 +-
po/ru.po | 336 +-
po/rw.po | 335 +-
po/si.po | 334 +-
po/sk.po | 336 +-
po/sl.po | 336 +-
po/sq.po | 337 +-
po/sr.po | 336 +-
po/sr ije po | 332 +-
po/sr latin po | 336 +-
po/sv.po | 2831 +++++-----
po/ta.po | 336 +-
po/te.po | 336 +-
po/th.po | 336 +-
po/tk.po | 332 +-
po/tr.po | 337 +-
po/tt.po | 332 +-
po/uk.po | 336 +-
po/ur.po | 332 +-
po/uz.po | 334 +-
po/uz cyrillic po | 334 +-
po/vi.po | 428 +-
po/wa.po | 332 +-
po/xh.po | 332 +-
po/yi.po | 332 +-
po/zh_CN.po | 336 +-
po/zh_HK.po | 336 +-
po/zh_TW.po | 336 +-
tests/Makefile.am | 26 +
tests/flicker.c | 216 +
tests/gtkoffscreenbox.c | 653 +++
tests/gtkoffscreenbox.h | 52 +
tests/testbuttons.c | 145 +
tests/testclientmessage.c | 244 +-
tests/testgtk.c | 2 +-
tests/testoffscreen.c | 381 ++
tests/testorientable.c | 111 +
tests/testwindows.c | 1063 ++++
375 files changed, 72481 insertions(+), 55813 deletions(-)
---
diff --cc gdk/gdkevents.c
index 079da43,3af4195..5d35a7d
--- a/gdk/gdkevents.c
+++ b/gdk/gdkevents.c
@@@ -885,100 -943,19 +944,108 @@@ gdk_event_get_axis (const GdkEvent *eve
void
gdk_event_request_motions (const GdkEventMotion *event)
{
+ GdkDisplay *display;
+
g_return_if_fail (event != NULL);
+
if (event->type == GDK_MOTION_NOTIFY && event->is_hint)
- gdk_device_get_state (event->device, event->window, NULL, NULL);
+ {
+ gdk_device_get_state (event->device, event->window, NULL, NULL);
+
+ display = gdk_drawable_get_display (event->window);
+ _gdk_display_enable_motion_hints (display);
+ }
}
+static gboolean
+gdk_events_get_axis_distances (GdkEvent *event1,
+ GdkEvent *event2,
+ gdouble *x_distance,
+ gdouble *y_distance,
+ gdouble *distance)
+{
+ gdouble x1, x2, y1, y2;
+ gdouble xd, yd;
+
+ if (!gdk_event_get_coords (event1, &x1, &y1) ||
+ !gdk_event_get_coords (event2, &x2, &y2))
+ return FALSE;
+
+ xd = x2 - x1;
+ yd = y2 - y1;
+
+ if (x_distance)
+ *x_distance = xd;
+
+ if (y_distance)
+ *y_distance = yd;
+
+ if (distance)
+ *distance = sqrt ((xd * xd) + (yd * yd));
+
+ return TRUE;
+}
+
+gboolean
+gdk_events_get_distance (GdkEvent *event1,
+ GdkEvent *event2,
+ gdouble *distance)
+{
+ return gdk_events_get_axis_distances (event1, event2,
+ NULL, NULL,
+ distance);
+}
+
+gboolean
+gdk_events_get_angle (GdkEvent *event1,
+ GdkEvent *event2,
+ gdouble *angle)
+{
+ gdouble x_distance, y_distance, distance;
+
+ if (!gdk_events_get_axis_distances (event1, event2,
+ &x_distance, &y_distance,
+ &distance))
+ return FALSE;
+
+ if (angle)
+ {
+ *angle = atan2 (x_distance, y_distance);
+
+ /* Invert angle */
+ *angle = (2 * G_PI) - *angle;
+
+ /* Shift it 90° */
+ *angle += G_PI / 2;
+
+ /* And constraint it to 0°-360° */
+ *angle = fmod (*angle, 2 * G_PI);
+ }
+
+ return TRUE;
+}
+
+gboolean
+gdk_events_get_center (GdkEvent *event1,
+ GdkEvent *event2,
+ gdouble *x,
+ gdouble *y)
+{
+ gdouble x1, x2, y1, y2;
+
+ if (!gdk_event_get_coords (event1, &x1, &y1) ||
+ !gdk_event_get_coords (event2, &x2, &y2))
+ return FALSE;
+
+ if (x)
+ *x = (x2 + x1) / 2;
+
+ if (y)
+ *y = (y2 + y1) / 2;
+
+ return TRUE;
+}
+
/**
* gdk_event_set_screen:
* @event: a #GdkEvent
diff --cc gdk/x11/gdkdevicemanager-core.c
index 658616d,f4dce3f..a78b8ef
--- a/gdk/x11/gdkdevicemanager-core.c
+++ b/gdk/x11/gdkdevicemanager-core.c
@@@ -661,17 -646,8 +646,9 @@@ gdk_device_manager_core_translate_even
}
}
- #if 0
- /* Tell XInput stuff about it if appropriate */
- if (window_private &&
- !GDK_WINDOW_DESTROYED (window) &&
- window_private->extension_events != 0)
- _gdk_input_enter_event (&xevent->xcrossing, window);
- #endif
-
event->crossing.type = GDK_ENTER_NOTIFY;
event->crossing.window = window;
+ event->crossing.device = device_manager->core_pointer;
/* If the subwindow field of the XEvent is non-NULL, then
* lookup the corresponding GdkWindow.
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]