]> Pileus Git - ~andy/gtk/blobdiff - gdk/quartz/gdkprivate-quartz.h
Use AM_CPPFLAGS instead the obsolete INCLUDES
[~andy/gtk] / gdk / quartz / gdkprivate-quartz.h
index 177d0fbb7f0b38bf62eec825494fd808b712c693..6a05e2501bc0eeffad4c2bce143633e425aa9239 100644 (file)
@@ -1,6 +1,6 @@
 /* gdkwindow-quartz.c
  *
- * Copyright (C) 2005 Imendio AB
+ * Copyright (C) 2005-2007 Imendio AB
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
 #ifndef __GDK_PRIVATE_QUARTZ_H__
 #define __GDK_PRIVATE_QUARTZ_H__
 
-#include <config.h>
-
 #define GDK_QUARTZ_ALLOC_POOL NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]
 #define GDK_QUARTZ_RELEASE_POOL [pool release]
 
 #include <gdk/gdkprivate.h>
-#include <gdk/quartz/gdkpixmap-quartz.h>
+#include <gdk/quartz/gdkquartz.h>
+#include <gdk/quartz/gdkdevicemanager-core-quartz.h>
+#include <gdk/quartz/gdkdnd-quartz.h>
+#include <gdk/quartz/gdkscreen-quartz.h>
 #include <gdk/quartz/gdkwindow-quartz.h>
 
 #include <gdk/gdk.h>
 
 #include "gdkinternals.h"
 
-#define GDK_TYPE_GC_QUARTZ              (_gdk_gc_quartz_get_type ())
-#define GDK_GC_QUARTZ(object)           (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_GC_QUARTZ, GdkGCQuartz))
-#define GDK_GC_QUARTZ_CLASS(klass)      (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_GC_QUARTZ, GdkGCQuartzClass))
-#define GDK_IS_GC_QUARTZ(object)        (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_GC_QUARTZ))
-#define GDK_IS_GC_QUARTZ_CLASS(klass)   (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_GC_QUARTZ))
-#define GDK_GC_QUARTZ_GET_CLASS(obj)    (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_GC_QUARTZ, GdkGCQuartzClass))
+#include "config.h"
 
-#define GDK_DRAG_CONTEXT_PRIVATE(context) ((GdkDragContextPrivate *) GDK_DRAG_CONTEXT (context)->windowing_data)
+extern GdkDisplay *_gdk_display;
+extern GdkScreen *_gdk_screen;
+extern GdkWindow *_gdk_root;
 
-typedef struct _GdkCursorPrivate GdkCursorPrivate;
-typedef struct _GdkGCQuartz       GdkGCQuartz;
-typedef struct _GdkGCQuartzClass  GdkGCQuartzClass;
-typedef struct _GdkDragContextPrivate GdkDragContextPrivate;
+extern GdkDragContext *_gdk_quartz_drag_source_context;
 
-struct _GdkGCQuartz
-{
-  GdkGC parent_instance;
+#define GDK_WINDOW_IS_QUARTZ(win)        (GDK_IS_WINDOW_IMPL_QUARTZ (((GdkWindow *)win)->impl))
 
-  GdkGCValuesMask values_mask;
+/* Initialization */
+void _gdk_quartz_window_init_windowing      (GdkDisplay *display,
+                                             GdkScreen  *screen);
+void _gdk_quartz_events_init                (void);
+void _gdk_quartz_event_loop_init            (void);
 
-  gboolean have_clip_region;
-  gboolean have_clip_mask;
-  CGImageRef clip_mask;
-};
+/* Cursor */
+NSCursor   *_gdk_quartz_cursor_get_ns_cursor        (GdkCursor *cursor);
 
-struct _GdkGCQuartzClass
-{
-  GdkGCClass parent_class;
-};
+/* Events */
+typedef enum {
+  GDK_QUARTZ_EVENT_SUBTYPE_EVENTLOOP
+} GdkQuartzEventSubType;
 
-struct _GdkVisualClass
-{
-  GObjectClass parent_class;
-};
+void         _gdk_quartz_events_update_focus_window    (GdkWindow *new_window,
+                                                        gboolean   got_focus);
+void         _gdk_quartz_events_send_map_event         (GdkWindow *window);
+GdkEventMask _gdk_quartz_events_get_current_event_mask (void);
 
