From 6bade15e6051bec14c70af1b9568091db4b35730 Mon Sep 17 00:00:00 2001 From: Michael Emmel Date: Tue, 1 May 2007 16:10:51 +0000 Subject: [PATCH] Added stub gdk_notify_startup_complete_with_id to compile Added 2007-05-01 Michael Emmel * gdk/directfb/gdkdisplay-directfb.c: Added stub gdk_notify_startup_complete_with_id to compile * gdk/directfb/gdkwindow-directfb.c: Added gdk_window_set_opacity * gdk/directfb/gdkkeys-directfb.c: Fix menu key handling crash Bug #413328 svn path=/trunk/; revision=17752 --- ChangeLog | 9 ++++++ gdk/directfb/gdkdisplay-directfb.c | 20 ++++++++++++ gdk/directfb/gdkkeys-directfb.c | 35 ++++++++++++-------- gdk/directfb/gdkwindow-directfb.c | 52 ++++++++++++++++++++++++++++++ 4 files changed, 103 insertions(+), 13 deletions(-) diff --git a/ChangeLog b/ChangeLog index 65a89cd10c..0d887d4ad3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2007-05-01 Michael Emmel + + * gdk/directfb/gdkdisplay-directfb.c: + Added stub gdk_notify_startup_complete_with_id to compile + * gdk/directfb/gdkwindow-directfb.c: + Added gdk_window_set_opacity + * gdk/directfb/gdkkeys-directfb.c: + Fix menu key handling crash Bug #413328 + 2007-05-01 Christian Persch * gtk/gtkprinter.h: diff --git a/gdk/directfb/gdkdisplay-directfb.c b/gdk/directfb/gdkdisplay-directfb.c index 770cf515c1..9cf7a2fdb1 100644 --- a/gdk/directfb/gdkdisplay-directfb.c +++ b/gdk/directfb/gdkdisplay-directfb.c @@ -491,6 +491,26 @@ gdk_notify_startup_complete (void) { } +/** + * gdk_notify_startup_complete_with_id: + * @startup_id: a startup-notification identifier, for which notification + * process should be completed + * + * Indicates to the GUI environment that the application has finished + * loading, using a given identifier. + * + * GTK+ will call this function automatically for #GtkWindow with custom + * startup-notification identifier unless + * gtk_window_set_auto_startup_notification() is called to disable + * that feature. + * + * Since: 2.12 + **/ +void +gdk_notify_startup_complete_with_id (const gchar* startup_id) +{ +} + #define __GDK_DISPLAY_X11_C__ #include "gdkaliasdef.c" diff --git a/gdk/directfb/gdkkeys-directfb.c b/gdk/directfb/gdkkeys-directfb.c index 8577976a87..badd903eef 100644 --- a/gdk/directfb/gdkkeys-directfb.c +++ b/gdk/directfb/gdkkeys-directfb.c @@ -1941,32 +1941,41 @@ gdk_keymap_translate_keyboard_state (GdkKeymap *keymap, if (directfb_keymap[index + i + 2 * group] != GDK_VoidSymbol) { - *keyval = directfb_keymap[index + i + 2 * group]; + if (keyval) + *keyval = directfb_keymap[index + i + 2 * group]; if (group && directfb_keymap[index + i] == *keyval) { - *effective_group = 0; - *consumed_modifiers = 0; + if (effective_group) + *effective_group = 0; + if(consumed_modifiers) + *consumed_modifiers = 0; } else { - *effective_group = group; - *consumed_modifiers = GDK_MOD2_MASK; + if (effective_group) + *effective_group = group; + if(consumed_modifiers) + *consumed_modifiers = GDK_MOD2_MASK; } - - *level = i; + if (level) + *level = i; if (i && directfb_keymap[index + 2 * *effective_group] != *keyval) - *consumed_modifiers |= GDK_SHIFT_MASK; + if(consumed_modifiers) + *consumed_modifiers |= GDK_SHIFT_MASK; return TRUE; } } - - *keyval = 0; - *effective_group = 0; - *level = 0; - *consumed_modifiers = 0; + if (keyval) + *keyval = 0; + if (effective_group) + *effective_group = 0; + if (level) + *level = 0; + if(consumed_modifiers) + *consumed_modifiers = 0; return FALSE; } diff --git a/gdk/directfb/gdkwindow-directfb.c b/gdk/directfb/gdkwindow-directfb.c index 0c5cdf43e4..8fa2d70e1a 100644 --- a/gdk/directfb/gdkwindow-directfb.c +++ b/gdk/directfb/gdkwindow-directfb.c @@ -1704,6 +1704,23 @@ gdk_window_set_role (GdkWindow *window, /* N/A */ } +/** + * gdk_window_set_startup_id: + * @window: a toplevel #GdkWindow + * @startup_id: a string with startup-notification identifier + * + * When using GTK+, typically you should use gtk_window_set_startup_id() + * instead of this low-level function. + * + * Since: 2.12 + * + **/ +void +gdk_window_set_startup_id (GdkWindow *window, + const gchar *startup_id) +{ +} + void gdk_window_set_transient_for (GdkWindow *window, GdkWindow *parent) @@ -3000,6 +3017,41 @@ gdk_window_beep (GdkWindow *window) gdk_display_beep (gdk_display_get_default()); } +/** + * gdk_window_set_opacity: + * @window a top-level #GdkWindow + * @opacity: opacity + * + * Request the windowing system to make @window partially transparent, + * with opacity 0 being fully transparent and 1 fully opaque. (Values + * of the opacity parameter are clamped to the [0,1] range.) On X11 + * this works only on X screens with a compositing manager running. + * + * For setting up per-pixel alpha, see gdk_screen_get_rgba_colormap(). + * + * Since: 2.12 + */ +void +gdk_window_set_opacity (GdkWindow *window, + gdouble opacity) +{ + GdkDisplay *display; + guint8 cardinal; + + g_return_if_fail (GDK_IS_WINDOW (window)); + + if (GDK_WINDOW_DESTROYED (window)) + return; + + display = gdk_drawable_get_display (window); + + if (opacity < 0) + opacity = 0; + else if (opacity > 1) + opacity = 1; + cardinal = opacity * 0xff; + gdk_directfb_window_set_opacity(window,cardinal); +} #define __GDK_WINDOW_X11_C__ #include "gdkaliasdef.c"