summaryrefslogtreecommitdiff
path: root/game/client/dod/VGUI/dodbutton.cpp
diff options
context:
space:
mode:
authorFluorescentCIAAfricanAmerican <[email protected]>2020-04-22 12:56:21 -0400
committerFluorescentCIAAfricanAmerican <[email protected]>2020-04-22 12:56:21 -0400
commit3bf9df6b2785fa6d951086978a3e66f49427166a (patch)
tree2c0f1f0c63c4832882bc93814ebd2c2b1c6224e5 /game/client/dod/VGUI/dodbutton.cpp
downloadarchived-source-engine-2018-hl2-src-master.tar.xz
archived-source-engine-2018-hl2-src-master.zip
Diffstat (limited to 'game/client/dod/VGUI/dodbutton.cpp')
-rw-r--r--game/client/dod/VGUI/dodbutton.cpp99
1 files changed, 99 insertions, 0 deletions
diff --git a/game/client/dod/VGUI/dodbutton.cpp b/game/client/dod/VGUI/dodbutton.cpp
new file mode 100644
index 0000000..11e0ade
--- /dev/null
+++ b/game/client/dod/VGUI/dodbutton.cpp
@@ -0,0 +1,99 @@
+//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+// Purpose:
+//
+// $NoKeywords: $
+//=============================================================================//
+
+#include "cbase.h"
+#include "dodbutton.h"
+
+#include <vgui/ISurface.h>
+#include <vgui_controls/EditablePanel.h>
+
+// memdbgon must be the last include file in a .cpp file!!!
+#include <tier0/memdbgon.h>
+
+using namespace vgui;
+
+//===============================================
+// CDODButtonShape - drawing class for dod button shape
+//===============================================
+void CDODButtonShape::DrawShapedBorder( int x, int y, int wide, int tall, Color fgcolor )
+{
+ int halfheight = tall / 3;
+
+ surface()->DrawSetColor(fgcolor);
+
+ // top
+ surface()->DrawLine( 0, 1, wide-1, 1 );
+
+ // left
+ surface()->DrawLine( 1, 1, 1, tall-1 );
+
+ // bottom
+ surface()->DrawLine( 0, tall-1, wide-halfheight, tall-1 );
+
+ // right
+ surface()->DrawLine( wide-1, 0, wide-1, tall-halfheight );
+
+ // diagonal
+ surface()->DrawLine( wide-1, tall-halfheight-1, wide-halfheight-1, tall-1 );
+}
+
+void CDODButtonShape::DrawShapedBackground( int x, int y, int wide, int tall, Color bgcolor )
+{
+ int halfheight = tall / 3;
+
+ if ( m_iWhiteTexture < 0 )
+ {
+ m_iWhiteTexture = vgui::surface()->CreateNewTextureID();
+ vgui::surface()->DrawSetTextureFile( m_iWhiteTexture, "vgui/white" , true, false);
+ }
+
+ surface()->DrawSetColor(bgcolor);
+ surface()->DrawSetTexture( m_iWhiteTexture );
+
+ Vertex_t verts[5];
+
+ verts[0].Init( Vector2D( 0, 0 ) );
+ verts[1].Init( Vector2D( wide-1, 0 ) );
+ verts[2].Init( Vector2D( wide-1, tall-halfheight ) );
+ verts[3].Init( Vector2D( wide-halfheight, tall-1 ) );
+ verts[4].Init( Vector2D( 0, tall-1 ) );
+
+ surface()->DrawTexturedPolygon(5, verts);
+
+ surface()->DrawSetTexture(0);
+}
+
+//===============================================
+// CDODButton - shaped button
+//===============================================
+void CDODButton::PaintBackground()
+{
+ int wide, tall;
+ GetSize(wide,tall);
+ DrawShapedBackground( 0, 0, wide, tall, GetBgColor() );
+}
+
+void CDODButton::PaintBorder()
+{
+ int wide, tall;
+ GetSize(wide,tall);
+ DrawShapedBorder( 0, 0, wide, tall, GetFgColor() );
+}
+
+//===============================================
+// CDODProgressBar - used for weapon stat bars
+//===============================================
+void CDODProgressBar::ApplySchemeSettings(IScheme *pScheme)
+{
+ BaseClass::ApplySchemeSettings(pScheme);
+
+ SetFgColor( GetSchemeColor("ClassMenuLight", pScheme ) );
+ SetBgColor( GetSchemeColor("ClassMenuDark", pScheme ) );
+ SetBarInset(0);
+ SetSegmentInfo( 0, 1 );
+ SetBorder(NULL);
+} \ No newline at end of file