mirror of
https://github.com/0TheSpy/Seaside.git
synced 2025-01-07 10:03:29 +08:00
79 lines
1.8 KiB
C++
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 |