source-engine/utils/hlfaceposer/mxstatuswindow.h

62 lines
1.2 KiB
C
Raw Normal View History

2020-04-22 16:56:21 +00:00
//========= 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