X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=gtk%2Fgtkmain.h;h=549989afb5a6c81dafbea1d321aa6183f5a71d78;hb=fa4878979e0a72890ca577a210ccd7cf6291dbf0;hp=21de92ed42443c24da9b7af71ebe1436a4c2bf8c;hpb=c229306a18f6453c144397bfbbf2284afa9731eb;p=~andy%2Fgtk diff --git a/gtk/gtkmain.h b/gtk/gtkmain.h index 21de92ed4..549989afb 100644 --- a/gtk/gtkmain.h +++ b/gtk/gtkmain.h @@ -8,13 +8,11 @@ * * 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 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * 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 . */ /* @@ -24,14 +22,14 @@ * GTK+ at ftp://ftp.gtk.org/pub/gtk/. */ -#if defined(GTK_DISABLE_SINGLE_INCLUDES) && !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION) -#error "Only can be included directly." -#endif - #ifndef __GTK_MAIN_H__ #define __GTK_MAIN_H__ +#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION) +#error "Only can be included directly." +#endif + #include #include #ifdef G_PLATFORM_WIN32 @@ -41,189 +39,133 @@ G_BEGIN_DECLS -/* Priorities for redrawing and resizing +/** + * GTK_PRIORITY_RESIZE: + * + * Use this priority for functionality related to size allocation. + * + * It is used internally by GTK+ to compute the sizes of widgets. + * This priority is higher than %GDK_PRIORITY_REDRAW to avoid + * resizing a widget which was just redrawn. */ -#define GTK_PRIORITY_RESIZE (G_PRIORITY_HIGH_IDLE + 10) +#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 +/** + * GtkKeySnoopFunc: + * @grab_widget: the widget to which the event will be delivered + * @event: the key event + * @func_data: data supplied to gtk_key_snooper_install() + * + * Key snooper functions are called before normal event delivery. + * They can be used to implement custom key event handling. + * + * Returns: %TRUE to stop further processing of @event, %FALSE to continue. */ -#define GTK_PRIORITY_HIGH G_PRIORITY_HIGH -#define GTK_PRIORITY_INTERNAL GTK_PRIORITY_REDRAW -#define GTK_PRIORITY_DEFAULT G_PRIORITY_DEFAULT_IDLE -#define GTK_PRIORITY_LOW G_PRIORITY_LOW +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. +/* GTK+ version */ -#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 +guint gtk_get_major_version (void) G_GNUC_CONST; +guint gtk_get_minor_version (void) G_GNUC_CONST; +guint gtk_get_micro_version (void) G_GNUC_CONST; +guint gtk_get_binary_age (void) G_GNUC_CONST; +guint gtk_get_interface_age (void) G_GNUC_CONST; + +#define gtk_major_version gtk_get_major_version () +#define gtk_minor_version gtk_get_minor_version () +#define gtk_micro_version gtk_get_micro_version () +#define gtk_binary_age gtk_get_binary_age () +#define gtk_interface_age gtk_get_interface_age () -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; -const gchar* gtk_check_version (guint required_major, - guint required_minor, - guint required_micro); +const gchar* gtk_check_version (guint required_major, + guint required_minor, + guint required_micro); /* Initialization, exit, mainloop and miscellaneous routines */ gboolean gtk_parse_args (int *argc, - char ***argv); + char ***argv); void gtk_init (int *argc, char ***argv); gboolean gtk_init_check (int *argc, char ***argv); - -gboolean gtk_init_with_args (int *argc, - char ***argv, - const char *parameter_string, - GOptionEntry *entries, - const char *translation_domain, - GError **error); + +gboolean gtk_init_with_args (gint *argc, + gchar ***argv, + const gchar *parameter_string, + const GOptionEntry *entries, + const gchar *translation_domain, + GError **error); GOptionGroup *gtk_get_option_group (gboolean open_default_display); - -#ifdef G_PLATFORM_WIN32 + +#ifdef G_OS_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); +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 (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) */ -gboolean gtk_main_iteration_do (gboolean blocking); - -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); -void gtk_grab_remove (GtkWidget *widget); - -void gtk_init_add (GtkFunction function, - gpointer data); -void gtk_quit_add_destroy (guint main_level, - GtkObject *object); -guint gtk_quit_add (guint main_level, - GtkFunction function, - gpointer data); -guint gtk_quit_add_full (guint main_level, - GtkFunction function, - GtkCallbackMarshal marshal, - gpointer data, - GDestroyNotify 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); -guint gtk_timeout_add_full (guint32 interval, - GtkFunction function, - GtkCallbackMarshal marshal, - gpointer data, - GDestroyNotify destroy); -void gtk_timeout_remove (guint timeout_handler_id); - -guint gtk_idle_add (GtkFunction function, - gpointer data); -guint gtk_idle_add_priority (gint priority, - GtkFunction function, - gpointer data); -guint gtk_idle_add_full (gint priority, - GtkFunction function, - GtkCallbackMarshal marshal, - gpointer data, - GDestroyNotify destroy); -void gtk_idle_remove (guint idle_handler_id); -void gtk_idle_remove_by_data (gpointer data); -guint gtk_input_add_full (gint source, - GdkInputCondition condition, - GdkInputFunction function, - GtkCallbackMarshal marshal, - gpointer data, - GDestroyNotify 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); -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); +void gtk_main_do_event (GdkEvent *event); +void gtk_main (void); +guint gtk_main_level (void); +void gtk_main_quit (void); +gboolean gtk_main_iteration (void); +gboolean gtk_main_iteration_do (gboolean blocking); + +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); +void gtk_grab_remove (GtkWidget *widget); + +void gtk_device_grab_add (GtkWidget *widget, + GdkDevice *device, + gboolean block_others); +void gtk_device_grab_remove (GtkWidget *widget, + GdkDevice *device); + +GDK_DEPRECATED_IN_3_4 +guint gtk_key_snooper_install (GtkKeySnoopFunc snooper, + gpointer func_data); +GDK_DEPRECATED_IN_3_4 +void gtk_key_snooper_remove (guint snooper_handler_id); + +GdkEvent * gtk_get_current_event (void); +guint32 gtk_get_current_event_time (void); +gboolean gtk_get_current_event_state (GdkModifierType *state); +GdkDevice *gtk_get_current_event_device (void); + +GtkWidget *gtk_get_event_widget (GdkEvent *event); -gboolean _gtk_boolean_handled_accumulator (GSignalInvocationHint *ihint, - GValue *return_accu, - const GValue *handler_return, - gpointer dummy); +void gtk_propagate_event (GtkWidget *widget, + GdkEvent *event); -gchar *_gtk_get_lc_ctype (void); G_END_DECLS