]> Pileus Git - ~andy/gtk/blobdiff - gdk/quartz/gdkdevice-core-quartz.c
Change FSF Address
[~andy/gtk] / gdk / quartz / gdkdevice-core-quartz.c
index 9aaba34395b81a055fed8d75006c4237cd4465ff..9a7852735010902b8a884b093ea50725a812eecc 100644 (file)
  * Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
  */
 
 #include "config.h"
 
+#include <gdk/gdkdeviceprivate.h>
 #include <gdk/gdkdisplayprivate.h>
 
 #import "GdkQuartzView.h"
-#include "gdkwindow-quartz.h"
-#include "gdkcursor-quartz.h"
+#include "gdkquartzwindow.h"
+#include "gdkquartzcursor.h"
 #include "gdkprivate-quartz.h"
-#include "gdkdevice-core-quartz.h"
+#include "gdkquartzdevice-core.h"
+
+struct _GdkQuartzDeviceCore
+{
+  GdkDevice parent_instance;
+};
+
+struct _GdkQuartzDeviceCoreClass
+{
+  GdkDeviceClass parent_class;
+};
 
 static gboolean gdk_quartz_device_core_get_history (GdkDevice      *device,
                                                     GdkWindow      *window,
@@ -159,18 +168,12 @@ gdk_quartz_device_core_set_window_cursor (GdkDevice *device,
                                           GdkWindow *window,
                                           GdkCursor *cursor)
 {
-  GdkQuartzCursor *cursor_private;
   NSCursor *nscursor;
 
-  cursor_private = (GdkQuartzCursor *) cursor;
-
   if (GDK_WINDOW_DESTROYED (window))
     return;
 
-  if (!cursor)
-    nscursor = [NSCursor arrowCursor];
-  else
-    nscursor = cursor_private->nscursor;
+  nscursor = _gdk_quartz_cursor_get_ns_cursor (cursor);
 
   [nscursor set];
 }
@@ -208,7 +211,9 @@ gdk_quartz_device_core_query_state_helper (GdkWindow       *window,
 
   toplevel = gdk_window_get_effective_toplevel (window);
 
-  *mask = _gdk_quartz_events_get_current_event_mask ();
+  if (mask)
+    *mask = _gdk_quartz_events_get_current_keyboard_modifiers () |
+        _gdk_quartz_events_get_current_mouse_modifiers ();
 
   /* Get the y coordinate, needs to be flipped. */
   if (window == _gdk_root)
@@ -261,7 +266,6 @@ gdk_quartz_device_core_query_state (GdkDevice        *device,
                                     gint             *win_y,
                                     GdkModifierType  *mask)
 {
-  GdkDisplay *display;
   GdkWindow *found_window;
   NSPoint point;
   gint x_tmp, y_tmp;
@@ -269,10 +273,6 @@ gdk_quartz_device_core_query_state (GdkDevice        *device,
   found_window = gdk_quartz_device_core_query_state_helper (window, device,
                                                             win_x, win_y,
                                                             mask);
-  if (!found_window)
-    return FALSE;
-
-  display = gdk_window_get_display (window);
 
   if (root_window)
     *root_window = _gdk_root;
@@ -352,7 +352,8 @@ gdk_quartz_device_core_window_at_position (GdkDevice       *device,
     *win_y = found_window ? y_tmp : -1;
 
   if (mask)
-    *mask = _gdk_quartz_events_get_current_event_mask ();
+    *mask = _gdk_quartz_events_get_current_keyboard_modifiers () |
+        _gdk_quartz_events_get_current_mouse_modifiers ();
 
   return found_window;
 }