Seaside/SpyCustom/IVGUI.h
2021-06-16 16:11:47 +03:00

79 lines
1.8 KiB
C++

#ifndef IVGUI_H
#define IVGUI_H
#ifdef _WIN32
#pragma once
#endif
#include "interface.h"
#include "VGUI.h"
#include "IAppSystem.h"
class KeyValues;
namespace vgui
{
typedef unsigned long HPanel;
typedef int HContext;
enum
{
DEFAULT_VGUI_CONTEXT = ((vgui::HContext)~0)
};
typedef unsigned long HPanel;
class IVGui : public IAppSystem
{
public:
virtual void Start() = 0;
virtual void Stop() = 0;
virtual bool IsRunning() = 0;
virtual void RunFrame() = 0;
virtual void ShutdownMessage(unsigned int shutdownID) = 0;
virtual VPANEL AllocPanel() = 0;
virtual void FreePanel(VPANEL panel) = 0;
virtual void DPrintf(PRINTF_FORMAT_STRING const char* format, ...) = 0;
virtual void DPrintf2(PRINTF_FORMAT_STRING const char* format, ...) = 0;
virtual void SpewAllActivePanelNames() = 0;
virtual HPanel PanelToHandle(VPANEL panel) = 0;
virtual VPANEL HandleToPanel(HPanel index) = 0;
virtual void MarkPanelForDeletion(VPANEL panel) = 0;
virtual void AddTickSignal(VPANEL panel, int intervalMilliseconds = 0) = 0;
virtual void RemoveTickSignal(VPANEL panel) = 0;
virtual void PostMessage(VPANEL target, KeyValues* params, VPANEL from, float delaySeconds = 0.0f) = 0;
virtual HContext CreateContext() = 0;
virtual void DestroyContext(HContext context) = 0;
virtual void AssociatePanelWithContext(HContext context, VPANEL pRoot) = 0;
virtual void ActivateContext(HContext context) = 0;
virtual void SetSleep(bool state) = 0;
virtual bool GetShouldVGuiControlSleep() = 0;
virtual void SetVRMode(bool bVRMode) = 0;
virtual bool GetVRMode() = 0;
virtual void AddTickSignalToHead(VPANEL panel, int intervalMilliseconds = 0) = 0;
};
#define VGUI_IVGUI_INTERFACE_VERSION "VGUI_ivgui008"
};
#endif