]> Pileus Git - ~andy/gtk/blobdiff - gdk/quartz/gdkprivate-quartz.h
GtkImageAccessible: add a private struct
[~andy/gtk] / gdk / quartz / gdkprivate-quartz.h
index cd83030da4af2a4ed26b5100f49cafebcf3e5caf..71fdbb9b403faa1581d503cf7c95f1c7034623bd 100644 (file)
@@ -13,9 +13,7 @@
  * 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/>.
  */
 
 #ifndef __GDK_PRIVATE_QUARTZ_H__
 #define GDK_QUARTZ_RELEASE_POOL [pool release]
 
 #include <gdk/gdkprivate.h>
-#include <gdk/quartz/gdkwindow-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 "config.h"
 
-#define GDK_DRAG_CONTEXT_PRIVATE(context) ((GdkDragContextPrivate *) GDK_DRAG_CONTEXT (context)->windowing_data)
-
-typedef struct _GdkCursorPrivate GdkCursorPrivate;
-typedef struct _GdkDragContextPrivate GdkDragContextPrivate;
-
-struct _GdkVisualClass
-{
-  GObjectClass parent_class;
-};
-
-struct _GdkCursorPrivate
-{
-  GdkCursor cursor;
-  NSCursor *nscursor;
-};
-
-struct _GdkDragContextPrivate
-{
-  id <NSDraggingInfo> dragging_info;
-  GdkDevice *device;
-};
-
 extern GdkDisplay *_gdk_display;
 extern GdkScreen *_gdk_screen;
 extern GdkWindow *_gdk_root;
@@ -65,49 +44,13 @@ extern GdkDragContext *_gdk_quartz_drag_source_context;
 #define GDK_WINDOW_IS_QUARTZ(win)        (GDK_IS_WINDOW_IMPL_QUARTZ (((GdkWindow *)win)->impl))
 
 /* Initialization */
-void _gdk_windowing_update_window_sizes     (GdkScreen *screen);
-void _gdk_windowing_window_init             (void);
+void _gdk_quartz_window_init_windowing      (GdkDisplay *display,
+                                             GdkScreen  *screen);
 void _gdk_quartz_events_init                (void);
-void _gdk_quartz_visual_init                (GdkScreen *screen);
-void _gdk_quartz_input_init                 (void);
 void _gdk_quartz_event_loop_init            (void);
 
-/* GC */
-typedef enum {
-  GDK_QUARTZ_CONTEXT_STROKE = 1 << 0,
-  GDK_QUARTZ_CONTEXT_FILL   = 1 << 1,
-  GDK_QUARTZ_CONTEXT_TEXT   = 1 << 2
-} GdkQuartzContextValuesMask;
-
-/* 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);
-
-void       _gdk_quartz_window_set_needs_display_in_region (GdkWindow    *window,
-                                                           cairo_region_t    *region);
-
-void       _gdk_quartz_window_update_position           (GdkWindow    *window);
+/* Cursor */
+NSCursor   *_gdk_quartz_cursor_get_ns_cursor        (GdkCursor *cursor);
 
 /* Events */
 typedef enum {
@@ -117,9 +60,12 @@ typedef enum {
 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);
+
+GdkModifierType _gdk_quartz_events_get_current_keyboard_modifiers (void);
+GdkModifierType _gdk_quartz_events_get_current_mouse_modifiers    (void);
 
 void         _gdk_quartz_events_send_enter_notify_event (GdkWindow *window);
+void         _gdk_quartz_events_break_all_grabs         (guint32    time);
 
 /* Event loop */
 gboolean   _gdk_quartz_event_loop_check_pending (void);
@@ -130,31 +76,27 @@ void       _gdk_quartz_event_loop_release_event (NSEvent *event);
 GdkEventType _gdk_quartz_keys_event_type  (NSEvent   *event);
 gboolean     _gdk_quartz_keys_is_modifier (guint      keycode);
 
-/* Geometry */
-void        _gdk_quartz_window_scroll      (GdkWindow       *window,
-                                            gint             dx,
-                                            gint             dy);
-void        _gdk_quartz_window_translate   (GdkWindow       *window,
-                                            cairo_region_t  *area,
-                                            gint             dx,
-                                            gint             dy);
-gboolean    _gdk_quartz_window_queue_antiexpose  (GdkWindow *window,
-                                                  cairo_region_t *area);
-
-void        _gdk_quartz_window_set_startup_id    (GdkWindow   *window,
-                                                  const gchar *startup_id);
+/* Drag and Drop */
 void        _gdk_quartz_window_register_dnd      (GdkWindow   *window);
 GdkDragContext * _gdk_quartz_window_drag_begin   (GdkWindow   *window,
                                                   GdkDevice   *device,
                                                   GList       *targets);
 
+/* Display */
+
+GdkDisplay *    _gdk_quartz_display_open (const gchar *name);
 
-void     _gdk_quartz_display_sync         (GdkDisplay *display);
-void     _gdk_quartz_display_flush        (GdkDisplay *display);
-GList *  _gdk_quartz_display_list_devices (GdkDisplay *display);
+/* 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,
@@ -171,15 +113,10 @@ void       _gdk_quartz_display_get_default_cursor_size (GdkDisplay *display,
 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_notify_startup_complete    (GdkDisplay *display,
-                                                           const gchar *id);
-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);
 void       _gdk_quartz_display_create_window_impl (GdkDisplay    *display,
                                                    GdkWindow     *window,
                                                    GdkWindow     *real_parent,
@@ -187,25 +124,56 @@ void       _gdk_quartz_display_create_window_impl (GdkDisplay    *display,
                                                    GdkEventMask   event_mask,
                                                    GdkWindowAttr *attributes,
                                                    gint           attributes_mask);
-GdkKeymap * _gdk_quartz_display_get_keymap (GdkDisplay *display);
-
-
-GdkDisplay *    _gdk_quartz_display_open (const gchar *name);
 
-GdkNativeWinodw _gdk_quartz_display_get_drag_get_protocol (GdkDisplay      *display,
-                                                           GdkNativeWindow *xid,
-                                                           GdkDragProtocol *protocol,
-                                                           guint            version);
-
-
-gboolean    _gdk_quartz_display_send_client_message       (GdkDisplay      *display,
-                                                           GdkEvent        *event,
-                                                           GdkNativeWindow  winid);
-void        _gdk_quartz_display_add_client_message_filter (GdkDisplay      *display,
-                                                           GdkAtom          message_type,
-                                                           GdkFilterFunc    func,
-                                                           gpointer         data);
+/* 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);
+
+/* 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);
@@ -225,16 +193,80 @@ void          _gdk_quartz_screen_query_depths               (GdkScreen      *scr
 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);
 
-
+/* 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_device_check_extension_events (GdkDevice *device);
+
+/* 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);
+
+void       _gdk_quartz_window_update_position           (GdkWindow    *window);
+
+
+/* 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);
+
+/* 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);
 
 
 #endif /* __GDK_PRIVATE_QUARTZ_H__ */