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

71 lines
1.7 KiB
C++

#ifndef ICLIENTPANEL_H
#define ICLIENTPANEL_H
#ifdef _WIN32
#pragma once
#endif
#include "VGUI.h"
#ifdef GetClassName
#undef GetClassName
#endif
class KeyValues;
namespace vgui
{
class Panel;
class SurfaceBase;
enum EInterfaceID
{
ICLIENTPANEL_STANDARD_INTERFACE = 0,
};
class IClientPanel
{
public:
virtual VPANEL GetVPanel() = 0;
virtual void Think() = 0;
virtual void PerformApplySchemeSettings() = 0;
virtual void PaintTraverse(bool forceRepaint, bool allowForce) = 0;
virtual void Repaint() = 0;
virtual VPANEL IsWithinTraverse(int x, int y, bool traversePopups) = 0;
virtual void GetInset(int& top, int& left, int& right, int& bottom) = 0;
virtual void GetClipRect(int& x0, int& y0, int& x1, int& y1) = 0;
virtual void OnChildAdded(VPANEL child) = 0;
virtual void OnSizeChanged(int newWide, int newTall) = 0;
virtual void InternalFocusChanged(bool lost) = 0;
virtual bool RequestInfo(KeyValues* outputData) = 0;
virtual void RequestFocus(int direction) = 0;
virtual bool RequestFocusPrev(VPANEL existingPanel) = 0;
virtual bool RequestFocusNext(VPANEL existingPanel) = 0;
virtual void OnMessage(const KeyValues* params, VPANEL ifromPanel) = 0;
virtual VPANEL GetCurrentKeyFocus() = 0;
virtual int GetTabPosition() = 0;
virtual const char* GetName() = 0;
virtual const char* GetClassName() = 0;
virtual HScheme GetScheme() = 0;
virtual bool IsProportional() = 0;
virtual bool IsAutoDeleteSet() = 0;
virtual void DeletePanel() = 0;
virtual void* QueryInterface(EInterfaceID id) = 0;
virtual Panel* GetPanel() = 0;
virtual const char* GetModuleName() = 0;
virtual void OnTick() = 0;
};
}
#endif