hl2_src-leak-2017/src/utils/scenemanager/statuswindow.h

58 lines
1.0 KiB
C++

//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose:
//
//=============================================================================//
#ifndef STATUSWINDOW_H
#define STATUSWINDOW_H
#ifdef _WIN32
#pragma once
#endif
class mxScrollbar;
#define IDC_STATUS_SCROLL 1000
class CStatusWindow : public mxWindow
{
public:
CStatusWindow (mxWindow *parent, int x, int y, int w, int h, const char *label = 0 );
~CStatusWindow();
void StatusPrint( int r, int g, int b, bool overwrite, const char *text );
virtual void redraw();
virtual bool PaintBackground( void );
virtual int handleEvent( mxEvent *event );
// virtual void Think( float dt );
private:
void PositionSliders( int sboffset );
enum
{
MAX_TEXT_LINES = 1024,
TEXT_LINE_MASK = MAX_TEXT_LINES - 1,
};
struct TextLine
{
char m_szText[ 512 ];
int r, g, b;
float curtime;
};
TextLine m_rgTextLines[ MAX_TEXT_LINES ];
int m_nCurrentLine;
mxScrollbar *m_pScrollbar;
};
extern CStatusWindow *g_pStatusWindow;
#endif // STATUSWINDOW_H