]> Pileus Git - ~andy/gtk/blobdiff - gdk/gdk.h
Practically everything changed.
[~andy/gtk] / gdk / gdk.h
index ed18c73c77f4a435a87101746b3963aeba8e7257..b4adf414e7c27768c0d78d172ff3be286bccd1db 100644 (file)
--- a/gdk/gdk.h
+++ b/gdk/gdk.h
-/* GDK - The GIMP Drawing Kit
+/* GDK - The GTK+ Drawing Kit
  * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
  *
  * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
+ * modify it under the terms of the GNU Lesser General Public
  * License as published by the Free Software Foundation; either
  * version 2 of the License, or (at your option) any later version.
  *
  * This library is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.         See the GNU
- * Library General Public License for more details.
+ * Lesser General Public License for more details.
  *
- * You should have received a copy of the GNU Library General Public
+ * 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.
  */
 
 /*
- * Modified by the GTK+ Team and others 1997-1999.  See the AUTHORS
+ * Modified by the GTK+ Team and others 1997-2000.  See the AUTHORS
  * file for a list of people on the GTK+ Team.  See the ChangeLog
  * files for a list of changes.  These files are distributed with
- * GTK+ at ftp://ftp.gtk.org/pub/gtk/. 
+ * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
  */
 
 #ifndef __GDK_H__
 #define __GDK_H__
 
-#include <gdk/gdkcc.h>
+#define __GDK_H_INSIDE__
+
+#include <gdk/gdkapplaunchcontext.h>
+#include <gdk/gdkcairo.h>
 #include <gdk/gdkcolor.h>
 #include <gdk/gdkcursor.h>
+#include <gdk/gdkdisplay.h>
+#include <gdk/gdkdisplaymanager.h>
 #include <gdk/gdkdnd.h>
 #include <gdk/gdkdrawable.h>
+#include <gdk/gdkenumtypes.h>
 #include <gdk/gdkevents.h>
 #include <gdk/gdkfont.h>
 #include <gdk/gdkgc.h>
-#include <gdk/gdkim.h>
 #include <gdk/gdkimage.h>
 #include <gdk/gdkinput.h>
+#include <gdk/gdkkeys.h>
+#include <gdk/gdkpango.h>
+#include <gdk/gdkpixbuf.h>
 #include <gdk/gdkpixmap.h>
 #include <gdk/gdkproperty.h>
 #include <gdk/gdkregion.h>
 #include <gdk/gdkrgb.h>
+#include <gdk/gdkscreen.h>
 #include <gdk/gdkselection.h>
+#include <gdk/gdkspawn.h>
+#include <gdk/gdktestutils.h>
 #include <gdk/gdktypes.h>
 #include <gdk/gdkvisual.h>
 #include <gdk/gdkwindow.h>
 
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+#undef __GDK_H_INSIDE__
+
+G_BEGIN_DECLS
 
 
 /* Initialization, exit and events
  */
 #define          GDK_PRIORITY_EVENTS           (G_PRIORITY_DEFAULT)
+void     gdk_parse_args                (gint           *argc,
+                                        gchar        ***argv);
 void     gdk_init                      (gint           *argc,
                                         gchar        ***argv);
 gboolean  gdk_init_check               (gint           *argc,
                                         gchar        ***argv);
+void gdk_add_option_entries_libgtk_only (GOptionGroup *group);
+void gdk_pre_parse_libgtk_only          (void);
+
+#ifndef GDK_DISABLE_DEPRECATED
 void     gdk_exit                      (gint            error_code);
+#endif /* GDK_DISABLE_DEPRECATED */
 gchar*   gdk_set_locale                (void);
 
+G_CONST_RETURN char *gdk_get_program_class (void);
+void                 gdk_set_program_class (const char *program_class);
+
 /* Push and pop error handlers for X errors
  */
 void      gdk_error_trap_push           (void);
 gint      gdk_error_trap_pop            (void);
 
+#ifndef GDK_DISABLE_DEPRECATED
+void     gdk_set_use_xshm              (gboolean        use_xshm);
+gboolean  gdk_get_use_xshm             (void);
+#endif /* GDK_DISABLE_DEPRECATED */
 
