[gtk+/xi2: 509/1239] Merge branch 'events-refactor' into xi2



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]