support theme-specific program icon and window title (useful for non-SM products)
This commit is contained in:
Binary file not shown.
|
After Width: | Height: | Size: 967 B |
@@ -17,6 +17,7 @@
|
|||||||
ColorP1=0.4,1.0,0.8,1 // sea green
|
ColorP1=0.4,1.0,0.8,1 // sea green
|
||||||
ColorP2=1.0,0.5,0.2,1 // orange
|
ColorP2=1.0,0.5,0.2,1 // orange
|
||||||
InitialScreen=ScreenCompany
|
InitialScreen=ScreenCompany
|
||||||
|
WindowTitle=StepMania
|
||||||
|
|
||||||
[Notes]
|
[Notes]
|
||||||
DefaultScrollDirection=0
|
DefaultScrollDirection=0
|
||||||
|
|||||||
@@ -69,13 +69,13 @@ class RageDisplay
|
|||||||
friend class RageTexture;
|
friend class RageTexture;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
RageDisplay( bool windowed, int width, int height, int bpp, int rate, bool vsync );
|
RageDisplay( bool windowed, int width, int height, int bpp, int rate, bool vsync, CString sWindowTitle, CString sIconFile );
|
||||||
~RageDisplay();
|
~RageDisplay();
|
||||||
void Update(float fDeltaTime);
|
void Update(float fDeltaTime);
|
||||||
|
|
||||||
bool IsSoftwareRenderer();
|
bool IsSoftwareRenderer();
|
||||||
|
|
||||||
bool SetVideoMode( bool windowed, int width, int height, int bpp, int rate, bool vsync );
|
bool SetVideoMode( bool windowed, int width, int height, int bpp, int rate, bool vsync, CString sWindowTitle, CString sIconFile );
|
||||||
|
|
||||||
/* Call this when the resolution has been changed externally: */
|
/* Call this when the resolution has been changed externally: */
|
||||||
void ResolutionChanged();
|
void ResolutionChanged();
|
||||||
|
|||||||
@@ -28,6 +28,8 @@
|
|||||||
#include "SDL_video.h" // for SDL_Surface
|
#include "SDL_video.h" // for SDL_Surface
|
||||||
#include "SDL_utils.h"
|
#include "SDL_utils.h"
|
||||||
#include "Dxerr8.h"
|
#include "Dxerr8.h"
|
||||||
|
#include "SDL_image.h" // for setting icon
|
||||||
|
#include "SDL_rotozoom.h" // for setting icon
|
||||||
|
|
||||||
#include "arch/arch.h"
|
#include "arch/arch.h"
|
||||||
|
|
||||||
@@ -166,7 +168,7 @@ const PixelFormatDesc PIXEL_FORMAT_DESC[NUM_PIX_FORMATS] = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
RageDisplay::RageDisplay( bool windowed, int width, int height, int bpp, int rate, bool vsync )
|
RageDisplay::RageDisplay( bool windowed, int width, int height, int bpp, int rate, bool vsync, CString sWindowTitle, CString sIconFile )
|
||||||
{
|
{
|
||||||
LOG->Trace( "RageDisplay::RageDisplay()" );
|
LOG->Trace( "RageDisplay::RageDisplay()" );
|
||||||
|
|
||||||
@@ -242,7 +244,7 @@ RageDisplay::RageDisplay( bool windowed, int width, int height, int bpp, int rat
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
SetVideoMode( windowed, width, height, bpp, rate, vsync );
|
SetVideoMode( windowed, width, height, bpp, rate, vsync, sWindowTitle, sIconFile );
|
||||||
}
|
}
|
||||||
|
|
||||||
void RageDisplay::Update(float fDeltaTime)
|
void RageDisplay::Update(float fDeltaTime)
|
||||||
@@ -350,17 +352,29 @@ HWND GetHwnd()
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
bool IsWin98()
|
|
||||||
{
|
|
||||||
OSVERSIONINFO version;
|
|
||||||
version.dwOSVersionInfoSize=sizeof(version);
|
|
||||||
GetVersionEx(&version);
|
|
||||||
return version.dwMajorVersion == 4;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Set the video mode. */
|
/* Set the video mode. */
|
||||||
bool RageDisplay::SetVideoMode( bool windowed, int width, int height, int bpp, int rate, bool vsync )
|
bool RageDisplay::SetVideoMode( bool windowed, int width, int height, int bpp, int rate, bool vsync, CString sWindowTitle, CString sIconFile )
|
||||||
{
|
{
|
||||||
|
/* 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);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// HACK: On Windows 98, we can't call SDL_SetVideoMode while D3D is full screen.
|
// HACK: On Windows 98, we can't call SDL_SetVideoMode while D3D is full screen.
|
||||||
// It will result in "SDL_SetVideoMode failed: DirectDraw2::CreateSurface(PRIMARY):
|
// It will result in "SDL_SetVideoMode failed: DirectDraw2::CreateSurface(PRIMARY):
|
||||||
// Not in exclusive access mode". So, we'll Reset the D3D device, then resize the
|
// Not in exclusive access mode". So, we'll Reset the D3D device, then resize the
|
||||||
@@ -486,7 +500,7 @@ int RageDisplay::GetMaxTextureSize() const
|
|||||||
void RageDisplay::BeginFrame()
|
void RageDisplay::BeginFrame()
|
||||||
{
|
{
|
||||||
if( g_pd3dDevice->TestCooperativeLevel() == D3DERR_DEVICENOTRESET )
|
if( g_pd3dDevice->TestCooperativeLevel() == D3DERR_DEVICENOTRESET )
|
||||||
SetVideoMode( g_Windowed, g_CurrentWidth, g_CurrentHeight, g_CurrentBPP, 0, 0 );
|
SetVideoMode( g_Windowed, g_CurrentWidth, g_CurrentHeight, g_CurrentBPP, 0, 0, "", "" ); // FIXME: preserve prefs
|
||||||
|
|
||||||
g_pd3dDevice->Clear( 0, NULL, D3DCLEAR_TARGET|D3DCLEAR_ZBUFFER,
|
g_pd3dDevice->Clear( 0, NULL, D3DCLEAR_TARGET|D3DCLEAR_ZBUFFER,
|
||||||
D3DCOLOR_XRGB(0,0,0), 1.0f, 0x00000000 );
|
D3DCOLOR_XRGB(0,0,0), 1.0f, 0x00000000 );
|
||||||
@@ -907,7 +921,6 @@ void RageDisplay::SetAlphaTest( bool b )
|
|||||||
g_pd3dDevice->SetRenderState( D3DRS_ALPHAFUNC, D3DCMP_GREATER );
|
g_pd3dDevice->SetRenderState( D3DRS_ALPHAFUNC, D3DCMP_GREATER );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
RageMatrix RageDisplay::GetOrthoMatrix( float l, float r, float b, float t, float zn, float zf )
|
RageMatrix RageDisplay::GetOrthoMatrix( float l, float r, float b, float t, float zn, float zf )
|
||||||
{
|
{
|
||||||
// D3DXMatrixOrthoOffCenterRH
|
// D3DXMatrixOrthoOffCenterRH
|
||||||
|
|||||||
@@ -106,13 +106,13 @@ void GetGLExtensions(set<string> &ext)
|
|||||||
ext.insert(lst[i]);
|
ext.insert(lst[i]);
|
||||||
}
|
}
|
||||||
|
|
||||||
RageDisplay::RageDisplay( bool windowed, int width, int height, int bpp, int rate, bool vsync )
|
RageDisplay::RageDisplay( bool windowed, int width, int height, int bpp, int rate, bool vsync, CString sWindowTitle, CString sIconFile )
|
||||||
{
|
{
|
||||||
LOG->Trace( "RageDisplay::RageDisplay()" );
|
LOG->Trace( "RageDisplay::RageDisplay()" );
|
||||||
|
|
||||||
wind = MakeLowLevelWindow();
|
wind = MakeLowLevelWindow();
|
||||||
|
|
||||||
SetVideoMode( windowed, width, height, bpp, rate, vsync );
|
SetVideoMode( windowed, width, height, bpp, rate, vsync, sWindowTitle, sIconFile );
|
||||||
|
|
||||||
// Log driver details
|
// Log driver details
|
||||||
LOG->Info("OGL Vendor: %s", glGetString(GL_VENDOR));
|
LOG->Info("OGL Vendor: %s", glGetString(GL_VENDOR));
|
||||||
@@ -258,10 +258,10 @@ void RageDisplay::ResolutionChanged()
|
|||||||
|
|
||||||
/* Set the video mode. In some cases, changing the video mode will reset
|
/* Set the video mode. In some cases, changing the video mode will reset
|
||||||
* the rendering context; returns true if we need to reload textures. */
|
* the rendering context; returns true if we need to reload textures. */
|
||||||
bool RageDisplay::SetVideoMode( bool windowed, int width, int height, int bpp, int rate, bool vsync )
|
bool RageDisplay::SetVideoMode( bool windowed, int width, int height, int bpp, int rate, bool vsync, CString sWindowTitle, CString sIconFile )
|
||||||
{
|
{
|
||||||
// LOG->Trace( "RageDisplay::SetVideoMode( %d, %d, %d, %d, %d, %d )", windowed, width, height, bpp, rate, vsync );
|
// LOG->Trace( "RageDisplay::SetVideoMode( %d, %d, %d, %d, %d, %d )", windowed, width, height, bpp, rate, vsync );
|
||||||
bool NewOpenGLContext = wind->SetVideoMode( windowed, width, height, bpp, rate, vsync );
|
bool NewOpenGLContext = wind->SetVideoMode( windowed, width, height, bpp, rate, vsync, sWindowTitle, sIconFile );
|
||||||
|
|
||||||
if(NewOpenGLContext)
|
if(NewOpenGLContext)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -95,8 +95,9 @@ void ApplyGraphicOptions()
|
|||||||
PREFSMAN->m_iDisplayHeight,
|
PREFSMAN->m_iDisplayHeight,
|
||||||
PREFSMAN->m_iDisplayColorDepth,
|
PREFSMAN->m_iDisplayColorDepth,
|
||||||
PREFSMAN->m_iRefreshRate,
|
PREFSMAN->m_iRefreshRate,
|
||||||
PREFSMAN->m_bVsync );
|
PREFSMAN->m_bVsync,
|
||||||
|
THEME->GetMetric("Common","WindowTitle"),
|
||||||
|
THEME->GetPathToG("Common window icon") );
|
||||||
bNeedReload |= TEXTUREMAN->SetPrefs(
|
bNeedReload |= TEXTUREMAN->SetPrefs(
|
||||||
PREFSMAN->m_iTextureColorDepth,
|
PREFSMAN->m_iTextureColorDepth,
|
||||||
PREFSMAN->m_bDelayedTextureDelete,
|
PREFSMAN->m_bDelayedTextureDelete,
|
||||||
@@ -145,30 +146,6 @@ void ResetGame()
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void GameLoop();
|
static void GameLoop();
|
||||||
#include "SDL_utils.h"
|
|
||||||
#include "SDL_image.h"
|
|
||||||
#include "SDL_rotozoom.h"
|
|
||||||
#include "StepMania.xpm" /* icon */
|
|
||||||
|
|
||||||
static void SetIcon()
|
|
||||||
{
|
|
||||||
if(!SDL_WasInit(SDL_INIT_VIDEO))
|
|
||||||
return;
|
|
||||||
|
|
||||||
SDL_Surface *srf = IMG_ReadXPMFromArray(icon);
|
|
||||||
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);
|
|
||||||
}
|
|
||||||
|
|
||||||
static bool ChangeAppPri()
|
static bool ChangeAppPri()
|
||||||
{
|
{
|
||||||
@@ -259,11 +236,6 @@ int main(int argc, char* argv[])
|
|||||||
|
|
||||||
LoadingWindow *loading_window = MakeLoadingWindow();
|
LoadingWindow *loading_window = MakeLoadingWindow();
|
||||||
|
|
||||||
/* We might be using SDL, so set generic window properties (icon and caption).
|
|
||||||
* Be careful; we might not have an SDL window at all. */
|
|
||||||
SDL_WM_SetCaption("StepMania", "StepMania");
|
|
||||||
SetIcon();
|
|
||||||
|
|
||||||
loading_window->Paint();
|
loading_window->Paint();
|
||||||
|
|
||||||
// changed to use time. GetTimeSinceStart is silly because it always return 0! -Chris
|
// changed to use time. GetTimeSinceStart is silly because it always return 0! -Chris
|
||||||
@@ -299,7 +271,9 @@ int main(int argc, char* argv[])
|
|||||||
PREFSMAN->m_iDisplayHeight,
|
PREFSMAN->m_iDisplayHeight,
|
||||||
PREFSMAN->m_iDisplayColorDepth,
|
PREFSMAN->m_iDisplayColorDepth,
|
||||||
PREFSMAN->m_iRefreshRate,
|
PREFSMAN->m_iRefreshRate,
|
||||||
PREFSMAN->m_bVsync );
|
PREFSMAN->m_bVsync,
|
||||||
|
THEME->GetMetric("Common","WindowTitle"),
|
||||||
|
THEME->GetPathToG("Common window icon") );
|
||||||
TEXTUREMAN = new RageTextureManager();
|
TEXTUREMAN = new RageTextureManager();
|
||||||
TEXTUREMAN->SetPrefs(
|
TEXTUREMAN->SetPrefs(
|
||||||
PREFSMAN->m_iTextureColorDepth,
|
PREFSMAN->m_iTextureColorDepth,
|
||||||
@@ -310,10 +284,6 @@ int main(int argc, char* argv[])
|
|||||||
SDL_EventState(SDL_QUIT, SDL_ENABLE);
|
SDL_EventState(SDL_QUIT, SDL_ENABLE);
|
||||||
SDL_EventState(SDL_ACTIVEEVENT, SDL_ENABLE);
|
SDL_EventState(SDL_ACTIVEEVENT, SDL_ENABLE);
|
||||||
|
|
||||||
/* We might have a new window, so let's make sure window properties are still set. */
|
|
||||||
SDL_WM_SetCaption("StepMania", "StepMania");
|
|
||||||
SetIcon();
|
|
||||||
|
|
||||||
/* Grab the window manager specific information */
|
/* Grab the window manager specific information */
|
||||||
SDL_SysWMinfo info;
|
SDL_SysWMinfo info;
|
||||||
SDL_VERSION(&info.version);
|
SDL_VERSION(&info.version);
|
||||||
|
|||||||
@@ -2,8 +2,10 @@
|
|||||||
|
|
||||||
#include "SDL_utils.h"
|
#include "SDL_utils.h"
|
||||||
#include "SDL_image.h"
|
#include "SDL_image.h"
|
||||||
|
#include "SDL_rotozoom.h"
|
||||||
#include "LoadingWindow_SDL.h"
|
#include "LoadingWindow_SDL.h"
|
||||||
#include "loading.xpm"
|
#include "loading.xpm"
|
||||||
|
#include "StepMania.xpm" /* icon */
|
||||||
|
|
||||||
LoadingWindow_SDL::LoadingWindow_SDL()
|
LoadingWindow_SDL::LoadingWindow_SDL()
|
||||||
{
|
{
|
||||||
@@ -11,23 +13,37 @@ LoadingWindow_SDL::LoadingWindow_SDL()
|
|||||||
if( SDL_InitSubSystem(SDL_INIT_VIDEO) < 0 )
|
if( SDL_InitSubSystem(SDL_INIT_VIDEO) < 0 )
|
||||||
RageException::Throw( "Couldn't initialize SDL: %s\n", SDL_GetError() );
|
RageException::Throw( "Couldn't initialize SDL: %s\n", SDL_GetError() );
|
||||||
|
|
||||||
/* Load the BMP file into a surface */
|
/* Set window title and icon */
|
||||||
|
SDL_WM_SetCaption("StepMania", "StepMania");
|
||||||
|
|
||||||
|
SDL_Surface *srf = IMG_ReadXPMFromArray(icon);
|
||||||
|
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);
|
||||||
|
|
||||||
|
|
||||||
|
/* Load the BMP - we need it's dimensions */
|
||||||
SDL_Surface *image = IMG_ReadXPMFromArray(loading);
|
SDL_Surface *image = IMG_ReadXPMFromArray(loading);
|
||||||
if( image == NULL )
|
if( image == NULL )
|
||||||
RageException::Throw("Couldn't load loading.bmp: %s\n",SDL_GetError());
|
RageException::Throw("Couldn't load loading.bmp: %s\n",SDL_GetError());
|
||||||
|
|
||||||
/* Initialize the display in a 640x480 16-bit mode */
|
/* Initialize the window */
|
||||||
loading_screen = SDL_SetVideoMode(image->w, image->h, 16, SDL_SWSURFACE|SDL_ANYFORMAT|SDL_NOFRAME);
|
loading_screen = SDL_SetVideoMode(image->w, image->h, 16, SDL_SWSURFACE|SDL_ANYFORMAT|SDL_NOFRAME);
|
||||||
if( loading_screen == NULL )
|
if( loading_screen == NULL )
|
||||||
RageException::Throw( "Couldn't initialize loading window: %s\n", SDL_GetError() );
|
RageException::Throw( "Couldn't initialize loading window: %s\n", SDL_GetError() );
|
||||||
|
|
||||||
/* Blit onto the screen surface */
|
|
||||||
SDL_BlitSurface(image, NULL, loading_screen, NULL);
|
SDL_BlitSurface(image, NULL, loading_screen, NULL);
|
||||||
|
|
||||||
/* Free the allocated BMP surface */
|
|
||||||
SDL_FreeSurface(image);
|
SDL_FreeSurface(image);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
LoadingWindow_SDL::~LoadingWindow_SDL()
|
LoadingWindow_SDL::~LoadingWindow_SDL()
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ public:
|
|||||||
|
|
||||||
/* Set the video mode as close to the requested settings as possible. They're
|
/* Set the video mode as close to the requested settings as possible. They're
|
||||||
* hints only; it's better to get the wrong mode than to bail out. */
|
* hints only; it's better to get the wrong mode than to bail out. */
|
||||||
virtual bool SetVideoMode( bool windowed, int width, int height, int bpp, int rate, bool vsync ) = 0;
|
virtual bool SetVideoMode( bool windowed, int width, int height, int bpp, int rate, bool vsync, CString sWindowTitle, CString sIconFile ) = 0;
|
||||||
|
|
||||||
virtual void SwapBuffers() = 0;
|
virtual void SwapBuffers() = 0;
|
||||||
virtual void Update(float fDeltaTime) { }
|
virtual void Update(float fDeltaTime) { }
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
#include "global.h"
|
#include "global.h"
|
||||||
#include "LowLevelWindow_SDL.h"
|
#include "LowLevelWindow_SDL.h"
|
||||||
|
#include "SDL_image.h" // for setting icon
|
||||||
|
#include "SDL_rotozoom.h" // for setting icon
|
||||||
#include "RageLog.h"
|
#include "RageLog.h"
|
||||||
#include "RageDisplay.h" // for REFRESH_DEFAULT
|
#include "RageDisplay.h" // for REFRESH_DEFAULT
|
||||||
|
|
||||||
@@ -23,7 +24,7 @@ void *LowLevelWindow_SDL::GetProcAddress(CString s)
|
|||||||
return SDL_GL_GetProcAddress(s);
|
return SDL_GL_GetProcAddress(s);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool LowLevelWindow_SDL::SetVideoMode( bool windowed, int width, int height, int bpp, int rate, bool vsync )
|
bool LowLevelWindow_SDL::SetVideoMode( bool windowed, int width, int height, int bpp, int rate, bool vsync, CString sWindowTitle, CString sIconFile )
|
||||||
{
|
{
|
||||||
SDL_QuitSubSystem(SDL_INIT_VIDEO);
|
SDL_QuitSubSystem(SDL_INIT_VIDEO);
|
||||||
|
|
||||||
@@ -40,6 +41,26 @@ bool LowLevelWindow_SDL::SetVideoMode( bool windowed, int width, int height, int
|
|||||||
|
|
||||||
SDL_InitSubSystem(SDL_INIT_VIDEO);
|
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);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Windowed = false;
|
Windowed = false;
|
||||||
|
|
||||||
int flags = SDL_RESIZABLE | SDL_OPENGL; // | SDL_DOUBLEBUF; // no need for DirectDraw to be double-buffered
|
int flags = SDL_RESIZABLE | SDL_OPENGL; // | SDL_DOUBLEBUF; // no need for DirectDraw to be double-buffered
|
||||||
@@ -152,7 +173,9 @@ void LowLevelWindow_SDL::Update(float fDeltaTime)
|
|||||||
DISPLAY->GetHeight(),
|
DISPLAY->GetHeight(),
|
||||||
DISPLAY->GetBPP(),
|
DISPLAY->GetBPP(),
|
||||||
0,
|
0,
|
||||||
0 );
|
0,
|
||||||
|
"",
|
||||||
|
"" ); // FIXME: preserve prefs
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ public:
|
|||||||
LowLevelWindow_SDL();
|
LowLevelWindow_SDL();
|
||||||
~LowLevelWindow_SDL();
|
~LowLevelWindow_SDL();
|
||||||
void *GetProcAddress(CString s);
|
void *GetProcAddress(CString s);
|
||||||
bool SetVideoMode( bool windowed, int width, int height, int bpp, int rate, bool vsync );
|
bool SetVideoMode( bool windowed, int width, int height, int bpp, int rate, bool vsync, CString sWindowTitle, CString sIconFile );
|
||||||
void SwapBuffers();
|
void SwapBuffers();
|
||||||
void Update(float fDeltaTime);
|
void Update(float fDeltaTime);
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 10 KiB |
Reference in New Issue
Block a user