using System.Runtime.InteropServices; using Decal.Interop.Core; using Decal.Interop.Render; namespace Decal.DecalRender { [ComVisible(true)] [Guid("218432A3-8960-4D91-BBC6-8CDC105C191E")] [ClassInterface(ClassInterfaceType.None)] [ProgId("DecalRender.HUDBackground")] public class HUDBackgroundImpl : IHUDBackground { private object _surface; private tagRECT _region; // IRenderTarget public bool Lost => false; public void SetSurface(object pSurface) => _surface = pSurface; public object GetSurface() => _surface; public tagRECT Region { get => _region; set => _region = value; } public tagRECT Constraints => _region; public void Fill(ref tagRECT FillArea, int Color) { } public void Clear(ref tagRECT ClearArea) { } public void BeginRender(bool bFilterTexture) { } public void EndRender() { } public void BeginText(string FontName, int lHeight, int lWeight, bool bItalic) { } public void EndText() { } public void DrawPortalImage(int lPortalFile, ref tagRECT DestArea) { } public void DrawPortalImageEx(int lPortalFile, int lAlpha, ref tagRECT SrcArea, ref tagRECT DestArea) { } public void DrawImage(int pBuffer, int lSize, ref tagRECT DestRegion, int lColorKey) { } public void WriteText(ref tagRECT Region, int lColor, int lFormat, string Text) { } public void TilePortalImage(int lPortalFile, ref tagRECT DestArea) { } public void TilePortalImageEx(int lPortalFile, ref tagRECT SrcArea, ref tagRECT DestArea) { } public RenderTargetWrapper Constrain(ref tagRECT Region) { return (RenderTargetWrapper)(object)new RenderTargetWrapperImpl(); } // IHUDBackground public HUDBackground Clone() { var clone = new HUDBackgroundImpl { _region = _region, _surface = _surface }; return (HUDBackground)(object)clone; } } }