Mercurial > dwindows
view gtk/browser.cpp @ 1955:91541efcea10
Mac: Complete refactoring of the Mac code using a handful of macros.
This allows using the old mutex system for thread safety pre-mojave.
On Mojave and later instead we create two functions, an entrypoint
and an actual code function which will get called on the main thread.
This avoids Apples new artifical checks that the code is running
on the main thread, since it actually is running on the main thread
even though the actual caller might not be.
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Wed, 24 Jul 2019 17:22:19 +0000 |
parents | fb59f9eeeecd |
children |
line wrap: on
line source
#ifdef HAVE_CONFIG_H # include <config.h> #endif #define MOZILLA_INTERNAL_API #include <gtk/gtk.h> #include <gtkmozembed.h> #include <gtkmozembed_internal.h> #include "nsIDOMMouseEvent.h" /** * Takes a pointer to a mouse event and returns the mouse * button number or -1 on error. */ extern "C" gint mozilla_get_mouse_event_button(gpointer event) { gint button = 0; glong x,y; g_return_val_if_fail (event, -1); /* the following lines were found in the Galeon source */ nsIDOMMouseEvent *aMouseEvent = (nsIDOMMouseEvent *) event; aMouseEvent->GetButton ((PRUint16 *) &button); aMouseEvent->GetClientX ((PRInt32 *) &x); aMouseEvent->GetClientY ((PRInt32 *) &y); /* for some reason we get different numbers on PPC, this fixes * that up... -- MattA */ if (button == 65536) { button = 1; } else if (button == 131072) { button = 2; } return button; } extern "C" gint mozilla_get_mouse_location( gpointer event, glong *x, glong *y) { g_return_val_if_fail (event, -1); /* the following lines were found in the Galeon source */ nsIDOMMouseEvent *aMouseEvent = (nsIDOMMouseEvent *) event; aMouseEvent->GetClientX ((PRInt32 *) x); aMouseEvent->GetClientY ((PRInt32 *) y); return 0; }