-struct _GdkCursorPrivate
-{
-  GdkCursor cursor;
-  NSCursor *nscursor;
-};
+void         _gdk_quartz_events_send_enter_notify_event (GdkWindow *window);
 
-struct _GdkDragContextPrivate
-{
-  id <NSDraggingInfo> dragging_info;
-};
+/* Event loop */
+gboolean   _gdk_quartz_event_loop_check_pending (void);
+NSEvent *  _gdk_quartz_event_loop_get_pending   (void);
+void       _gdk_quartz_event_loop_release_event (NSEvent *event);
 
-extern GdkDisplay *_gdk_display;
-extern GdkScreen *_gdk_screen;
-extern GdkWindow *_gdk_root;
+/* Keys */
+GdkEventType _gdk_quartz_keys_event_type  (NSEvent   *event);
+gboolean     _gdk_quartz_keys_is_modifier (guint      keycode);
 
-extern GdkDragContext *_gdk_quartz_drag_source_context;
+/* Drag and Drop */
+void        _gdk_quartz_window_register_dnd      (GdkWindow   *window);
+GdkDragContext * _gdk_quartz_window_drag_begin   (GdkWindow   *window,
+                                                  GdkDevice   *device,
+                                                  GList       *targets);
 
-GType _gdk_gc_quartz_get_type (void);
+/* Display */
 
-GdkGC *_gdk_quartz_gc_new (GdkDrawable      *drawable,
-                         GdkGCValues      *values,
-                         GdkGCValuesMask   values_mask);
+GdkDisplay *    _gdk_quartz_display_open (const gchar *name);
 
-/* Initialization */
-void _gdk_windowing_window_init (void);
-void _gdk_events_init           (void);
-void _gdk_visual_init           (void);
+/* Display methods - events */
+void     _gdk_quartz_display_queue_events (GdkDisplay *display);
+gboolean _gdk_quartz_display_has_pending  (GdkDisplay *display);
+
+void       _gdk_quartz_display_event_data_copy (GdkDisplay     *display,
+                                                const GdkEvent *src,
+                                                GdkEvent       *dst);
+void       _gdk_quartz_display_event_data_free (GdkDisplay     *display,
+                                                GdkEvent       *event);
+
+/* Display methods - cursor */
+GdkCursor *_gdk_quartz_display_get_cursor_for_type     (GdkDisplay    *display,
+                                                        GdkCursorType  type);
+GdkCursor *_gdk_quartz_display_get_cursor_for_name     (GdkDisplay    *display,
+                                                        const gchar   *name);
+GdkCursor *_gdk_quartz_display_get_cursor_for_pixbuf   (GdkDisplay    *display,
+                                                        GdkPixbuf     *pixbuf,
+                                                        gint           x,
+                                                        gint           y);
+gboolean   _gdk_quartz_display_supports_cursor_alpha   (GdkDisplay    *display);
+gboolean   _gdk_quartz_display_supports_cursor_color   (GdkDisplay    *display);
+void       _gdk_quartz_display_get_default_cursor_size (GdkDisplay *display,
+                                                        guint      *width,
+                                                        guint      *height);
+void       _gdk_quartz_display_get_maximal_cursor_size (GdkDisplay *display,
+                                                        guint      *width,
+                                                        guint      *height);
+
+/* Display methods - window */
+void       _gdk_quartz_display_before_process_all_updates (GdkDisplay *display);
+void       _gdk_quartz_display_after_process_all_updates  (GdkDisplay *display);
+void       _gdk_quartz_display_create_window_impl (GdkDisplay    *display,
+                                                   GdkWindow     *window,
+                                                   GdkWindow     *real_parent,
+                                                   GdkScreen     *screen,
+                                                   GdkEventMask   event_mask,
+                                                   GdkWindowAttr *attributes,
+                                                   gint           attributes_mask);
+
+/* Display methods - keymap */
+GdkKeymap * _gdk_quartz_display_get_keymap (GdkDisplay *display);
+
+/* Display methods - selection */
+gboolean    _gdk_quartz_display_set_selection_owner (GdkDisplay *display,
+                                                     GdkWindow  *owner,
+                                                     GdkAtom     selection,
+                                                     guint32     time,
+                                                     gboolean    send_event);
+GdkWindow * _gdk_quartz_display_get_selection_owner (GdkDisplay *display,
+                                                     GdkAtom     selection);
+gint        _gdk_quartz_display_get_selection_property (GdkDisplay     *display,
+                                                        GdkWindow      *requestor,
+                                                        guchar        **data,
+                                                        GdkAtom        *ret_type,
+                                                        gint           *ret_format);
+void        _gdk_quartz_display_convert_selection      (GdkDisplay     *display,
+                                                        GdkWindow      *requestor,
+                                                        GdkAtom         selection,
+                                                        GdkAtom         target,
+                                                        guint32         time);
+gint        _gdk_quartz_display_text_property_to_utf8_list (GdkDisplay     *display,
+                                                            GdkAtom         encoding,
+                                                            gint            format,
+                                                            const guchar   *text,
+                                                            gint            length,
+                                                            gchar        ***list);
+gchar *     _gdk_quartz_display_utf8_to_string_target      (GdkDisplay     *displayt,
+                                                            const gchar    *str);
+
+
+/* Display manager */
+void    _gdk_quartz_display_manager_add_display    (GdkDisplayManager *manager,
+                                                    GdkDisplay        *display);
+void    _gdk_quartz_display_manager_remove_display (GdkDisplayManager *manager,
+                                                    GdkDisplay        *display);
+
+/* Display manager methods - events */
+GdkAtom _gdk_quartz_display_manager_atom_intern   (GdkDisplayManager *manager,
+                                                   const gchar       *atom_name,
+                                                   gboolean           copy_name);
+gchar * _gdk_quartz_display_manager_get_atom_name (GdkDisplayManager *manager,
+                                                   GdkAtom            atom);
+
+/* Screen */
+GdkScreen  *_gdk_quartz_screen_new                      (void);
+void        _gdk_quartz_screen_update_window_sizes      (GdkScreen *screen);
 
