diff options
Diffstat (limited to 'public/vgui/IBorder.h')
| -rw-r--r-- | public/vgui/IBorder.h | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/public/vgui/IBorder.h b/public/vgui/IBorder.h new file mode 100644 index 0000000..e1237eb --- /dev/null +++ b/public/vgui/IBorder.h @@ -0,0 +1,66 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +// $NoKeywords: $ +//=============================================================================// + +#ifndef IBORDER_H +#define IBORDER_H + +#ifdef _WIN32 +#pragma once +#endif + +#include <vgui/VGUI.h> + +class KeyValues; + +namespace vgui +{ + +class IScheme; + +//----------------------------------------------------------------------------- +// Purpose: Interface to panel borders +// Borders have a close relationship with panels +// They are the edges of the panel. +//----------------------------------------------------------------------------- +class IBorder +{ +public: + IBorder() {} + virtual ~IBorder() {} + + virtual void Paint(VPANEL panel) = 0; + virtual void Paint(int x0, int y0, int x1, int y1) = 0; + virtual void Paint(int x0, int y0, int x1, int y1, int breakSide, int breakStart, int breakStop) = 0; + virtual void SetInset(int left, int top, int right, int bottom) = 0; + virtual void GetInset(int &left, int &top, int &right, int &bottom) = 0; + virtual void ApplySchemeSettings(IScheme *pScheme, KeyValues *inResourceData) = 0; + virtual const char *GetName() = 0; + virtual void SetName(const char *name) = 0; + + enum backgroundtype_e + { + BACKGROUND_FILLED, + BACKGROUND_TEXTURED, + BACKGROUND_ROUNDEDCORNERS, + }; + virtual backgroundtype_e GetBackgroundType() = 0; + + enum sides_e + { + SIDE_LEFT = 0, + SIDE_TOP = 1, + SIDE_RIGHT = 2, + SIDE_BOTTOM = 3 + }; + + virtual bool PaintFirst( void ) = 0; +}; + +} // namespace vgui + + +#endif // IBORDER_H |