Fenster: Most minimal cross-platform GUI library
fenster — сверхкомпактная кроссплатформенная GUI-библиотека.
-
Особенности:
- Окно, пиксельный буфер, ввод с клавиатуры/мыши.
- Один
.hфайл, ~400 LOC, зависимости: X11 (Linux), Cocoa (macOS), Win32 (Windows). - Поддержка C/C++, Zig, Odin, Rust, Go, JS (WASM), C#, Swift, Pascal, Nim, Lua, Python, Ruby, OCaml, Fortran.
-
Быстрый старт (C):
#define FENSTER_IMPL
#include "fenster.h"
int main() {
struct fenster f = {.width = 320, .height = 240, .title = "demo"};
uint32_t buf[320*240];
for (fenster_open(&f); fenster_loop(&f) == 0; ) {
// рисуем
fenster_sync(&f, buf);
}
return 0;
}
-
Сборка:
cc demo.c -o demo(Linux:-lX11, macOS:-framework Cocoa, Windows: без флагов). -
API (C):
fenster_open,fenster_close,fenster_loop,fenster_sync.- Поля:
width,height,title,keys[64],mouse.
-
Лицензия: MIT.