//========= 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