-void _gdk_quartz_set_context_fill_color_from_pixel (CGContextRef context, GdkColormap *colormap, guint32 pixel);
-void _gdk_quartz_set_context_stroke_color_from_pixel (CGContextRef context, GdkColormap *colormap, guint32 pixel);
+/* Screen methods - visual */
+GdkVisual *   _gdk_quartz_screen_get_rgba_visual            (GdkScreen      *screen);
+GdkVisual *   _gdk_quartz_screen_get_system_visual          (GdkScreen      *screen);
+gint          _gdk_quartz_screen_visual_get_best_depth      (GdkScreen      *screen);
+GdkVisualType _gdk_quartz_screen_visual_get_best_type       (GdkScreen      *screen);
+GdkVisual *   _gdk_quartz_screen_get_system_visual          (GdkScreen      *screen);
+GdkVisual*    _gdk_quartz_screen_visual_get_best            (GdkScreen      *screen);
+GdkVisual*    _gdk_quartz_screen_visual_get_best_with_depth (GdkScreen      *screen,
+                                                             gint            depth);
+GdkVisual*    _gdk_quartz_screen_visual_get_best_with_type  (GdkScreen      *screen,
+                                                             GdkVisualType   visual_type);
+GdkVisual*    _gdk_quartz_screen_visual_get_best_with_both  (GdkScreen      *screen,
+                                                             gint            depth,
+                                                             GdkVisualType   visual_type);
+void          _gdk_quartz_screen_query_depths               (GdkScreen      *screen,
+                                                             gint          **depths,
+                                                             gint           *count);
+void          _gdk_quartz_screen_query_visual_types         (GdkScreen      *screen,
+                                                             GdkVisualType **visual_types,
+                                                             gint           *count);
+void          _gdk_quartz_screen_init_visuals               (GdkScreen      *screen);
+GList *       _gdk_quartz_screen_list_visuals               (GdkScreen      *screen);
 
