You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
63 lines
3.2 KiB
63 lines
3.2 KiB
//========= Copyright Valve Corporation, All rights reserved. ============// |
|
// |
|
// Purpose: |
|
// |
|
// $NoKeywords: $ |
|
// |
|
//=============================================================================// |
|
// |
|
// cdll_int.h |
|
// |
|
// 4-23-98 |
|
// JOHN: client dll interface declarations |
|
// |
|
|
|
#ifndef IVDEBUGOVERLAY_H |
|
#define IVDEBUGOVERLAY_H |
|
|
|
#ifdef _WIN32 |
|
#pragma once |
|
#endif |
|
|
|
class Vector; |
|
|
|
#define VDEBUG_OVERLAY_INTERFACE_VERSION "VDebugOverlay003" |
|
|
|
// When used as a duration by a server-side NDebugOverlay:: call, |
|
// causes the overlay to persist until the next server update. |
|
#define NDEBUG_PERSIST_TILL_NEXT_SERVER (0.0f) |
|
|
|
class OverlayText_t; |
|
|
|
abstract_class IVDebugOverlay |
|
{ |
|
public: |
|
virtual void AddEntityTextOverlay(int ent_index, int line_offset, float duration, int r, int g, int b, int a, PRINTF_FORMAT_STRING const char *format, ...) = 0; |
|
virtual void AddBoxOverlay(const Vector& origin, const Vector& mins, const Vector& max, QAngle const& orientation, int r, int g, int b, int a, float duration) = 0; |
|
virtual void AddTriangleOverlay(const Vector& p1, const Vector& p2, const Vector& p3, int r, int g, int b, int a, bool noDepthTest, float duration) = 0; |
|
virtual void AddLineOverlay(const Vector& origin, const Vector& dest, int r, int g, int b,bool noDepthTest, float duration) = 0; |
|
virtual void AddTextOverlay(const Vector& origin, float duration, PRINTF_FORMAT_STRING const char *format, ...) = 0; |
|
virtual void AddTextOverlay(const Vector& origin, int line_offset, float duration, PRINTF_FORMAT_STRING const char *format, ...) = 0; |
|
virtual void AddScreenTextOverlay(float flXPos, float flYPos,float flDuration, int r, int g, int b, int a, const char *text) = 0; |
|
virtual void AddSweptBoxOverlay(const Vector& start, const Vector& end, const Vector& mins, const Vector& max, const QAngle & angles, int r, int g, int b, int a, float flDuration) = 0; |
|
virtual void AddGridOverlay(const Vector& origin) = 0; |
|
virtual int ScreenPosition(const Vector& point, Vector& screen) = 0; |
|
virtual int ScreenPosition(float flXPos, float flYPos, Vector& screen) = 0; |
|
|
|
virtual OverlayText_t *GetFirst( void ) = 0; |
|
virtual OverlayText_t *GetNext( OverlayText_t *current ) = 0; |
|
virtual void ClearDeadOverlays( void ) = 0; |
|
virtual void ClearAllOverlays() = 0; |
|
|
|
virtual void AddTextOverlayRGB(const Vector& origin, int line_offset, float duration, float r, float g, float b, float alpha, PRINTF_FORMAT_STRING const char *format, ...) = 0; |
|
virtual void AddTextOverlayRGB(const Vector& origin, int line_offset, float duration, int r, int g, int b, int a, PRINTF_FORMAT_STRING const char *format, ...) = 0; |
|
|
|
virtual void AddLineOverlayAlpha(const Vector& origin, const Vector& dest, int r, int g, int b, int a, bool noDepthTest, float duration) = 0; |
|
virtual void AddBoxOverlay2( const Vector& origin, const Vector& mins, const Vector& max, QAngle const& orientation, const Color& faceColor, const Color& edgeColor, float duration ) = 0; |
|
|
|
private: |
|
inline void AddTextOverlay(const Vector& origin, int line_offset, float duration, int r, int g, int b, int a, PRINTF_FORMAT_STRING const char *format, ...) {} /* catch improper use of bad interface. Needed because '0' duration can be resolved by compiler to NULL format string (i.e., compiles but calls wrong function) */ |
|
}; |
|
|
|
|
|
#endif // IVDEBUGOVERLAY_H
|
|
|