Commit in reactos/subsys/system/explorer on MAIN
Jamfile+2-11.14 -> 1.15
Makefile+4-31.42 -> 1.43
Makefile.MinGW+2-21.26 -> 1.27
Makefile.PCH+2-21.5 -> 1.6
Makefile.Wine+2-21.12 -> 1.13
doc/changes.txt+2-11.50 -> 1.51
taskbar/traynotify.cpp+15-11.67 -> 1.68
+29-12
7 modified files
alpha-blend hidden notification icons

reactos/subsys/system/explorer
Jamfile 1.14 -> 1.15
diff -u -r1.14 -r1.15
--- Jamfile	4 Apr 2004 16:04:33 -0000	1.14
+++ Jamfile	21 Nov 2004 10:53:55 -0000	1.15
@@ -43,7 +43,7 @@
 	dialogs/searchprogram.cpp
 	dialogs/settings.cpp
 	i386-stub-win32.c
- :	<define>WIN32 <define>_WIN32_IE=0x0600 <define>_WIN32_WINNT=0x0501
+ :	<define>WIN32 <define>_WIN32_IE=0x0600 <define>_WIN32_WINNT=0x0501 <define>WINVER=0x0500
 	<cxxflags>-I$(INCLUDE)
 #nur f�r GCC:	<cxxflags>-fexceptions <cxxflags>-Wall
 	<find-shared-library>gdi32
@@ -52,6 +52,7 @@
 	<find-shared-library>uuid
 	<find-shared-library>wsock32
 	<find-shared-library>oleaut32
+	<find-shared-library>msimg32
 #	<find-shared-library>expat
 	<linkflags>notifyhook.dll
 	<linkflags>libexpat.dll

reactos/subsys/system/explorer
Makefile 1.42 -> 1.43
diff -u -r1.42 -r1.43
--- Makefile	4 Aug 2004 18:22:39 -0000	1.42
+++ Makefile	21 Nov 2004 10:53:55 -0000	1.43
@@ -10,13 +10,14 @@
 TARGET_NAME := explorer
 TARGET_INSTALLDIR := .
 TARGET_CFLAGS := \
-	-D__USE_W32API -DWIN32 -D_ROS_ -D_WIN32_IE=0x0600 \
-	-D_WIN32_WINNT=0x0501 -DUNICODE -fexceptions -Wall
+	-D__USE_W32API -DWIN32 -D_ROS_ \
+	-D_WIN32_IE=0x0600 -D_WIN32_WINNT=0x0501 -DWINVER=0x0500 \
+	-DUNICODE -fexceptions -Wall
 TARGET_CPPFLAGS := $(TARGET_CFLAGS)
 TARGET_RCFLAGS := -D__USE_W32API -DWIN32 -D_ROS_ -D__WINDRES__
 TARGET_SDKLIBS := \
 	gdi32.a comctl32.a ole32.a oleaut32.a shell32.a libexpat.a \
-	notifyhook.a ws2_32.a
+	notifyhook.a ws2_32.a msimg32.a
 TARGET_GCCLIBS := stdc++ uuid
 TARGET_OBJECTS := \
 	explorer.o \

reactos/subsys/system/explorer
Makefile.MinGW 1.26 -> 1.27
diff -u -r1.26 -r1.27
--- Makefile.MinGW	4 Aug 2004 21:42:33 -0000	1.26
+++ Makefile.MinGW	21 Nov 2004 10:53:55 -0000	1.27
@@ -8,7 +8,7 @@
 CXX = g++
 LINK = g++
 
-CFLAGS	= -DWIN32 -D_WIN32_IE=0x0600 -D_WIN32_WINNT=0x0501 -fexceptions -Wall -I.
+CFLAGS	= -DWIN32 -D_WIN32_IE=0x0600 -D_WIN32_WINNT=0x0501 -DWINVER=0x0500 -fexceptions -Wall -I.
 RCFLAGS	= -DWIN32 -D__WINDRES__
 LFLAGS	= -Wl,--subsystem,windows
 
@@ -75,7 +75,7 @@
 	i386-stub-win32.o \
 	xmlstorage.o
 
-LIBS = gdi32 comctl32 ole32 uuid
+LIBS = gdi32 comctl32 msimg32 ole32 uuid
 DELAYIMPORTS = oleaut32 wsock32
 
 all: $(TARGET)

reactos/subsys/system/explorer
Makefile.PCH 1.5 -> 1.6
diff -u -r1.5 -r1.6
--- Makefile.PCH	4 Aug 2004 21:42:33 -0000	1.5
+++ Makefile.PCH	21 Nov 2004 10:53:55 -0000	1.6
@@ -10,7 +10,7 @@
 CXX = g++
 LINK = g++
 
