Skip to content

A native OS window creation and management library made in pure zig

License

Notifications You must be signed in to change notification settings

StoryTreeGames/windowing

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Zig Native Window Library (ZNWL)

This project serves as a part of a larger project to create a game engine from scratch. However, I strive to keep this library abstracted from the game engine and more generic. The initial focus of features may be around getting a minimal product for the engine, but I plan to expand the library to be generic and easy to use for any purpose.

I am fairly new to Zig and it has been a few years since I last programmed in C/C++. With that in mind this project also serves as a learning tool for Zig, system programming, and open source.

I hope to keep all my projects as open source and community based as possible. Any tips, PRs, and overall help are more than welcome.

⚠️ Warn: This repo is currently exploratory and the API is subject to change with every merge into the main branch. To help with the volatile nature, this project will be split into a develop and a main branch.

Goal

A native windowing library cross-compiling without any fuss or problems to Windows, Linux (X11 + Wayland), MacOS, iOS, and Android.

The library is written in pure Zig with the only non zig portions being APIs to native system libraries. There is nothing wrong with using GLFW and other related libraries, I just want to try something new. This library will start off basic and naïve and grow to be smart, easy to use, and full of features.

Hopefully this library will stay generic enough to be able to be used with most other libraries and projects like Vulkan and ImGUI.

References

TODO

  • Fix keyboard input
  • Add gamepad, controller, joystick input

About

A native OS window creation and management library made in pure zig

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages