move ScreenDimensions into a namespace

This commit is contained in:
Chris Danford
2005-12-27 18:45:07 +00:00
parent 62799c2999
commit 1f81db0cec
4 changed files with 38 additions and 30 deletions
+24 -8
View File
@@ -1,9 +1,10 @@
#include "global.h"
#include "ScreenDimensions.h"
#include "PrefsManager.h"
#include "LuaManager.h"
ThemeMetric<float> THEME_SCREEN_WIDTH("Common","ScreenWidth");
ThemeMetric<float> THEME_SCREEN_HEIGHT("Common","ScreenHeight");
static ThemeMetric<float> THEME_SCREEN_WIDTH("Common","ScreenWidth");
static ThemeMetric<float> THEME_SCREEN_HEIGHT("Common","ScreenHeight");
//
// The theme's logical resolution specifies the minimum screen width
@@ -21,7 +22,7 @@ ThemeMetric<float> THEME_SCREEN_HEIGHT("Common","ScreenHeight");
*/
#define THEME_NATIVE_ASPECT (THEME_SCREEN_WIDTH/THEME_SCREEN_HEIGHT)
float ScreenAspectRatio()
float ScreenDimensions::GetScreenAspectRatio()
{
float fAspect = PREFSMAN->m_fDisplayAspectRatio;
if( fAspect == ASPECT_AUTO )
@@ -37,14 +38,14 @@ float ScreenAspectRatio()
return fAspect;
}
float ThemeAspectRatio()
float ScreenDimensions::GetThemeAspectRatio()
{
return THEME_NATIVE_ASPECT;
}
float ScreenWidth()
float ScreenDimensions::GetScreenWidth()
{
float fAspect = ScreenAspectRatio();
float fAspect = GetScreenAspectRatio();
float fScale = 1;
if( fAspect > THEME_NATIVE_ASPECT )
fScale = fAspect / THEME_NATIVE_ASPECT;
@@ -52,9 +53,9 @@ float ScreenWidth()
return THEME_SCREEN_WIDTH * fScale;
}
float ScreenHeight()
float ScreenDimensions::GetScreenHeight()
{
float fAspect = ScreenAspectRatio();
float fAspect = GetScreenAspectRatio();
float fScale = 1;
if( fAspect < THEME_NATIVE_ASPECT )
fScale = THEME_NATIVE_ASPECT / fAspect;
@@ -62,6 +63,21 @@ float ScreenHeight()
return THEME_SCREEN_HEIGHT * fScale;
}
void ScreenDimensions::ReloadMetricsAndUpdateLua()
{
/* Important: explicitly refresh cached metrics that we use. */
THEME_SCREEN_WIDTH.Read();
THEME_SCREEN_HEIGHT.Read();
LUA->SetGlobal( "SCREEN_WIDTH", (int) SCREEN_WIDTH );
LUA->SetGlobal( "SCREEN_HEIGHT", (int) SCREEN_HEIGHT );
LUA->SetGlobal( "SCREEN_LEFT", (int) SCREEN_LEFT );
LUA->SetGlobal( "SCREEN_RIGHT", (int) SCREEN_RIGHT );
LUA->SetGlobal( "SCREEN_TOP", (int) SCREEN_TOP );
LUA->SetGlobal( "SCREEN_BOTTOM", (int) SCREEN_BOTTOM );
LUA->SetGlobal( "SCREEN_CENTER_X", (int) SCREEN_CENTER_X );
LUA->SetGlobal( "SCREEN_CENTER_Y", (int) SCREEN_CENTER_Y );
}
/*
* (c) 2001-2002 Chris Danford
+10 -8
View File
@@ -6,15 +6,17 @@
#include "ThemeManager.h"
#include "ThemeMetric.h"
#define SCREEN_WIDTH ScreenWidth()
#define SCREEN_HEIGHT ScreenHeight()
float ScreenAspectRatio();
float ThemeAspectRatio();
float ScreenWidth();
float ScreenHeight();
namespace ScreenDimensions
{
float GetScreenAspectRatio();
float GetThemeAspectRatio();
float GetScreenWidth();
float GetScreenHeight();
void ReloadMetricsAndUpdateLua();
};
extern ThemeMetric<float> THEME_SCREEN_WIDTH;
extern ThemeMetric<float> THEME_SCREEN_HEIGHT;
#define SCREEN_WIDTH ScreenDimensions::GetScreenWidth()
#define SCREEN_HEIGHT ScreenDimensions::GetScreenHeight()
#define SCREEN_LEFT (0)
#define SCREEN_RIGHT (SCREEN_WIDTH)
+1 -1
View File
@@ -103,7 +103,7 @@ void StepMania::GetPreferredVideoModeParams( VideoModeParams &paramsOut )
CommonMetrics::WINDOW_TITLE,
THEME->GetPathG("Common","window icon"),
PREFSMAN->m_bPAL,
ScreenAspectRatio()
ScreenDimensions::GetScreenAspectRatio()
);
}
+3 -13
View File
@@ -349,17 +349,7 @@ void ThemeManager::UpdateLuaGlobals()
LUA->ResetState();
/* Important: explicitly refresh cached metrics that we use. */
THEME_SCREEN_WIDTH.Read();
THEME_SCREEN_HEIGHT.Read();
LUA->SetGlobal( "SCREEN_WIDTH", (int) SCREEN_WIDTH );
LUA->SetGlobal( "SCREEN_HEIGHT", (int) SCREEN_HEIGHT );
LUA->SetGlobal( "SCREEN_LEFT", (int) SCREEN_LEFT );
LUA->SetGlobal( "SCREEN_RIGHT", (int) SCREEN_RIGHT );
LUA->SetGlobal( "SCREEN_TOP", (int) SCREEN_TOP );
LUA->SetGlobal( "SCREEN_BOTTOM", (int) SCREEN_BOTTOM );
LUA->SetGlobal( "SCREEN_CENTER_X", (int) SCREEN_CENTER_X );
LUA->SetGlobal( "SCREEN_CENTER_Y", (int) SCREEN_CENTER_Y );
ScreenDimensions::ReloadMetricsAndUpdateLua();
RunLuaScripts( "*.lua" );
}
@@ -952,8 +942,8 @@ public:
static int GetPathG( T* p, lua_State *L ) { lua_pushstring(L, p->GetPathG(SArg(1),SArg(2)) ); return 1; }
static int GetPathB( T* p, lua_State *L ) { lua_pushstring(L, p->GetPathB(SArg(1),SArg(2)) ); return 1; }
static int GetPathS( T* p, lua_State *L ) { lua_pushstring(L, p->GetPathS(SArg(1),SArg(2)) ); return 1; }
static int GetScreenAspectRatio( T* p, lua_State *L ) { lua_pushnumber( L, ScreenAspectRatio() ); return 1; }
static int GetThemeAspectRatio( T* p, lua_State *L ) { lua_pushnumber( L, ThemeAspectRatio() ); return 1; }
static int GetScreenAspectRatio( T* p, lua_State *L ) { lua_pushnumber( L, ScreenDimensions::GetScreenAspectRatio() ); return 1; }
static int GetThemeAspectRatio( T* p, lua_State *L ) { lua_pushnumber( L, ScreenDimensions::GetThemeAspectRatio() ); return 1; }
static void Register(lua_State *L)
{