Seaside/SpyCustom/IBorder.h
2021-06-16 16:10:20 +03:00

54 lines
1.1 KiB
C++

#ifndef IBORDER_H
#define IBORDER_H
#ifdef _WIN32
#pragma once
#endif
#include "VGUI.h"
class KeyValues;
namespace vgui
{
class IScheme;
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;
};
}
#endif