Team Fortress 2 Source Code as on 22/4/2020
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.

66 lines
1.5 KiB

  1. //========= Copyright Valve Corporation, All rights reserved. ============//
  2. //
  3. // Purpose:
  4. //
  5. // $NoKeywords: $
  6. //=============================================================================//
  7. #ifndef IBORDER_H
  8. #define IBORDER_H
  9. #ifdef _WIN32
  10. #pragma once
  11. #endif
  12. #include <vgui/VGUI.h>
  13. class KeyValues;
  14. namespace vgui
  15. {
  16. class IScheme;
  17. //-----------------------------------------------------------------------------
  18. // Purpose: Interface to panel borders
  19. // Borders have a close relationship with panels
  20. // They are the edges of the panel.
  21. //-----------------------------------------------------------------------------
  22. class IBorder
  23. {
  24. public:
  25. IBorder() {}
  26. virtual ~IBorder() {}
  27. virtual void Paint(VPANEL panel) = 0;
  28. virtual void Paint(int x0, int y0, int x1, int y1) = 0;
  29. virtual void Paint(int x0, int y0, int x1, int y1, int breakSide, int breakStart, int breakStop) = 0;
  30. virtual void SetInset(int left, int top, int right, int bottom) = 0;
  31. virtual void GetInset(int &left, int &top, int &right, int &bottom) = 0;
  32. virtual void ApplySchemeSettings(IScheme *pScheme, KeyValues *inResourceData) = 0;
  33. virtual const char *GetName() = 0;
  34. virtual void SetName(const char *name) = 0;
  35. enum backgroundtype_e
  36. {
  37. BACKGROUND_FILLED,
  38. BACKGROUND_TEXTURED,
  39. BACKGROUND_ROUNDEDCORNERS,
  40. };
  41. virtual backgroundtype_e GetBackgroundType() = 0;
  42. enum sides_e
  43. {
  44. SIDE_LEFT = 0,
  45. SIDE_TOP = 1,
  46. SIDE_RIGHT = 2,
  47. SIDE_BOTTOM = 3
  48. };
  49. virtual bool PaintFirst( void ) = 0;
  50. };
  51. } // namespace vgui
  52. #endif // IBORDER_H