Skip to content

Commit 54c9e2f

Browse files
committed
Bump version to 1.2.0 and update README
1 parent c282741 commit 54c9e2f

3 files changed

Lines changed: 7 additions & 7 deletions

File tree

DotGLFW/DotGLFW.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
<PackageId>DotGLFW</PackageId>
1818
<Authors>dcronqvist</Authors>
1919
<Title>DotGLFW</Title>
20-
<Description>DotGLFW is a C# wrapper for GLFW, a multi-platform library with included GLFW binaries for creating windows with OpenGL contexts and managing input and events.</Description>
20+
<Description>DotGLFW is a C# binding to GLFW, a multi-platform library for creating windows, graphics contexts, managing input and events. Ships with pre-compiled binaries for Windows and MacOS.</Description>
2121
<RepositoryType>git</RepositoryType>
2222
<RepositoryUrl>https://github.com/dcronqvist/DotGLFW</RepositoryUrl>
2323
<PackageReadmeFile>README.md</PackageReadmeFile>

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ endef
6767
endif
6868

6969
# DOTGLFW VERSION
70-
DOTGLFW_VERSION := 1.1.0
70+
DOTGLFW_VERSION := 1.2.0
7171

7272
# VERSION OF GLFW TO DOWNLOAD
7373
GLFW_VERSION := 3.4

README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,25 @@
11
# ☕ DotGLFW [![Nuget](https://img.shields.io/nuget/v/DotGLFW)](https://www.nuget.org/packages/DotGLFW) [![Targets](https://img.shields.io/badge/targets-netstandard2.0;net8.0-blue)](https://docs.microsoft.com/en-us/dotnet/standard/net-standard) [![Nuget](https://img.shields.io/nuget/dt/DotGLFW)](https://www.nuget.org/packages/DotGLFW)
22

3-
A 1:1 mapping of the native GLFW API for .NET, with a lightweight managed wrapper for easy integration in your projects! It also includes XML docs for all functions and types from the official GLFW documentation. Supports NativeAot, see [this example](DotGLFW.NugetAotExample/).
3+
A 1:1 mapping of the native GLFW API for .NET, with a lightweight managed wrapper for easy integration in your projects! Includes XML docs for all functions and types from the official GLFW documentation. Supports NativeAot, see [this example](DotGLFW.NugetAotExample/). Ships with pre-compiled binaries for Windows and MacOS.
44

55
> [!NOTE]
66
> Uses the [latest version of GLFW (3.4)](https://github.com/glfw/glfw/releases/tag/3.4).
77
88
The library is split into two parts: the *unmanaged API* and the *managed API*.
99

10-
The unmanaged API is automatically generated using [DotGLFW.Generator](DotGLFW.Generator/). It parses the official GLFW documentation and generates C# code that exactly matches the native API.
10+
The unmanaged API is automatically generated using [DotGLFW.Generator](DotGLFW.Generator/). It parses the official GLFW documentation and generates C# code that matches the native API. Functions and types that would otherwise require runtime marshalling are automatically generated with compile-time marshalling to make the library as fast as possible, and to support native AOT compilation.
1111

12-
The managed API is a hand-written wrapper around the unmanaged API that provides a more user-friendly interface for .NET developers. Parts of the managed API is automatically generated using [DotGLFW.Generator](DotGLFW.Generator/), but only simpler things such as enums and structs.
12+
The managed API is a (mostly) hand-written wrapper around the unmanaged API to make it easier for you to use in your projects. It handles memory management and marshalling of strings, arrays, and other complex types for you. It also provides a more user-friendly interface for many functions using enums and other types instead of raw integers.
1313

1414
## Unmanaged API
1515

1616
The unmanaged API is the static `NativeGlfw` class, which has exact mappings for all GLFW macros (e.g. `GLFW_TRUE`) and functions (e.g. `glfwInit`). Typedefs are also mapped to their equivalents in C#, opaque handles are empty structs, and function pointers are represented as delegates.
1717

1818
> [!IMPORTANT]
19-
> The unmanaged API will require you to perform your own marshalling and handle memory management yourself. The managed API has been created to alleviate this.
19+
> The unmanaged API will require you to perform your own marshalling of strings, arrays, and other complex types. Additionally, you will need to manage memory yourself, including keeping references to callbacks alive. If you don't want to have to do this, use the managed API instead.
2020
2121
## Managed API
2222

23-
The managed API is the `Glfw` class, which wraps the unmanaged API in a more user-friendly and .NET-y way. It provides compile-time marshalling of strings, arrays, and other types, and handles memory management for you (including keeping references to callbacks alive). Many functions (e.g. `glfwWindowHint`) have been overloaded to accept more user-friendly enums and types instead of raw integers.
23+
The managed API is the static `Glfw` class, which wraps the unmanaged API in a more user-friendly and .NET-y way. It provides compile-time marshalling of strings, arrays, and other complex types, handles memory management for you (including keeping references to callbacks alive) and much more. Many functions (e.g. `glfwWindowHint`) have been overloaded to accept more user-friendly enums and types instead of raw integers.
2424

2525
Take a look in [the provided example](DotGLFW.Example/Program.cs) to see how to use the library with the managed API. It demonstrates how to create a window and set up a very simple rendering loop.

0 commit comments

Comments
 (0)