[Scummvm-cvs-logs] scummvm master -> 7983b1cce3fb5831f7437ea689b951ac7cd9c5a3
Littleboy
littleboy22 at gmail.com
Mon Jun 27 02:18:08 CEST 2011
This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
f065b612a6 ICONS: Update Windows icons
7983b1cce3 BACKENDS: Add special Win32 path to set SDL window icon
Commit: f065b612a61c781285a5c3ad4c4473f4261607be
https://github.com/scummvm/scummvm/commit/f065b612a61c781285a5c3ad4c4473f4261607be
Author: Littleboy (littleboy at users.sourceforge.net)
Date: 2011-06-26T17:00:53-07:00
Commit Message:
ICONS: Update Windows icons
- Replace 128x128 RGB version by PNG compressed 256x256 version for Windows Vista and later
- Update 256 colors versions of the icon to remove black background
- Remove 16 colors versions (256 colors icons have been supported since Windows 3.0 and are the default on Windows 95)
- Add missing sizes and colors to NSIS installer icon
Changed paths:
dists/nsis/graphics/scummvm-install.ico
icons/scummvm.ico
diff --git a/dists/nsis/graphics/scummvm-install.ico b/dists/nsis/graphics/scummvm-install.ico
index b8b118c..6312959 100644
Binary files a/dists/nsis/graphics/scummvm-install.ico and b/dists/nsis/graphics/scummvm-install.ico differ
diff --git a/icons/scummvm.ico b/icons/scummvm.ico
index 0142e90..0283e84 100644
Binary files a/icons/scummvm.ico and b/icons/scummvm.ico differ
Commit: 7983b1cce3fb5831f7437ea689b951ac7cd9c5a3
https://github.com/scummvm/scummvm/commit/7983b1cce3fb5831f7437ea689b951ac7cd9c5a3
Author: Littleboy (littleboy at users.sourceforge.net)
Date: 2011-06-26T17:13:35-07:00
Commit Message:
BACKENDS: Add special Win32 path to set SDL window icon
We bypass SDL_WM_SetIcon and setup the window icon using the embedded icon, with the default path as a fallback.
This allows us to use an antialised icon with alpha transparency (which the default included icon doesn't have) on Windows XP and later
Changed paths:
backends/platform/sdl/win32/win32.cpp
backends/platform/sdl/win32/win32.h
dists/scummvm.rc
dists/scummvm.rc.in
diff --git a/backends/platform/sdl/win32/win32.cpp b/backends/platform/sdl/win32/win32.cpp
index 814f195..420ed24 100644
--- a/backends/platform/sdl/win32/win32.cpp
+++ b/backends/platform/sdl/win32/win32.cpp
@@ -34,6 +34,8 @@
#undef ARRAYSIZE // winnt.h defines ARRAYSIZE, but we want our own one...
#include <shellapi.h>
+#include <SDL_syswm.h> // For setting the icon
+
#include "backends/platform/sdl/win32/win32.h"
#include "backends/fs/windows/windows-fs-factory.h"
#include "backends/taskbar/win32/win32-taskbar.h"
@@ -137,6 +139,28 @@ bool OSystem_Win32::displayLogFile() {
return false;
}
+void OSystem_Win32::setupIcon() {
+ HMODULE handle = GetModuleHandle(NULL);
+ HICON ico = LoadIcon(handle, MAKEINTRESOURCE(1001 /* IDI_ICON */));
+ if (ico) {
+ SDL_SysWMinfo wminfo;
+ SDL_VERSION(&wminfo.version);
+ if (SDL_GetWMInfo(&wminfo)) {
+ // Replace the handle to the icon associated with the window class by our custom icon
+ SetClassLongPtr(wminfo.window, GCLP_HICON, (ULONG_PTR)ico);
+
+ // Since there wasn't any default icon, we can't use the return value from SetClassLong
+ // to check for errors (it would be 0 in both cases: error or no previous value for the
+ // icon handle). Instead we check for the last-error code value.
+ if (GetLastError() == ERROR_SUCCESS)
+ return;
+ }
+ }
+
+ // If no icon has been set, fallback to default path
+ OSystem_SDL::setupIcon();
+}
+
Common::String OSystem_Win32::getDefaultConfigFileName() {
char configFile[MAXPATHLEN];
diff --git a/backends/platform/sdl/win32/win32.h b/backends/platform/sdl/win32/win32.h
index ef7b6af..cc2fc51 100644
--- a/backends/platform/sdl/win32/win32.h
+++ b/backends/platform/sdl/win32/win32.h
@@ -46,6 +46,7 @@ protected:
*/
Common::String _logFilePath;
+ virtual void setupIcon();
virtual Common::String getDefaultConfigFileName();
virtual Common::WriteStream *createLogFile();
};
diff --git a/dists/scummvm.rc b/dists/scummvm.rc
index 1094373..d333004 100644
--- a/dists/scummvm.rc
+++ b/dists/scummvm.rc
@@ -5,6 +5,7 @@
#endif
#define FILE 256
+#define IDI_ICON 1001
IDI_ICON ICON DISCARDABLE "icons/scummvm.ico"
diff --git a/dists/scummvm.rc.in b/dists/scummvm.rc.in
index c043ce1..8186e0e 100644
--- a/dists/scummvm.rc.in
+++ b/dists/scummvm.rc.in
@@ -5,6 +5,7 @@
#endif
#define FILE 256
+#define IDI_ICON 1001
IDI_ICON ICON DISCARDABLE "icons/scummvm.ico"
More information about the Scummvm-git-logs
mailing list