From 001bd346a9e21580eb9398b37d5f29f290cbe583 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Simon=20L=C3=BCbe=C3=9F?= Date: Fri, 13 Nov 2020 19:44:16 +0100 Subject: [PATCH] Added NativeWindow-property to Window --- .../src/Platform/Windows/WindowsWindow.bf | 2 ++ GlitchyEngine/src/Window.bf | 15 +++++++++------ 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/GlitchyEngine/src/Platform/Windows/WindowsWindow.bf b/GlitchyEngine/src/Platform/Windows/WindowsWindow.bf index ed77ab6..367bfc2 100644 --- a/GlitchyEngine/src/Platform/Windows/WindowsWindow.bf +++ b/GlitchyEngine/src/Platform/Windows/WindowsWindow.bf @@ -126,6 +126,8 @@ namespace GlitchyEngine.Platform.Windows set => _isVSync = value; } + public override void* NativeWindow => (void*)(int)_windowHandle; + public this(WindowDescription desc) { _minMaxInfo.MaximumTrackingSize.x = int32.MaxValue; diff --git a/GlitchyEngine/src/Window.bf b/GlitchyEngine/src/Window.bf index ab1b8cb..8372569 100644 --- a/GlitchyEngine/src/Window.bf +++ b/GlitchyEngine/src/Window.bf @@ -27,18 +27,12 @@ namespace GlitchyEngine } } - // Todo: interface? public abstract class Window { public delegate void EventCallback(Event e); protected EventCallback _eventCallback ~ delete _; - /** - * Function used to create a platform specific window. - */ - public static extern Window CreateWindow(WindowDescription description); - /** * Gets or Sets the minimum width of the window. */ @@ -85,6 +79,10 @@ namespace GlitchyEngine */ public abstract bool IsVSync {get; set;} + + + public abstract void* NativeWindow {get;} + public EventCallback EventCallback { get => _eventCallback; @@ -92,5 +90,10 @@ namespace GlitchyEngine } public abstract void Update(); + + /** + * Function used to create a platform specific window. + */ + public static extern Window CreateWindow(WindowDescription description); } }