From 019ac6f4aecf615f3fc665e8092eebd514c61999 Mon Sep 17 00:00:00 2001 From: "H. Utku Maden" Date: Sat, 1 Aug 2026 17:38:27 +0300 Subject: [PATCH] Add Begin() and End() functions to each extension for pre/post frame tasks. --- Dashboard.Common/Pal/DeviceContext.cs | 16 ++++++++++++++-- Dashboard.Common/Pal/IDeviceContextExtension.cs | 2 ++ 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/Dashboard.Common/Pal/DeviceContext.cs b/Dashboard.Common/Pal/DeviceContext.cs index a6be2e3..b61e99a 100644 --- a/Dashboard.Common/Pal/DeviceContext.cs +++ b/Dashboard.Common/Pal/DeviceContext.cs @@ -42,11 +42,23 @@ namespace Dashboard.Pal Dispose(false); } - public virtual void Begin() { } + public virtual void Begin() + { + foreach (IDeviceContextExtension extension in _extensions) + { + extension.Begin(); + } + } // public abstract void Paint(object renderbuffer); - public virtual void End() { } + public virtual void End() + { + foreach (IDeviceContextExtension extension in _extensions) + { + extension.End(); + } + } public bool IsExtensionAvailable() where T : IDeviceContextExtension { diff --git a/Dashboard.Common/Pal/IDeviceContextExtension.cs b/Dashboard.Common/Pal/IDeviceContextExtension.cs index 87f7a8e..a967e58 100644 --- a/Dashboard.Common/Pal/IDeviceContextExtension.cs +++ b/Dashboard.Common/Pal/IDeviceContextExtension.cs @@ -2,5 +2,7 @@ namespace Dashboard.Pal { public interface IDeviceContextExtension : IContextExtensionBase { + void Begin() {} + void End() {} } }