//========= Copyright Valve Corporation, All rights reserved. ============// // // Purpose: // // $NoKeywords: $ //=============================================================================// #ifndef MXSTATUSWINDOW_H #define MXSTATUSWINDOW_H #ifdef _WIN32 #pragma once #endif #include "faceposertoolwindow.h" class mxScrollbar; #define IDC_STATUS_SCROLL 1000 class mxStatusWindow : public mxWindow, public IFacePoserToolWindow { public: mxStatusWindow (mxWindow *parent, int x, int y, int w, int h, const char *label = 0 ); ~mxStatusWindow(); void StatusPrint( COLORREF clr, bool overwrite, const char *text ); virtual void DrawActiveTool(); 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 ]; COLORREF rgb; float curtime; }; TextLine m_rgTextLines[ MAX_TEXT_LINES ]; int m_nCurrentLine; mxScrollbar *m_pScrollbar; }; extern mxStatusWindow *g_pStatusWindow; #endif // MXSTATUSWINDOW_H