mirror of
https://github.com/openmoh/openmohaa.git
synced 2025-04-28 21:57:57 +03:00
170 lines
3.4 KiB
C++
170 lines
3.4 KiB
C++
/*
|
|
===========================================================================
|
|
Copyright (C) 2015 the OpenMoHAA team
|
|
|
|
This file is part of OpenMoHAA source code.
|
|
|
|
OpenMoHAA source code is free software; you can redistribute it
|
|
and/or modify it under the terms of the GNU General Public License as
|
|
published by the Free Software Foundation; either version 2 of the License,
|
|
or (at your option) any later version.
|
|
|
|
OpenMoHAA source code is distributed in the hope that it will be
|
|
useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with OpenMoHAA source code; if not, write to the Free Software
|
|
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|
===========================================================================
|
|
*/
|
|
|
|
#include "ui_local.h"
|
|
|
|
uidef_t uid;
|
|
uiexport_t uie;
|
|
uiimport_t uii;
|
|
uiGlobals_t ui;
|
|
|
|
void UIE_AddFileToList( const char *name )
|
|
{
|
|
ui.fileList.AddTail( name );
|
|
}
|
|
|
|
void UIE_ResolutionChanged( void )
|
|
{
|
|
UIRect2D frame( 0, 0, uid.vidWidth, uid.vidHeight );
|
|
uWinMan.setFrame( frame );
|
|
uWinMan.RefreshShadersFromList();
|
|
}
|
|
|
|
void UI_GetMouseState( int *mouseX, int *mouseY, int *flags )
|
|
{
|
|
if( mouseX )
|
|
{
|
|
*mouseX = uid.mouseX;
|
|
}
|
|
|
|
if( mouseY )
|
|
{
|
|
*mouseY = uid.mouseY;
|
|
}
|
|
|
|
if( flags )
|
|
{
|
|
*flags = uid.mouseFlags;
|
|
}
|
|
}
|
|
|
|
int UI_GetCvarInt( const char *name, int def )
|
|
{
|
|
cvar_t *cvar = uii.Cvar_Find( name );
|
|
|
|
if( !cvar ) {
|
|
return def;
|
|
}
|
|
|
|
if (cvar->latchedString) {
|
|
return atoi(cvar->latchedString);
|
|
}
|
|
|
|
return cvar->integer;
|
|
}
|
|
|
|
float UI_GetCvarFloat( const char *name, float def )
|
|
{
|
|
cvar_t *cvar = uii.Cvar_Find( name );
|
|
|
|
if( !cvar ) {
|
|
return def;
|
|
}
|
|
|
|
if (cvar->latchedString) {
|
|
return atof(cvar->latchedString);
|
|
}
|
|
|
|
return cvar->value;
|
|
}
|
|
|
|
const char *UI_GetCvarString( const char *cvar, char *def )
|
|
{
|
|
return uii.Cvar_GetString( cvar, def );
|
|
}
|
|
|
|
cvar_t *UI_FindCvar( const char *cvar )
|
|
{
|
|
return uii.Cvar_Find( cvar );
|
|
}
|
|
|
|
void UI_SetCvarInt( const char *cvar, int value )
|
|
{
|
|
char s[ 16 ];
|
|
|
|
Com_sprintf( s, sizeof( s ), "%d", value );
|
|
uii.Cvar_Set( cvar, s );
|
|
}
|
|
|
|
void UI_SetCvarFloat( const char *cvar, float value )
|
|
{
|
|
char s[ 16 ];
|
|
|
|
Com_sprintf( s, sizeof( s ), "%f", value );
|
|
uii.Cvar_Set( cvar, s );
|
|
}
|
|
|
|
void UI_ListFiles( const char *filespec )
|
|
{
|
|
ui.fileList.RemoveAllItems();
|
|
uii.File_ListFiles( filespec );
|
|
}
|
|
|
|
const char *UI_ConfigString( int index )
|
|
{
|
|
return uii.GetConfigstring( index );
|
|
}
|
|
|
|
void UI_Init( void )
|
|
{
|
|
UIRect2D frame( 0, 0, uid.vidWidth, uid.vidHeight );
|
|
|
|
ui.globalFont = new UIFont;
|
|
uWinMan.Init( frame, "verdana-12" );
|
|
|
|
UColor color( 0, 0, 0, 0 );
|
|
uWinMan.setBackgroundColor( color, true );
|
|
}
|
|
|
|
void UI_Shutdown( void )
|
|
{
|
|
if( ui.globalFont )
|
|
{
|
|
delete ui.globalFont;
|
|
ui.globalFont = NULL;
|
|
}
|
|
|
|
uWinMan.Shutdown();
|
|
}
|
|
|
|
void UI_InitExports()
|
|
{
|
|
uie.AddFileToList = UIE_AddFileToList;
|
|
uie.ResolutionChange = UIE_ResolutionChanged;
|
|
uie.Init = UI_Init;
|
|
uie.Shutdown = UI_Shutdown;
|
|
uie.FontStringWidth = UI_FontStringWidth;
|
|
|
|
//
|
|
// OLD implementation
|
|
//
|
|
/*
|
|
uie.KeyEvent = UI_KeyEvent;
|
|
uie.MouseEvent = UI_MouseEvent;
|
|
uie.Refresh = UI_Refresh;
|
|
uie.DrawHUD = UI_DrawHUD;
|
|
uie.IsFullscreen = UI_IsFullscreen;
|
|
uie.SetActiveMenu = UI_SetActiveMenu;
|
|
uie.ConsoleCommand = UI_ConsoleCommand;
|
|
uie.DrawConnectScreen = UI_DrawConnectScreen;
|
|
*/
|
|
}
|