-void     gdk_set_use_xshm              (gint            use_xshm);
-
-gint     gdk_get_use_xshm              (void);
-gchar*   gdk_get_display               (void);
+gchar*                   gdk_get_display               (void);
+G_CONST_RETURN gchar*    gdk_get_display_arg_name      (void);
 
+#if !defined (GDK_DISABLE_DEPRECATED) || defined (GTK_COMPILATION)
+/* Used by gtk_input_add_full () */
 gint gdk_input_add_full          (gint              source,
                           GdkInputCondition condition,
                           GdkInputFunction  function,
                           gpointer          data,
-                          GdkDestroyNotify  destroy);
+                          GDestroyNotify    destroy);
+#endif /* !GDK_DISABLE_DEPRECATED || GTK_COMPILATION */
+#ifndef GDK_DISABLE_DEPRECATED
 gint gdk_input_add       (gint              source,
                           GdkInputCondition condition,
                           GdkInputFunction  function,
                           gpointer          data);
 void gdk_input_remove    (gint              tag);
+#endif /* GDK_DISABLE_DEPRECATED */
+
+GdkGrabStatus gdk_pointer_grab       (GdkWindow    *window,
+                                     gboolean      owner_events,
+                                     GdkEventMask  event_mask,
+                                     GdkWindow    *confine_to,
+                                     GdkCursor    *cursor,
+                                     guint32       time_);
+GdkGrabStatus gdk_keyboard_grab      (GdkWindow    *window,
+                                     gboolean      owner_events,
+                                     guint32       time_);
+
+gboolean gdk_pointer_grab_info_libgtk_only (GdkDisplay *display,
+                                           GdkWindow **grab_window,
+                                           gboolean   *owner_events);
+gboolean gdk_keyboard_grab_info_libgtk_only (GdkDisplay *display,
+                                            GdkWindow **grab_window,
+                                            gboolean   *owner_events);
+
+#ifndef GDK_MULTIHEAD_SAFE
+void          gdk_pointer_ungrab     (guint32       time_);
+void          gdk_keyboard_ungrab    (guint32       time_);
+gboolean      gdk_pointer_is_grabbed (void);
+
+gint gdk_screen_width  (void) G_GNUC_CONST;
+gint gdk_screen_height (void) G_GNUC_CONST;
+
+gint gdk_screen_width_mm  (void) G_GNUC_CONST;
+gint gdk_screen_height_mm (void) G_GNUC_CONST;
 
-gint gdk_pointer_grab  (GdkWindow *     window,
-                        gint            owner_events,
-                        GdkEventMask    event_mask,
-                        GdkWindow *     confine_to,
-                        GdkCursor *     cursor,
-                        guint32         time);
-void gdk_pointer_ungrab (guint32        time);
-
-gint gdk_keyboard_grab  (GdkWindow *     window,
-                         gint            owner_events,
-                         guint32         time);
-void gdk_keyboard_ungrab (guint32        time);
-
-gint gdk_pointer_is_grabbed (void);
-
-gint gdk_screen_width  (void);
-gint gdk_screen_height (void);
-
-gint gdk_screen_width_mm  (void);
-gint gdk_screen_height_mm (void);
+void gdk_beep (void);
+#endif /* GDK_MULTIHEAD_SAFE */
 
 void gdk_flush (void);
-void gdk_beep (void);
 
-void gdk_key_repeat_disable (void);
-void gdk_key_repeat_restore (void);
+#ifndef GDK_MULTIHEAD_SAFE
+void gdk_set_double_click_time             (guint       msec);
+#endif
 
 /* Rectangle utilities
  */
-gint gdk_rectangle_intersect (GdkRectangle *src1,
-                             GdkRectangle *src2,
-                             GdkRectangle *dest);
-void gdk_rectangle_union     (GdkRectangle *src1,
-                             GdkRectangle *src2,
-                             GdkRectangle *dest);
+gboolean gdk_rectangle_intersect (const GdkRectangle *src1,
+                                 const GdkRectangle *src2,
+                                 GdkRectangle       *dest);
+void     gdk_rectangle_union     (const GdkRectangle *src1,
+                                 const GdkRectangle *src2,
+                                 GdkRectangle       *dest);
+
+GType gdk_rectangle_get_type (void) G_GNUC_CONST;
+
+#define GDK_TYPE_RECTANGLE (gdk_rectangle_get_type ())
 
 /* Conversion functions between wide char and multibyte strings. 
  */
