diff --git a/.github/dependabot.yml b/.github/dependabot.yml
index 121f504..073ff68 100644
--- a/.github/dependabot.yml
+++ b/.github/dependabot.yml
@@ -4,5 +4,3 @@ updates:
directory: "/"
schedule:
interval: "daily"
- assignees:
- - "matt-edmondson"
diff --git a/.github/workflows/dependabot-merge.yml b/.github/workflows/dependabot-merge.yml
index eead6cf..0d1e6e7 100644
--- a/.github/workflows/dependabot-merge.yml
+++ b/.github/workflows/dependabot-merge.yml
@@ -16,7 +16,7 @@ jobs:
with:
github-token: "${{ secrets.GITHUB_TOKEN }}"
- name: Enable auto-merge for Dependabot PRs
- if: steps.metadata.outputs.update-type == 'version-update:semver-patch'
+ if: steps.metadata.outputs.update-type == 'version-update:semver-major'
run: gh pr merge --auto --merge "$PR_URL"
env:
PR_URL: ${{github.event.pull_request.html_url}}
diff --git a/.github/workflows/dotnet.yml b/.github/workflows/dotnet.yml
index 54a6b09..1230fe0 100644
--- a/.github/workflows/dotnet.yml
+++ b/.github/workflows/dotnet.yml
@@ -1,10 +1,10 @@
-name: Build and Analyze
+name: Build and Test
on:
push:
branches: [ "main" ]
pull_request:
- types: [opened, synchronize, reopened]
+ types: [opened, synchronize, reopened, closed]
permissions:
packages: write
@@ -12,5 +12,5 @@ permissions:
jobs:
build-dotnet-library:
- uses: ktsu-io/workflows/.github/workflows/build-dotnet-library.yml@main
+ uses: ktsu-dev/workflows/.github/workflows/build-dotnet-library.yml@main
secrets: inherit
diff --git a/AUTHORS b/AUTHORS
index 04c95b7..8bd23fb 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -1 +1 @@
-ktsu.io
\ No newline at end of file
+ktsu
diff --git a/Directory.Build.targets b/Directory.Build.targets
index 4783657..bcc0d39 100644
--- a/Directory.Build.targets
+++ b/Directory.Build.targets
@@ -89,7 +89,7 @@
-
+
diff --git a/ImGuiApp/ForceDpiAware.cs b/ImGuiApp/ForceDpiAware.cs
index a65fb9d..bf0b455 100644
--- a/ImGuiApp/ForceDpiAware.cs
+++ b/ImGuiApp/ForceDpiAware.cs
@@ -1,7 +1,7 @@
// Adapted From: https://github.com/Ryujinx/Ryujinx/blob/master/src/Ryujinx.Common/SystemInterop/ForceDpiAware.cs
// License: MIT
-namespace ktsu.io.ImGuiApp;
+namespace ktsu.ImGuiApp;
using System.Globalization;
using System.Runtime.InteropServices;
diff --git a/ImGuiApp/GdiPlusHelper.cs b/ImGuiApp/GdiPlusHelper.cs
index 1b22157..4cc6ced 100644
--- a/ImGuiApp/GdiPlusHelper.cs
+++ b/ImGuiApp/GdiPlusHelper.cs
@@ -1,7 +1,7 @@
// Adapted From: https://github.com/Ryujinx/Ryujinx/blob/master/src/Ryujinx.Common/SystemInterop/GdiPlusHelper.cs
// License: MIT
-namespace ktsu.io.ImGuiApp;
+namespace ktsu.ImGuiApp;
using System.Runtime.InteropServices;
using System.Runtime.Versioning;
diff --git a/ImGuiApp/ImGuiApp.cs b/ImGuiApp/ImGuiApp.cs
index 7d675cf..8f1ea06 100644
--- a/ImGuiApp/ImGuiApp.cs
+++ b/ImGuiApp/ImGuiApp.cs
@@ -1,6 +1,6 @@
// Ignore Spelling: App Im
-namespace ktsu.io.ImGuiApp;
+namespace ktsu.ImGuiApp;
using System.Collections.Concurrent;
using System.Collections.ObjectModel;
@@ -8,7 +8,8 @@ namespace ktsu.io.ImGuiApp;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using ImGuiNET;
-using ktsu.io.StrongPaths;
+using ktsu.Extensions;
+using ktsu.StrongPaths;
using Silk.NET.Input;
using Silk.NET.OpenGL;
using Silk.NET.OpenGL.Extensions.ImGui;
@@ -47,6 +48,7 @@ public static ImGuiAppWindowState WindowState
private static int[] FontSizes { get; } = [12, 13, 14, 16, 18, 20, 24, 28, 32, 40, 48];
private static Dictionary Fonts { get; } = [];
+ private static Collection FontDataPtrs { get; } = [];
public static bool IsFocused { get; private set; } = true;
public static bool IsVisible => (window?.WindowState != Silk.NET.Windowing.WindowState.Minimized) && (window?.IsVisible ?? false);
@@ -254,6 +256,9 @@ public static void Start(AppConfig config)
{
lock (LockGL)
{
+ // Free the natively allocated font data
+ FontDataPtrs.ForEach(p => Marshal.FreeHGlobal(p));
+
// Dispose our controller first
controller?.Dispose();
@@ -457,6 +462,7 @@ internal static void InitFonts()
var io = ImGui.GetIO();
var fontAtlasPtr = io.Fonts;
nint fontBytesPtr = Marshal.AllocHGlobal(fontBytes.Length);
+ FontDataPtrs.Add(fontBytesPtr);
Marshal.Copy(fontBytes, 0, fontBytesPtr, fontBytes.Length);
_ = fontAtlasPtr.AddFontDefault();
foreach (int size in FontSizes)
@@ -469,6 +475,7 @@ internal static void InitFonts()
OversampleH = 2,
OversampleV = 2,
PixelSnapH = true,
+ FontDataOwnedByAtlas = false,
};
_ = fontAtlasPtr.AddFontFromMemoryTTF(fontBytesPtr, fontBytes.Length, size, fontConfig, fontAtlasPtr.GetGlyphRangesDefault());
}
diff --git a/ImGuiApp/ImGuiApp.csproj b/ImGuiApp/ImGuiApp.csproj
index 70948a6..369b899 100644
--- a/ImGuiApp/ImGuiApp.csproj
+++ b/ImGuiApp/ImGuiApp.csproj
@@ -5,8 +5,8 @@
-
-
+
+
diff --git a/ImGuiApp/Resources/Resources.Designer.cs b/ImGuiApp/Resources/Resources.Designer.cs
index 2d75e13..c30ffe0 100644
--- a/ImGuiApp/Resources/Resources.Designer.cs
+++ b/ImGuiApp/Resources/Resources.Designer.cs
@@ -8,7 +8,7 @@
//
//------------------------------------------------------------------------------
-namespace ktsu.io.ImGuiApp.Resources {
+namespace ktsu.ImGuiApp.Resources {
using System;
@@ -39,7 +39,7 @@ internal Resources() {
internal static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
- global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("ktsu.io.ImGuiApp.Resources.Resources", typeof(Resources).Assembly);
+ global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("ktsu.ImGuiApp.Resources.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
diff --git a/ImGuiApp/UIScaler.cs b/ImGuiApp/UIScaler.cs
index 21117fd..24e1ab4 100644
--- a/ImGuiApp/UIScaler.cs
+++ b/ImGuiApp/UIScaler.cs
@@ -1,6 +1,6 @@
-namespace ktsu.io.ImGuiApp;
+namespace ktsu.ImGuiApp;
-using ktsu.io.ScopedAction;
+using ktsu.ScopedAction;
using ImGuiNET;
using System.Numerics;
diff --git a/ImGuiAppDemo/ImGuiAppDemo.cs b/ImGuiAppDemo/ImGuiAppDemo.cs
index 262a4c3..3207d61 100644
--- a/ImGuiAppDemo/ImGuiAppDemo.cs
+++ b/ImGuiAppDemo/ImGuiAppDemo.cs
@@ -1,11 +1,11 @@
// Ignore Spelling: App Im
-namespace ktsu.io.ImGuiApp.Demo;
+namespace ktsu.ImGuiApp.Demo;
using System.Runtime.InteropServices;
using ImGuiNET;
-using ktsu.io.ImGuiApp;
-using ktsu.io.ImGuiApp.Demo.Properties;
+using ktsu.ImGuiApp;
+using ktsu.ImGuiApp.Demo.Properties;
internal static class ImGuiAppDemo
{
diff --git a/ImGuiAppDemo/Properties/Resources.Designer.cs b/ImGuiAppDemo/Properties/Resources.Designer.cs
index 4fff2ab..581b950 100644
--- a/ImGuiAppDemo/Properties/Resources.Designer.cs
+++ b/ImGuiAppDemo/Properties/Resources.Designer.cs
@@ -8,7 +8,7 @@
//
//------------------------------------------------------------------------------
-namespace ktsu.io.ImGuiApp.Demo.Properties {
+namespace ktsu.ImGuiApp.Demo.Properties {
using System;
@@ -39,7 +39,7 @@ internal Resources() {
internal static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
- global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("ktsu.io.ImGuiApp.Demo.Properties.Resources", typeof(Resources).Assembly);
+ global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("ktsu.ImGuiApp.Demo.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
diff --git a/LICENSE b/LICENSE
index 648193e..933c4ac 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,6 +1,6 @@
MIT License
-Copyright (c) 2023-2024 ktsu.io
+Copyright (c) 2023-2024 ktsu.dev
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/README.md b/README.md
index a40ee67..5dc88ed 100644
--- a/README.md
+++ b/README.md
@@ -4,10 +4,10 @@ A bootstrap library to give you an environment to build an ImGUI.NET application
## Minimal Example
```csharp
-namespace ktsu.io.ImGuiAppDemo;
+namespace ktsu.ImGuiAppDemo;
using ImGuiNET;
-using ktsu.io.ImGuiApp;
+using ktsu.ImGuiApp;
internal class ImGuiAppDemo
{
diff --git a/VERSION b/VERSION
index 13188ca..c58112e 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-1.0.0-alpha.33
+1.0.0-alpha.36