aboutsummaryrefslogtreecommitdiff
path: root/mp/src/game/client/vgui_schemevisualizer.cpp
diff options
context:
space:
mode:
authorJørgen P. Tjernø <[email protected]>2013-12-02 19:31:46 -0800
committerJørgen P. Tjernø <[email protected]>2013-12-02 19:46:31 -0800
commitf56bb35301836e56582a575a75864392a0177875 (patch)
treede61ddd39de3e7df52759711950b4c288592f0dc /mp/src/game/client/vgui_schemevisualizer.cpp
parentMark some more files as text. (diff)
downloadsource-sdk-2013-f56bb35301836e56582a575a75864392a0177875.tar.xz
source-sdk-2013-f56bb35301836e56582a575a75864392a0177875.zip
Fix line endings. WHAMMY.
Diffstat (limited to 'mp/src/game/client/vgui_schemevisualizer.cpp')
-rw-r--r--mp/src/game/client/vgui_schemevisualizer.cpp580
1 files changed, 290 insertions, 290 deletions
diff --git a/mp/src/game/client/vgui_schemevisualizer.cpp b/mp/src/game/client/vgui_schemevisualizer.cpp
index fbdd8afb..12070f29 100644
--- a/mp/src/game/client/vgui_schemevisualizer.cpp
+++ b/mp/src/game/client/vgui_schemevisualizer.cpp
@@ -1,291 +1,291 @@
-//========= Copyright Valve Corporation, All rights reserved. ============//
-//
-//=======================================================================================//
-
-#include "cbase.h"
-#include "vgui_schemevisualizer.h"
-#include "vgui/IBorder.h"
-#include "vgui/ISurface.h"
-#include "vgui/IVGui.h"
-#include "vgui_controls/Label.h"
-#include "vgui_controls/ComboBox.h"
-#include "KeyValues.h"
-#include "fmtstr.h"
-
-//----------------------------------------------------------------------------------------
-
-using namespace vgui;
-
-//----------------------------------------------------------------------------------------
-
-class CBorderVisualizerPanel : public Panel
-{
- DECLARE_CLASS_SIMPLE( CBorderVisualizerPanel, Panel );
-public:
- CBorderVisualizerPanel( Panel *pParent, const char *pName, IBorder *pBorder );
-
-private:
- virtual void Paint();
-
- IBorder *m_pBorder;
-};
-
-//----------------------------------------------------------------------------------------
-
-CBorderVisualizerPanel::CBorderVisualizerPanel( Panel *pParent, const char *pName, IBorder *pBorder )
-: Panel( pParent, pName ),
- m_pBorder( pBorder )
-{
- SetBgColor( Color( 255, 0, 0, 255 ) );
-}
-
-void CBorderVisualizerPanel::Paint()
-{
- BaseClass::Paint();
-
- surface()->PushMakeCurrent( GetVPanel(), false );
- m_pBorder->Paint( GetVPanel() );
- surface()->PopMakeCurrent( GetVPanel() );
-}
-
-//----------------------------------------------------------------------------------------
-
-class CColorVisualizerPanel : public Panel
-{
- DECLARE_CLASS_SIMPLE( CColorVisualizerPanel, Panel );
-public:
- CColorVisualizerPanel( Panel *pParent, const char *pName, const Color &color );
-
-private:
- virtual void Paint();
-
- Color m_Color;
-};
-
-//----------------------------------------------------------------------------------------
-
-CColorVisualizerPanel::CColorVisualizerPanel( Panel *pParent, const char *pName, const Color &color )
-: Panel( pParent, pName ),
- m_Color( color )
-{
-}
-
-void CColorVisualizerPanel::Paint()
-{
- BaseClass::Paint();
-
- int nHorzBuffer = XRES( 2 );
- int nVertBuffer = YRES( 2 );
-
- surface()->DrawSetColor( m_Color );
- surface()->DrawFilledRect( nHorzBuffer, nVertBuffer, GetWide() - 2 * nHorzBuffer, GetTall() - 2 * nVertBuffer );
-}
-
-//----------------------------------------------------------------------------------------
-
-CSchemeVisualizer::CSchemeVisualizer( vgui::Panel *pParent, IScheme *pViewScheme, const char *pSchemeName )
-: vgui::Frame( pParent, "SchemeVisualizer" ),
- m_pViewScheme( pViewScheme ),
- m_pList( NULL ),
- m_nListDataType( LISTDATATYPE_INVALID )
-{
- CFmtStr fmtTitle( "Scheme Visualizer - scheme: \"%s\"", pSchemeName );
- SetTitle( fmtTitle.Access(), true );
- SetTitleBarVisible( true );
- SetMoveable( true );
- SetCloseButtonVisible( true );
- SetMinimizeButtonVisible( false );
- SetMaximizeButtonVisible( false );
-
- m_pListDataTypeCombo = new ComboBox( this, "DataTypeCombo", 3, false );
- m_aComboDataTypeToItemIDMap[ LISTDATATYPE_BORDERS ] = m_pListDataTypeCombo->AddItem( "Borders", NULL );
- m_aComboDataTypeToItemIDMap[ LISTDATATYPE_FONTS ] = m_pListDataTypeCombo->AddItem( "Fonts", NULL );
- m_aComboDataTypeToItemIDMap[ LISTDATATYPE_COLORS ] = m_pListDataTypeCombo->AddItem( "Colors", NULL );
- m_pListDataTypeCombo->SilentActivateItemByRow( 0 );
- m_pListDataTypeCombo->AddActionSignalTarget( this );
-
- m_nSelectedComboItem = m_aComboDataTypeToItemIDMap[ LISTDATATYPE_BORDERS ];
-
- UpdateList( LISTDATATYPE_BORDERS );
-
- ivgui()->AddTickSignal( GetVPanel(), 100 );
-}
-
-CSchemeVisualizer::~CSchemeVisualizer()
-{
- ivgui()->RemoveTickSignal( GetVPanel() );
-}
-
-void CSchemeVisualizer::PerformLayout()
-{
- BaseClass::PerformLayout();
-
- const int nComboWidth = XRES( 50 );
- m_pListDataTypeCombo->SetBounds(
- GetWide() - nComboWidth - XRES( 10 ),
- YRES( 2 ),
- nComboWidth,
- YRES( 8 )
- );
-
- const int nHorzBuffer = XRES( 2 );
- const int nVertBuffer = YRES( 10 );
- m_pList->SetBounds( nHorzBuffer, nVertBuffer, GetWide() - 2 * nHorzBuffer, GetTall() - 1.5f * nVertBuffer );
-}
-
-void CSchemeVisualizer::UpdateList( ListDataType_t nType )
-{
- Assert( nType != m_nListDataType );
-
- // Cache off type
- m_nListDataType = nType;
-
- // Clear the list
- if ( m_pList )
- {
- m_pList->MarkForDeletion();
- }
- m_pList = new PanelListPanel( this, "ListPanel" );
- m_pList->SetBgColor( Color( 0, 255, 0, 255 ) );
- m_pList->SetPaintBackgroundEnabled( true );
- InvalidateLayout( true, false );
-
- // Set default column width - may be changed depending on type
- m_pList->SetFirstColumnWidth( XRES( 50 ) );
-
- switch( nType )
- {
- case LISTDATATYPE_BORDERS: AddBordersToList(); break;
- case LISTDATATYPE_FONTS: AddFontsToList(); break;
- case LISTDATATYPE_COLORS: AddColorsToList(); break;
- }
-}
-
-void CSchemeVisualizer::AddBordersToList()
-{
- const int nBorderCount = m_pViewScheme->GetBorderCount();
- for ( int i = 0; i < nBorderCount; ++i )
- {
- IBorder *pCurBorder = m_pViewScheme->GetBorderAtIndex( i );
- CFmtStr fmtName( "BorderPanel_%s", pCurBorder->GetName() );
- CBorderVisualizerPanel *pNewBorderPanel = new CBorderVisualizerPanel( m_pList, fmtName.Access(), pCurBorder );
- pNewBorderPanel->SetSize( m_pList->GetWide(), YRES( 45 ) );
- m_pList->AddItem( new Label( NULL, "Label", pCurBorder->GetName() ), pNewBorderPanel );
- }
-}
-
-void CSchemeVisualizer::AddFontsToList()
-{
-#ifdef POSIX
- const char strOAccent[] = { 0xc3, 0x93, 0x00 }; // UTF-8 for U+00D3 (LATIN CAPITAL LETTER O WITH ACUTE)
-#else
- const uint8 strOAccent[] = { 0xd3, 0x00 };
-#endif
- // Stick an intl character in here to test accents (O')
- CFmtStr fmtText( "ABCDEFGHIJKLMN%sPQRSTUVWXYZabcdefhijklmnopqrstuvwxyz0123456789!@#$%%^&*()-_=+", strOAccent );
-
- const int nFontCount = m_pViewScheme->GetFontCount();
-
- for ( int i = 0; i < nFontCount; ++i )
- {
- HFont hCurFont = m_pViewScheme->GetFontAtIndex( i );
- const char *pCurFontName = m_pViewScheme->GetFontName( hCurFont );
- CFmtStr fmtName( "FontPanel_%s", pCurFontName );
-
- Label *pNewFontLabel = new Label( m_pList, fmtName.Access(), fmtText.Access() );
- pNewFontLabel->SetFont( hCurFont );
- pNewFontLabel->SizeToContents();
- pNewFontLabel->SetWide( m_pList->GetWide() );
- m_pList->AddItem( new Label( NULL, "Label", pCurFontName ), pNewFontLabel );
- }
-}
-
-void CSchemeVisualizer::AddColorsToList()
-{
- KeyValues *pColorData = (KeyValues *)m_pViewScheme->GetColorData();
- FOR_EACH_SUBKEY( pColorData, pCurColor )
- {
- const char *pCurColorName = pCurColor->GetName();
- CFmtStr fmtName( "ColorPanel_%s", pCurColorName );
-
- int r = 0, g = 0, b = 0, a = 0;
- const char *pCurColorRGBA = pCurColor->GetString();
- if ( sscanf( pCurColorRGBA, "%d %d %d %d", &r, &g, &b, &a) < 3 )
- {
- Warning( "Skipping color \"%s\"\n", pCurColorRGBA );
- continue;
- }
-
- CColorVisualizerPanel *pNewColorPanel = new CColorVisualizerPanel( m_pList, fmtName.Access(), Color(r,g,b,a) );
- pNewColorPanel->SetSize( m_pList->GetWide(), YRES( 25 ) );
- m_pList->AddItem( new Label( NULL, "Label", pCurColorName ), pNewColorPanel );
- }
-}
-
-//----------------------------------------------------------------------------------------
-
-static CSchemeVisualizer *g_pSchemeVisualizer = NULL;
-
-//----------------------------------------------------------------------------------------
-
-CON_COMMAND( showschemevisualizer, "Show borders, fonts and colors for a particular scheme. The default is ClientScheme.res" )
-{
- if ( g_pSchemeVisualizer )
- {
- g_pSchemeVisualizer->MarkForDeletion();
- g_pSchemeVisualizer = NULL;
- }
-
- // Load a scheme - defaults to "ClientScheme"
- const char *pSchemeName = "ClientScheme";
- if ( args.ArgC() == 2 )
- {
- pSchemeName = args.Arg( 1 );
- }
- IScheme *pScheme = scheme()->GetIScheme( scheme()->GetScheme( pSchemeName ) );
-
- Msg( "Using scheme %s...\n", pSchemeName );
-
- g_pSchemeVisualizer = vgui::SETUP_PANEL( new CSchemeVisualizer( NULL, pScheme, pSchemeName ) );
- g_pSchemeVisualizer->InvalidateLayout( false, true );
-
- engine->ClientCmd_Unrestricted( "gameui_activate" );
-
- const int nWidth = XRES( 300 );
- const int nHeight = YRES( 300 );
-
- g_pSchemeVisualizer->SetBounds(
- ( ScreenWidth() - nWidth ) / 2,
- ( ScreenHeight() - nHeight ) / 2,
- nWidth,
- nHeight
- );
-
- g_pSchemeVisualizer->Activate();
-}
-
-void CSchemeVisualizer::OnTick()
-{
- const int nItemID = m_pListDataTypeCombo->GetActiveItem();
- if ( m_nSelectedComboItem == nItemID )
- return;
-
- // Cache
- m_nSelectedComboItem = nItemID;
-
- // Figure out which type was selected
- ListDataType_t nType = LISTDATATYPE_INVALID;
- for ( int i = 0; i < (int)NUM_TYPES; ++i )
- {
- if ( nItemID == m_aComboDataTypeToItemIDMap[ i ] )
- {
- nType = (ListDataType_t)i;
- break;
- }
- }
-
- AssertMsg( nType != LISTDATATYPE_INVALID, "Couldn't find item ID in list - this should never happen." );
-
- // Update the list now
- UpdateList( nType );
+//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+//=======================================================================================//
+
+#include "cbase.h"
+#include "vgui_schemevisualizer.h"
+#include "vgui/IBorder.h"
+#include "vgui/ISurface.h"
+#include "vgui/IVGui.h"
+#include "vgui_controls/Label.h"
+#include "vgui_controls/ComboBox.h"
+#include "KeyValues.h"
+#include "fmtstr.h"
+
+//----------------------------------------------------------------------------------------
+
+using namespace vgui;
+
+//----------------------------------------------------------------------------------------
+
+class CBorderVisualizerPanel : public Panel
+{
+ DECLARE_CLASS_SIMPLE( CBorderVisualizerPanel, Panel );
+public:
+ CBorderVisualizerPanel( Panel *pParent, const char *pName, IBorder *pBorder );
+
+private:
+ virtual void Paint();
+
+ IBorder *m_pBorder;
+};
+
+//----------------------------------------------------------------------------------------
+
+CBorderVisualizerPanel::CBorderVisualizerPanel( Panel *pParent, const char *pName, IBorder *pBorder )
+: Panel( pParent, pName ),
+ m_pBorder( pBorder )
+{
+ SetBgColor( Color( 255, 0, 0, 255 ) );
+}
+
+void CBorderVisualizerPanel::Paint()
+{
+ BaseClass::Paint();
+
+ surface()->PushMakeCurrent( GetVPanel(), false );
+ m_pBorder->Paint( GetVPanel() );
+ surface()->PopMakeCurrent( GetVPanel() );
+}
+
+//----------------------------------------------------------------------------------------
+
+class CColorVisualizerPanel : public Panel
+{
+ DECLARE_CLASS_SIMPLE( CColorVisualizerPanel, Panel );
+public:
+ CColorVisualizerPanel( Panel *pParent, const char *pName, const Color &color );
+
+private:
+ virtual void Paint();
+
+ Color m_Color;
+};
+
+//----------------------------------------------------------------------------------------
+
+CColorVisualizerPanel::CColorVisualizerPanel( Panel *pParent, const char *pName, const Color &color )
+: Panel( pParent, pName ),
+ m_Color( color )
+{
+}
+
+void CColorVisualizerPanel::Paint()
+{
+ BaseClass::Paint();
+
+ int nHorzBuffer = XRES( 2 );
+ int nVertBuffer = YRES( 2 );
+
+ surface()->DrawSetColor( m_Color );
+ surface()->DrawFilledRect( nHorzBuffer, nVertBuffer, GetWide() - 2 * nHorzBuffer, GetTall() - 2 * nVertBuffer );
+}
+
+//----------------------------------------------------------------------------------------
+
+CSchemeVisualizer::CSchemeVisualizer( vgui::Panel *pParent, IScheme *pViewScheme, const char *pSchemeName )
+: vgui::Frame( pParent, "SchemeVisualizer" ),
+ m_pViewScheme( pViewScheme ),
+ m_pList( NULL ),
+ m_nListDataType( LISTDATATYPE_INVALID )
+{
+ CFmtStr fmtTitle( "Scheme Visualizer - scheme: \"%s\"", pSchemeName );
+ SetTitle( fmtTitle.Access(), true );
+ SetTitleBarVisible( true );
+ SetMoveable( true );
+ SetCloseButtonVisible( true );
+ SetMinimizeButtonVisible( false );
+ SetMaximizeButtonVisible( false );
+
+ m_pListDataTypeCombo = new ComboBox( this, "DataTypeCombo", 3, false );
+ m_aComboDataTypeToItemIDMap[ LISTDATATYPE_BORDERS ] = m_pListDataTypeCombo->AddItem( "Borders", NULL );
+ m_aComboDataTypeToItemIDMap[ LISTDATATYPE_FONTS ] = m_pListDataTypeCombo->AddItem( "Fonts", NULL );
+ m_aComboDataTypeToItemIDMap[ LISTDATATYPE_COLORS ] = m_pListDataTypeCombo->AddItem( "Colors", NULL );
+ m_pListDataTypeCombo->SilentActivateItemByRow( 0 );
+ m_pListDataTypeCombo->AddActionSignalTarget( this );
+
+ m_nSelectedComboItem = m_aComboDataTypeToItemIDMap[ LISTDATATYPE_BORDERS ];
+
+ UpdateList( LISTDATATYPE_BORDERS );
+
+ ivgui()->AddTickSignal( GetVPanel(), 100 );
+}
+
+CSchemeVisualizer::~CSchemeVisualizer()
+{
+ ivgui()->RemoveTickSignal( GetVPanel() );
+}
+
+void CSchemeVisualizer::PerformLayout()
+{
+ BaseClass::PerformLayout();
+
+ const int nComboWidth = XRES( 50 );
+ m_pListDataTypeCombo->SetBounds(
+ GetWide() - nComboWidth - XRES( 10 ),
+ YRES( 2 ),
+ nComboWidth,
+ YRES( 8 )
+ );
+
+ const int nHorzBuffer = XRES( 2 );
+ const int nVertBuffer = YRES( 10 );
+ m_pList->SetBounds( nHorzBuffer, nVertBuffer, GetWide() - 2 * nHorzBuffer, GetTall() - 1.5f * nVertBuffer );
+}
+
+void CSchemeVisualizer::UpdateList( ListDataType_t nType )
+{
+ Assert( nType != m_nListDataType );
+
+ // Cache off type
+ m_nListDataType = nType;
+
+ // Clear the list
+ if ( m_pList )
+ {
+ m_pList->MarkForDeletion();
+ }
+ m_pList = new PanelListPanel( this, "ListPanel" );
+ m_pList->SetBgColor( Color( 0, 255, 0, 255 ) );
+ m_pList->SetPaintBackgroundEnabled( true );
+ InvalidateLayout( true, false );
+
+ // Set default column width - may be changed depending on type
+ m_pList->SetFirstColumnWidth( XRES( 50 ) );
+
+ switch( nType )
+ {
+ case LISTDATATYPE_BORDERS: AddBordersToList(); break;
+ case LISTDATATYPE_FONTS: AddFontsToList(); break;
+ case LISTDATATYPE_COLORS: AddColorsToList(); break;
+ }
+}
+
+void CSchemeVisualizer::AddBordersToList()
+{
+ const int nBorderCount = m_pViewScheme->GetBorderCount();
+ for ( int i = 0; i < nBorderCount; ++i )
+ {
+ IBorder *pCurBorder = m_pViewScheme->GetBorderAtIndex( i );
+ CFmtStr fmtName( "BorderPanel_%s", pCurBorder->GetName() );
+ CBorderVisualizerPanel *pNewBorderPanel = new CBorderVisualizerPanel( m_pList, fmtName.Access(), pCurBorder );
+ pNewBorderPanel->SetSize( m_pList->GetWide(), YRES( 45 ) );
+ m_pList->AddItem( new Label( NULL, "Label", pCurBorder->GetName() ), pNewBorderPanel );
+ }
+}
+
+void CSchemeVisualizer::AddFontsToList()
+{
+#ifdef POSIX
+ const char strOAccent[] = { 0xc3, 0x93, 0x00 }; // UTF-8 for U+00D3 (LATIN CAPITAL LETTER O WITH ACUTE)
+#else
+ const uint8 strOAccent[] = { 0xd3, 0x00 };
+#endif
+ // Stick an intl character in here to test accents (O')
+ CFmtStr fmtText( "ABCDEFGHIJKLMN%sPQRSTUVWXYZabcdefhijklmnopqrstuvwxyz0123456789!@#$%%^&*()-_=+", strOAccent );
+
+ const int nFontCount = m_pViewScheme->GetFontCount();
+
+ for ( int i = 0; i < nFontCount; ++i )
+ {
+ HFont hCurFont = m_pViewScheme->GetFontAtIndex( i );
+ const char *pCurFontName = m_pViewScheme->GetFontName( hCurFont );
+ CFmtStr fmtName( "FontPanel_%s", pCurFontName );
+
+ Label *pNewFontLabel = new Label( m_pList, fmtName.Access(), fmtText.Access() );
+ pNewFontLabel->SetFont( hCurFont );
+ pNewFontLabel->SizeToContents();
+ pNewFontLabel->SetWide( m_pList->GetWide() );
+ m_pList->AddItem( new Label( NULL, "Label", pCurFontName ), pNewFontLabel );
+ }
+}
+
+void CSchemeVisualizer::AddColorsToList()
+{
+ KeyValues *pColorData = (KeyValues *)m_pViewScheme->GetColorData();
+ FOR_EACH_SUBKEY( pColorData, pCurColor )
+ {
+ const char *pCurColorName = pCurColor->GetName();
+ CFmtStr fmtName( "ColorPanel_%s", pCurColorName );
+
+ int r = 0, g = 0, b = 0, a = 0;
+ const char *pCurColorRGBA = pCurColor->GetString();
+ if ( sscanf( pCurColorRGBA, "%d %d %d %d", &r, &g, &b, &a) < 3 )
+ {
+ Warning( "Skipping color \"%s\"\n", pCurColorRGBA );
+ continue;
+ }
+
+ CColorVisualizerPanel *pNewColorPanel = new CColorVisualizerPanel( m_pList, fmtName.Access(), Color(r,g,b,a) );
+ pNewColorPanel->SetSize( m_pList->GetWide(), YRES( 25 ) );
+ m_pList->AddItem( new Label( NULL, "Label", pCurColorName ), pNewColorPanel );
+ }
+}
+
+//----------------------------------------------------------------------------------------
+
+static CSchemeVisualizer *g_pSchemeVisualizer = NULL;
+
+//----------------------------------------------------------------------------------------
+
+CON_COMMAND( showschemevisualizer, "Show borders, fonts and colors for a particular scheme. The default is ClientScheme.res" )
+{
+ if ( g_pSchemeVisualizer )
+ {
+ g_pSchemeVisualizer->MarkForDeletion();
+ g_pSchemeVisualizer = NULL;
+ }
+
+ // Load a scheme - defaults to "ClientScheme"
+ const char *pSchemeName = "ClientScheme";
+ if ( args.ArgC() == 2 )
+ {
+ pSchemeName = args.Arg( 1 );
+ }
+ IScheme *pScheme = scheme()->GetIScheme( scheme()->GetScheme( pSchemeName ) );
+
+ Msg( "Using scheme %s...\n", pSchemeName );
+
+ g_pSchemeVisualizer = vgui::SETUP_PANEL( new CSchemeVisualizer( NULL, pScheme, pSchemeName ) );
+ g_pSchemeVisualizer->InvalidateLayout( false, true );
+
+ engine->ClientCmd_Unrestricted( "gameui_activate" );
+
+ const int nWidth = XRES( 300 );
+ const int nHeight = YRES( 300 );
+
+ g_pSchemeVisualizer->SetBounds(
+ ( ScreenWidth() - nWidth ) / 2,
+ ( ScreenHeight() - nHeight ) / 2,
+ nWidth,
+ nHeight
+ );
+
+ g_pSchemeVisualizer->Activate();
+}
+
+void CSchemeVisualizer::OnTick()
+{
+ const int nItemID = m_pListDataTypeCombo->GetActiveItem();
+ if ( m_nSelectedComboItem == nItemID )
+ return;
+
+ // Cache
+ m_nSelectedComboItem = nItemID;
+
+ // Figure out which type was selected
+ ListDataType_t nType = LISTDATATYPE_INVALID;
+ for ( int i = 0; i < (int)NUM_TYPES; ++i )
+ {
+ if ( nItemID == m_aComboDataTypeToItemIDMap[ i ] )
+ {
+ nType = (ListDataType_t)i;
+ break;
+ }
+ }
+
+ AssertMsg( nType != LISTDATATYPE_INVALID, "Couldn't find item ID in list - this should never happen." );
+
+ // Update the list now
+ UpdateList( nType );
} \ No newline at end of file