+#ifndef GDK_DISABLE_DEPRECATED
 gchar     *gdk_wcstombs          (const GdkWChar   *src);
 gint       gdk_mbstowcs          (GdkWChar         *dest,
                                  const gchar      *src,
                                  gint              dest_max);
+#endif
 
 /* Miscellaneous */
-void     gdk_event_send_clientmessage_toall (GdkEvent    *event);
-gboolean gdk_event_send_client_message (GdkEvent    *event,
-                                       guint32      xid);
+#ifndef GDK_MULTIHEAD_SAFE
+gboolean gdk_event_send_client_message      (GdkEvent       *event,
+                                            GdkNativeWindow winid);
+void     gdk_event_send_clientmessage_toall (GdkEvent  *event);
+#endif
+gboolean gdk_event_send_client_message_for_display (GdkDisplay *display,
+                                                   GdkEvent       *event,
+                                                   GdkNativeWindow winid);
 
-/* Key values
- */
-gchar*   gdk_keyval_name                 (guint        keyval);
-guint    gdk_keyval_from_name            (const gchar *keyval_name);
-guint    gdk_keyval_to_upper             (guint        keyval);
-guint    gdk_keyval_to_lower             (guint        keyval);
-gboolean gdk_keyval_is_upper             (guint        keyval);
-gboolean gdk_keyval_is_lower             (guint        keyval);
+void gdk_notify_startup_complete (void);
+
+void gdk_notify_startup_complete_with_id (const gchar* startup_id);
 
 /* Threading
  */
 
-GDKVAR GMutex *gdk_threads_mutex;
+#if !defined (GDK_DISABLE_DEPRECATED) || defined (GDK_COMPILATION)
+GDKVAR GMutex *gdk_threads_mutex; /* private */
+#endif
+
+GDKVAR GCallback gdk_threads_lock;
+GDKVAR GCallback gdk_threads_unlock;
 
 void     gdk_threads_enter                (void);
 void     gdk_threads_leave                (void);
+void     gdk_threads_init                 (void);
+void     gdk_threads_set_lock_functions   (GCallback enter_fn,
+                                          GCallback leave_fn);
+
+guint    gdk_threads_add_idle_full        (gint           priority,
+                                          GSourceFunc    function,
+                                          gpointer       data,
+                                          GDestroyNotify notify);
+guint    gdk_threads_add_idle             (GSourceFunc    function,
+                                          gpointer       data);
+guint    gdk_threads_add_timeout_full     (gint           priority,
+                                           guint          interval,
+                                           GSourceFunc    function,
+                                           gpointer       data,
+                                           GDestroyNotify notify);
+guint    gdk_threads_add_timeout          (guint          interval,
+                                           GSourceFunc    function,
+                                           gpointer       data);
 
 #ifdef G_THREADS_ENABLED
 #  define GDK_THREADS_ENTER()  G_STMT_START {  \
-      if (gdk_threads_mutex)                   \
-        g_mutex_lock (gdk_threads_mutex);      \
+      if (gdk_threads_lock)                    \
+        (*gdk_threads_lock) ();                        \
    } G_STMT_END
 #  define GDK_THREADS_LEAVE()  G_STMT_START {  \
-      if (gdk_threads_mutex)                   \
-        g_mutex_unlock (gdk_threads_mutex);    \
+      if (gdk_threads_unlock)                  \
+        (*gdk_threads_unlock) ();              \
    } G_STMT_END
 #else  /* !G_THREADS_ENABLED */
 #  define GDK_THREADS_ENTER()
 #  define GDK_THREADS_LEAVE()
 #endif /* !G_THREADS_ENABLED */
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 
 #endif /* __GDK_H__ */