57 lines
1.8 KiB
C++
57 lines
1.8 KiB
C++
//========= Copyright © 1996-2005, Valve Corporation, All rights reserved. ============//
|
|
//
|
|
// Purpose:
|
|
//
|
|
// $Workfile: $
|
|
// $Date: $
|
|
//
|
|
//-----------------------------------------------------------------------------
|
|
// $Log: $
|
|
//
|
|
// $NoKeywords: $
|
|
//=============================================================================//
|
|
#if !defined( IMESSAGECHARS_H )
|
|
#define IMESSAGECHARS_H
|
|
#ifdef _WIN32
|
|
#pragma once
|
|
#endif
|
|
|
|
#include <vgui/VGUI.h>
|
|
|
|
namespace vgui
|
|
{
|
|
class Panel;
|
|
typedef unsigned long HFont;
|
|
}
|
|
|
|
abstract_class IMessageChars
|
|
{
|
|
public:
|
|
enum
|
|
{
|
|
MESSAGESTRINGID_NONE = -1,
|
|
MESSAGESTRINGID_BASE = 0
|
|
};
|
|
|
|
virtual void Create( vgui::VPANEL parent ) = 0;
|
|
virtual void Destroy( void ) = 0;
|
|
|
|
// messageID can be MESSAGESTRINGID_NONE or MESSAGESTRINGID_BASE plus some offset. You can refer to the message by
|
|
// its ID later.
|
|
virtual int DrawString( vgui::HFont pCustomFont, int x, int y, int r, int g, int b, int a, const char *fmt, int messageID, ... ) = 0;
|
|
virtual int DrawString( vgui::HFont pCustomFont, int x, int y, const char *fmt, int messageID, ... ) = 0;
|
|
|
|
virtual int DrawStringForTime( float flTime, vgui::HFont pCustomFont, int x, int y, int r, int g, int b, int a, const char *fmt, int messageID, ... ) = 0;
|
|
virtual int DrawStringForTime( float flTime, vgui::HFont pCustomFont, int x, int y, const char *fmt, int messageID, ... ) = 0;
|
|
|
|
// Remove all messages with the specified ID (passed into DrawStringForTime).
|
|
virtual void RemoveStringsByID( int messageID ) = 0;
|
|
|
|
virtual void GetStringLength( vgui::HFont pCustomFont, int *width, int *height, const char *fmt, ... ) = 0;
|
|
|
|
virtual void Clear( void ) = 0;
|
|
};
|
|
|
|
extern IMessageChars *messagechars;
|
|
|
|
#endif // IMESSAGECHARS_H
|