-CFLAGS	= -DWIN32 -D_WIN32_IE=0x0600 -D_WIN32_WINNT=0x0501 -fexceptions -Wall -I.
+CFLAGS	= -DWIN32 -D_WIN32_IE=0x0600 -D_WIN32_WINNT=0x0501 -DWINVER=0x0500 -fexceptions -Wall -I.
 RCFLAGS	= -DWIN32 -D__WINDRES__
 LFLAGS	= -Wl,--subsystem,windows
 
@@ -77,7 +77,7 @@
 	i386-stub-win32.o \
 	xmlstorage.o
 
-LIBS = gdi32 comctl32 ole32 uuid
+LIBS = gdi32 comctl32 msimg32 ole32 uuid
 DELAYIMPORTS = oleaut32 wsock32
 
 all: precomp.h.gch $(TARGET)

reactos/subsys/system/explorer
Makefile.Wine 1.12 -> 1.13
diff -u -r1.12 -r1.13
--- Makefile.Wine	4 Apr 2004 16:04:33 -0000	1.12
+++ Makefile.Wine	21 Nov 2004 10:53:55 -0000	1.13
@@ -4,8 +4,8 @@
 
 MODULE    = explorer.exe
 APPMODE   = gui
-IMPORTS   = shell32 comctl32 ole32 user32 gdi32 kernel32 advapi32 oleaut32
-EXTRADEFS = -D__WINE__ -D_WIN32_IE=0x0600 -D_WIN32_WINNT=0x0501 -D__MINGW32__
+IMPORTS   = shell32 comctl32 msimg32 ole32 user32 gdi32 kernel32 advapi32 oleaut32
+EXTRADEFS = -D__WINE__ -D_WIN32_IE=0x0600 -D_WIN32_WINNT=0x0501 -DWINVER=0x0500 -D__MINGW32__
 EXTRA_OBJS = notifyhook.dll libexpat.dll
 EXTRALIBS = $(LIBUUID)
 

reactos/subsys/system/explorer/doc
changes.txt 1.50 -> 1.51
diff -u -r1.50 -r1.51
--- changes.txt	20 Nov 2004 22:35:06 -0000	1.50
+++ changes.txt	21 Nov 2004 10:53:55 -0000	1.51
@@ -1,4 +1,4 @@
-You will find only major changes in this file.
+0You will find only major changes in this file.
 Small bug fixes and developments steps are not listet here.
 If you search for more information, look into the CVS repository.
 
@@ -91,3 +91,4 @@
 23.09.2004	m. fuchs	configuration dialog to choose between MDI and SDI mode with persistent storage
 20.11.2004	m. fuchs	display notification icon change times
 						notification area button to toggle hidden icons
+21.11.2004	m. fuchs	alpha-blend hidden notification icons

reactos/subsys/system/explorer/taskbar
traynotify.cpp 1.67 -> 1.68
diff -u -r1.67 -r1.68
--- traynotify.cpp	20 Nov 2004 22:35:06 -0000	1.67
+++ traynotify.cpp	21 Nov 2004 10:53:55 -0000	1.68
@@ -635,6 +635,10 @@
 	UpdateWindow(_hwnd);
 }
 
+#ifdef _MSC_VER
+#pragma comment(lib, "msimg32")	// for AlphaBlend()
+#endif
+
 void NotifyArea::Paint()
 {
 	BufferedPaintCanvas canvas(_hwnd);
@@ -654,8 +658,18 @@
 		x += NOTIFYICON_DIST;
 	}
 
+	MemCanvas mem_dc;
+	SelectedBitmap bmp(mem_dc, CreateCompatibleBitmap(canvas, NOTIFYICON_SIZE, NOTIFYICON_SIZE));
+	RECT rect = {0, 0, NOTIFYICON_SIZE, NOTIFYICON_SIZE};
+	BLENDFUNCTION blend = {AC_SRC_OVER, 0, 128, 0};
+
 	for(NotifyIconSet::const_iterator it=_sorted_icons.begin(); it!=_sorted_icons.end(); ++it) {
-		DrawIconEx(canvas, x, y, it->_hIcon, NOTIFYICON_SIZE, NOTIFYICON_SIZE, 0, 0, DI_NORMAL);
+		if (it->_dwState & NIS_HIDDEN) {
+			FillRect(mem_dc, &rect, GetSysColorBrush(COLOR_BTNFACE));
+			DrawIconEx(mem_dc, 0, 0, it->_hIcon, NOTIFYICON_SIZE, NOTIFYICON_SIZE, 0, 0, DI_NORMAL);
+			AlphaBlend(canvas, x, y, NOTIFYICON_SIZE, NOTIFYICON_SIZE, mem_dc, 0, 0, NOTIFYICON_SIZE, NOTIFYICON_SIZE, blend);
+		} else
+			DrawIconEx(canvas, x, y, it->_hIcon, NOTIFYICON_SIZE, NOTIFYICON_SIZE, 0, 0, DI_NORMAL);
 
 		x += NOTIFYICON_DIST;
 	}
CVSspam 0.2.8