-void _gdk_quartz_update_context_from_gc (CGContextRef context, GdkGC *gc);
+/* Screen methods - events */
+void        _gdk_quartz_screen_broadcast_client_message (GdkScreen   *screen,
+                                                         GdkEvent    *event);
+gboolean    _gdk_quartz_screen_get_setting              (GdkScreen   *screen,
+                                                         const gchar *name,
+                                                         GValue      *value);
 
-void _gdk_quartz_update_focus_window (GdkWindow *new_window);
 
-gint _gdk_quartz_get_inverted_screen_y (gint y);
+/* Window */
+gboolean    _gdk_quartz_window_is_ancestor          (GdkWindow *ancestor,
+                                                     GdkWindow *window);
+void       _gdk_quartz_window_gdk_xy_to_xy          (gint       gdk_x,
+                                                     gint       gdk_y,
+                                                     gint      *ns_x,
+                                                     gint      *ns_y);
+void       _gdk_quartz_window_xy_to_gdk_xy          (gint       ns_x,
+                                                     gint       ns_y,
+                                                     gint      *gdk_x,
+                                                     gint      *gdk_y);
+void       _gdk_quartz_window_nspoint_to_gdk_xy     (NSPoint    point,
+                                                     gint      *x,
+                                                     gint      *y);
+GdkWindow *_gdk_quartz_window_find_child            (GdkWindow *window,
+                                                    gint       x,
+                                                    gint       y,
+                                                     gboolean   get_toplevel);
+void       _gdk_quartz_window_attach_to_parent      (GdkWindow *window);
+void       _gdk_quartz_window_detach_from_parent    (GdkWindow *window);
+void       _gdk_quartz_window_did_become_main       (GdkWindow *window);
+void       _gdk_quartz_window_did_resign_main       (GdkWindow *window);
+void       _gdk_quartz_window_debug_highlight       (GdkWindow *window,
+                                                     gint       number);
 
-GdkWindow *_gdk_quartz_get_mouse_window (void);
-void _gdk_quartz_update_mouse_window (GdkWindow *window);
+void       _gdk_quartz_window_update_position           (GdkWindow    *window);
 
-void _gdk_quartz_update_cursor (GdkWindow *window);
 
-GdkImage *_gdk_quartz_copy_to_image (GdkDrawable *drawable,
-                                    GdkImage    *image,
-                                    gint         src_x,
-                                    gint         src_y,
-                                    gint         dest_x,
-                                    gint         dest_y,
-                                    gint         width,
-                                    gint         height);
+/* Window methods - testing */
+void     _gdk_quartz_window_sync_rendering    (GdkWindow       *window);
+gboolean _gdk_quartz_window_simulate_key      (GdkWindow       *window,
+                                               gint             x,
+                                               gint             y,
+                                               guint            keyval,
+                                               GdkModifierType  modifiers,
+                                               GdkEventType     key_pressrelease);
+gboolean _gdk_quartz_window_simulate_button   (GdkWindow       *window,
+                                               gint             x,
+                                               gint             y,
+                                               guint            button,
+                                               GdkModifierType  modifiers,
+                                               GdkEventType     button_pressrelease);
 
-void _gdk_quartz_send_map_events (GdkWindow *window);
+/* Window methods - property */
+gboolean _gdk_quartz_window_get_property      (GdkWindow    *window,
+                                               GdkAtom       property,
+                                               GdkAtom       type,
+                                               gulong        offset,
+                                               gulong        length,
+                                               gint          pdelete,
+                                               GdkAtom      *actual_property_type,
+                                               gint         *actual_format_type,
+                                               gint         *actual_length,
+                                               guchar      **data);
+void     _gdk_quartz_window_change_property   (GdkWindow    *window,
+                                               GdkAtom       property,
+                                               GdkAtom       type,
+                                               gint          format,
+                                               GdkPropMode   mode,
+                                               const guchar *data,
+                                               gint          nelements);
+void     _gdk_quartz_window_delete_property   (GdkWindow    *window,
+                                               GdkAtom       property);
 
-extern GdkWindow *_gdk_quartz_keyboard_grab_window;
-extern GdkWindow *_gdk_quartz_pointer_grab_window;
 
 #endif /* __GDK_PRIVATE_QUARTZ_H__ */