consolidate SDL icon changing code
This commit is contained in:
@@ -28,8 +28,6 @@
|
||||
#include "SDL_video.h" // for SDL_Surface
|
||||
#include "SDL_utils.h"
|
||||
#include "Dxerr8.h"
|
||||
#include "SDL_image.h" // for setting icon
|
||||
#include "SDL_rotozoom.h" // for setting icon
|
||||
|
||||
#include "arch/arch.h"
|
||||
|
||||
@@ -358,21 +356,7 @@ bool RageDisplay::SetVideoMode( bool windowed, int width, int height, int bpp, i
|
||||
{
|
||||
/* Set SDL window title and icon -before- creating the window */
|
||||
SDL_WM_SetCaption(sWindowTitle, "");
|
||||
|
||||
SDL_Surface *srf = IMG_Load(sIconFile);
|
||||
SDL_SetColorKey( srf, SDL_SRCCOLORKEY, SDL_MapRGB(srf->format, 0xFF, 0, 0xFF));
|
||||
|
||||
/* Windows icons are 32x32 and SDL can't resize them for us, which
|
||||
* causes mask corruption. (Actually, the above icon *is* 32x32;
|
||||
* this is here just in case it changes.) */
|
||||
ConvertSDLSurface(srf, srf->w, srf->h,
|
||||
32, 0xFF000000, 0x00FF0000, 0x0000FF00, 0x000000FF);
|
||||
zoomSurface(srf, 32, 32);
|
||||
|
||||
SDL_SetAlpha( srf, SDL_SRCALPHA, SDL_ALPHA_OPAQUE );
|
||||
SDL_WM_SetIcon(srf, NULL /* derive from alpha */);
|
||||
SDL_FreeSurface(srf);
|
||||
|
||||
mySDL_WM_SetIcon( sIconFile );
|
||||
|
||||
|
||||
// HACK: On Windows 98, we can't call SDL_SetVideoMode while D3D is full screen.
|
||||
|
||||
@@ -510,3 +510,22 @@ bool SDL_GetEvent(SDL_Event &event, int mask)
|
||||
}
|
||||
|
||||
|
||||
#include "SDL_image.h" // for setting icon
|
||||
#include "SDL_rotozoom.h" // for setting icon
|
||||
|
||||
void mySDL_WM_SetIcon( CString sIconFile )
|
||||
{
|
||||
SDL_Surface *srf = IMG_Load(sIconFile);
|
||||
SDL_SetColorKey( srf, SDL_SRCCOLORKEY, SDL_MapRGB(srf->format, 0xFF, 0, 0xFF));
|
||||
|
||||
/* Windows icons are 32x32 and SDL can't resize them for us, which
|
||||
* causes mask corruption. (Actually, the above icon *is* 32x32;
|
||||
* this is here just in case it changes.) */
|
||||
ConvertSDLSurface(srf, srf->w, srf->h,
|
||||
32, 0xFF000000, 0x00FF0000, 0x0000FF00, 0x000000FF);
|
||||
zoomSurface(srf, 32, 32);
|
||||
|
||||
SDL_SetAlpha( srf, SDL_SRCALPHA, SDL_ALPHA_OPAQUE );
|
||||
SDL_WM_SetIcon(srf, NULL /* derive from alpha */);
|
||||
SDL_FreeSurface(srf);
|
||||
}
|
||||
|
||||
@@ -46,5 +46,9 @@ bool SDL_GetEvent(SDL_Event &event, int mask);
|
||||
#define TRAIT_WHITE_ONLY 0x0004 /* 8alphaonly */
|
||||
int FindSurfaceTraits(const SDL_Surface *img);
|
||||
|
||||
|
||||
void mySDL_WM_SetIcon( CString sIconFile );
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
#include "global.h"
|
||||
#include "LowLevelWindow_SDL.h"
|
||||
#include "SDL_image.h" // for setting icon
|
||||
#include "SDL_rotozoom.h" // for setting icon
|
||||
#include "SDL_utils.h"
|
||||
#include "RageLog.h"
|
||||
#include "RageDisplay.h" // for REFRESH_DEFAULT
|
||||
|
||||
@@ -41,24 +40,9 @@ bool LowLevelWindow_SDL::SetVideoMode( bool windowed, int width, int height, int
|
||||
|
||||
SDL_InitSubSystem(SDL_INIT_VIDEO);
|
||||
|
||||
|
||||
/* Set SDL window title and icon -before- creating the window */
|
||||
SDL_WM_SetCaption(sWindowTitle, "");
|
||||
|
||||
SDL_Surface *srf = IMG_Load(sIconFile);
|
||||
SDL_SetColorKey( srf, SDL_SRCCOLORKEY, SDL_MapRGB(srf->format, 0xFF, 0, 0xFF));
|
||||
|
||||
/* Windows icons are 32x32 and SDL can't resize them for us, which
|
||||
* causes mask corruption. (Actually, the above icon *is* 32x32;
|
||||
* this is here just in case it changes.) */
|
||||
ConvertSDLSurface(srf, srf->w, srf->h,
|
||||
32, 0xFF000000, 0x00FF0000, 0x0000FF00, 0x000000FF);
|
||||
zoomSurface(srf, 32, 32);
|
||||
|
||||
SDL_SetAlpha( srf, SDL_SRCALPHA, SDL_ALPHA_OPAQUE );
|
||||
SDL_WM_SetIcon(srf, NULL /* derive from alpha */);
|
||||
SDL_FreeSurface(srf);
|
||||
|
||||
mySDL_WM_SetIcon( sIconFile );
|
||||
|
||||
|
||||
Windowed = false;
|
||||
|
||||
Reference in New Issue
Block a user