X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=gtk%2Fgtkmain.h;h=03d0bf38b7545ee6395cd1e7f83c48dcbb72fdd2;hb=5445cbc7b0fd54d57229f9127084be0afc5f416f;hp=2c7e4eab44a396aad5a4b9541faf44bfe342e043;hpb=af2c3bd16fadd5f3f1d00db8b84053cd6e648fd1;p=~andy%2Fgtk diff --git a/gtk/gtkmain.h b/gtk/gtkmain.h index 2c7e4eab4..03d0bf38b 100644 --- a/gtk/gtkmain.h +++ b/gtk/gtkmain.h @@ -2,27 +2,38 @@ * 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-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/. + */ + #ifndef __GTK_MAIN_H__ #define __GTK_MAIN_H__ #include #include - +#ifdef G_PLATFORM_WIN32 +#include +#include +#endif #ifdef __cplusplus extern "C" { @@ -30,9 +41,13 @@ extern "C" { /* Priorities for redrawing and resizing */ -#define GTK_PRIORITY_REDRAW (G_PRIORITY_HIGH_IDLE + 20) #define GTK_PRIORITY_RESIZE (G_PRIORITY_HIGH_IDLE + 10) +#ifndef GTK_DISABLE_DEPRECATED + +/* Use GDK_PRIORITY_REDRAW */ +#define GTK_PRIORITY_REDRAW (G_PRIORITY_HIGH_IDLE + 20) + /* Deprecated. Use G_PRIORITY #define's instead */ #define GTK_PRIORITY_HIGH G_PRIORITY_HIGH @@ -40,19 +55,29 @@ extern "C" { #define GTK_PRIORITY_DEFAULT G_PRIORITY_DEFAULT_IDLE #define GTK_PRIORITY_LOW G_PRIORITY_LOW -typedef void (*GtkModuleInitFunc) (gint *argc, - gchar ***argv); -typedef gint (*GtkKeySnoopFunc) (GtkWidget *grab_widget, - GdkEventKey *event, - gpointer func_data); +#endif /* GTK_DISABLE_DEPRECATED */ + +typedef gint (*GtkKeySnoopFunc) (GtkWidget *grab_widget, + GdkEventKey *event, + gpointer func_data); /* Gtk version. */ -extern const guint gtk_major_version; -extern const guint gtk_minor_version; -extern const guint gtk_micro_version; -extern const guint gtk_binary_age; -extern const guint gtk_interface_age; +#ifdef G_PLATFORM_WIN32 +#ifdef GTK_COMPILATION +#define GTKMAIN_C_VAR __declspec(dllexport) +#else +#define GTKMAIN_C_VAR extern __declspec(dllimport) +#endif +#else +#define GTKMAIN_C_VAR extern +#endif + +GTKMAIN_C_VAR const guint gtk_major_version; +GTKMAIN_C_VAR const guint gtk_minor_version; +GTKMAIN_C_VAR const guint gtk_micro_version; +GTKMAIN_C_VAR const guint gtk_binary_age; +GTKMAIN_C_VAR const guint gtk_interface_age; gchar* gtk_check_version (guint required_major, guint required_minor, guint required_micro); @@ -60,27 +85,60 @@ gchar* gtk_check_version (guint required_major, /* Initialization, exit, mainloop and miscellaneous routines */ -void gtk_init (int *argc, - char ***argv); -void gtk_exit (gint error_code); -gchar* gtk_set_locale (void); -gint gtk_events_pending (void); + +gboolean gtk_parse_args (int *argc, + char ***argv); + +void gtk_init (int *argc, + char ***argv); + +gboolean gtk_init_check (int *argc, + char ***argv); +#ifdef G_PLATFORM_WIN32 + +/* Variants that are used to check for correct struct packing + * when building GTK+-using code. + */ +void gtk_init_abi_check (int *argc, + char ***argv, + int num_checks, + size_t sizeof_GtkWindow, + size_t sizeof_GtkBox); +gboolean gtk_init_check_abi_check (int *argc, + char ***argv, + int num_checks, + size_t sizeof_GtkWindow, + size_t sizeof_GtkBox); + +#define gtk_init(argc, argv) gtk_init_abi_check (argc, argv, 2, sizeof (GtkWindow), sizeof (GtkBox)) +#define gtk_init_check(argc, argv) gtk_init_check_abi_check (argc, argv, 2, sizeof (GtkWindow), sizeof (GtkBox)) + +#endif + +#ifndef GTK_DISABLE_DEPRECATED +void gtk_exit (gint error_code); +#endif /* GTK_DISABLE_DEPRECATED */ + +void gtk_disable_setlocale (void); +gchar * gtk_set_locale (void); +PangoLanguage *gtk_get_default_language (void); +gboolean gtk_events_pending (void); /* The following is the event func GTK+ registers with GDK * we expose it mainly to allow filtering of events between * GDK and GTK+. */ -void gtk_main_do_event (GdkEvent *event); +void gtk_main_do_event (GdkEvent *event); -void gtk_main (void); -guint gtk_main_level (void); -void gtk_main_quit (void); -gint gtk_main_iteration (void); +void gtk_main (void); +guint gtk_main_level (void); +void gtk_main_quit (void); +gboolean gtk_main_iteration (void); /* gtk_main_iteration() calls gtk_main_iteration_do(TRUE) */ -gint gtk_main_iteration_do (gboolean blocking); +gboolean gtk_main_iteration_do (gboolean blocking); -gint gtk_true (void); -gint gtk_false (void); +gboolean gtk_true (void) G_GNUC_CONST; +gboolean gtk_false (void) G_GNUC_CONST; void gtk_grab_add (GtkWidget *widget); GtkWidget* gtk_grab_get_current (void); @@ -100,6 +158,7 @@ guint gtk_quit_add_full (guint main_level, GtkDestroyNotify destroy); void gtk_quit_remove (guint quit_handler_id); void gtk_quit_remove_by_data (gpointer data); +#ifndef GTK_DISABLE_DEPRECATED guint gtk_timeout_add (guint32 interval, GtkFunction function, gpointer data); @@ -129,16 +188,31 @@ guint gtk_input_add_full (gint source, gpointer data, GtkDestroyNotify destroy); void gtk_input_remove (guint input_handler_id); - +#endif /* GTK_DISABLE_DEPRECATED */ guint gtk_key_snooper_install (GtkKeySnoopFunc snooper, gpointer func_data); void gtk_key_snooper_remove (guint snooper_handler_id); - -GdkEvent* gtk_get_current_event (void); + +GdkEvent* gtk_get_current_event (void); +guint32 gtk_get_current_event_time (void); +gboolean gtk_get_current_event_state (GdkModifierType *state); + GtkWidget* gtk_get_event_widget (GdkEvent *event); +/* Private routines internal to GTK+ + */ +void gtk_propagate_event (GtkWidget *widget, + GdkEvent *event); + +gboolean _gtk_boolean_handled_accumulator (GSignalInvocationHint *ihint, + GValue *return_accu, + const GValue *handler_return, + gpointer dummy); + +gchar *_gtk_get_lc_ctype (void); + #ifdef __cplusplus } #endif /* __cplusplus */