summaryrefslogtreecommitdiff
path: root/gdk
diff options
context:
space:
mode:
authorTor Lillqvist <tml@iki.fi>2001-01-17 22:26:19 +0000
committerTor Lillqvist <tml@src.gnome.org>2001-01-17 22:26:19 +0000
commit576ef7f29addee34537305723645a26987da7615 (patch)
tree3fe80883369163a47b32bc8be42c075cca395501 /gdk
parent18fb9bcd5356221120a87ba33832ed3d95c2e026 (diff)
downloadgtk+-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.c31
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);
+ }
}
}