diff options
author | Tor Lillqvist <tml@iki.fi> | 2001-01-17 22:26:19 +0000 |
---|---|---|
committer | Tor Lillqvist <tml@src.gnome.org> | 2001-01-17 22:26:19 +0000 |
commit | 576ef7f29addee34537305723645a26987da7615 (patch) | |
tree | 3fe80883369163a47b32bc8be42c075cca395501 /gdk | |
parent | 18fb9bcd5356221120a87ba33832ed3d95c2e026 (diff) | |
download | gtk+-576ef7f29addee34537305723645a26987da7615.tar.gz |
gtk/gtkmain.c Use the new
2001-01-18 Tor Lillqvist <tml@iki.fi>
* gtk/gtkmain.c
* gtk/gtkrc.c: (Win32) Use the new
g_win32_get_package_installation_(sub)directory() functions.
* config.h.win32.in: New file.
* config.h.win32: Removed.
* configure.in: Output config.h.win32.
* Makefile.am: Add it to EXTRA_DIST.
* gtk/gtk.def: Update.
2001-01-16 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkwindow-win32.c (gdk_window_show, gdk_window_hide):
Eliminate redraws when input-only windows are shown or
hidden. Thanks to jpe@archaeopteryx.com.
2001-01-18 Tor Lillqvist <tml@iki.fi>
* gdk-pixbuf-io.c (get_libdir): (Win32) Use the new
g_win32_get_package_installation_subdirectory() function.
(gtk_win32_get_installation_directory): Remove this then.
Diffstat (limited to 'gdk')
-rw-r--r-- | gdk/win32/gdkwindow-win32.c | 31 |
1 files changed, 25 insertions, 6 deletions
diff --git a/gdk/win32/gdkwindow-win32.c b/gdk/win32/gdkwindow-win32.c index 8a516965e1..6a7fc6abec 100644 --- a/gdk/win32/gdkwindow-win32.c +++ b/gdk/win32/gdkwindow-win32.c @@ -816,13 +816,24 @@ gdk_window_show (GdkWindow *window) } else { - ShowWindow (GDK_WINDOW_HWND (window), SW_SHOWNORMAL); - ShowWindow (GDK_WINDOW_HWND (window), SW_RESTORE); - SetForegroundWindow (GDK_WINDOW_HWND (window)); - BringWindowToTop (GDK_WINDOW_HWND (window)); + if (GetWindowLong (GDK_WINDOW_HWND (window), GWL_EXSTYLE) & WS_EX_TRANSPARENT) + { + SetWindowPos(GDK_WINDOW_HWND (window), HWND_TOP, 0, 0, 0, 0, + SWP_SHOWWINDOW | SWP_NOREDRAW | SWP_NOMOVE | SWP_NOSIZE); + } + else + { + GdkWindow *parent = private->parent; + + ShowWindow (GDK_WINDOW_HWND (window), SW_SHOWNORMAL); + ShowWindow (GDK_WINDOW_HWND (window), SW_RESTORE); + if (parent == gdk_parent_root) + SetForegroundWindow (GDK_WINDOW_HWND (window)); + BringWindowToTop (GDK_WINDOW_HWND (window)); #if 0 - ShowOwnedPopups (GDK_WINDOW_HWND (window), TRUE); + ShowOwnedPopups (GDK_WINDOW_HWND (window), TRUE); #endif + } } } } @@ -844,7 +855,15 @@ gdk_window_hide (GdkWindow *window) if (GDK_WINDOW_TYPE (window) == GDK_WINDOW_TOPLEVEL) ShowOwnedPopups (GDK_WINDOW_HWND (window), FALSE); - ShowWindow (GDK_WINDOW_HWND (window), SW_HIDE); + if (GetWindowLong (GDK_WINDOW_HWND (window), GWL_EXSTYLE) & WS_EX_TRANSPARENT) + { + SetWindowPos(GDK_WINDOW_HWND (window), HWND_BOTTOM, 0, 0, 0, 0, + SWP_HIDEWINDOW | SWP_NOREDRAW | SWP_NOZORDER | SWP_NOMOVE | SWP_NOSIZE); + } + else + { + ShowWindow (GDK_WINDOW_HWND (window), SW_HIDE); + } } } |