Projekt WinCore vyvíja vrstvu kompatibility s Win32/WGL, ktorá umožňuje kompiláciu kódu programov Windows napísaných v C/C++ pomocou klasického API Win32, na spustenie v Linuxe a macOS. WinCore zachytáva klasické spracovateľské rúk Win32 a využíva multiplatformné backendy na vykresľovanie prostredníctvom SDL3 alebo SDL2. Kód je napísaný v C++ a šíri sa pod licenciou LGPLv3.
Projekt je výsledkom prehodnotenia knižnice LDL od toho istého autora, ktorý dospel k záveru, že namiesto navrhovania ďalšieho API je logickejšie prevziať overený procedurálny rozhraní Win32 API a urobiť ho prenosným na rôzne operačné systémy a zariadenia. Myšlienka spočíva v tom, že kód sa píše podľa pravidiel Win32, ale nativne sa kompiluje a funguje v systémoch Windows, Linux a macOS.
Knižnica je napísaná v prísnom C++98 pre maximálnu prenosnosť, ale exportuje čisté hlavičkové súbory C89, čo zaručuje spätnú kompatibilitu a umožňuje jednoduché vytváranie väzieb na Rust, Zig, Python a ďalšie jazyky prostredníctvom C FFI. V súčasnosti sú pridané 2 backendy — SDL2 a SDL3. Do budúcna sa plánuje pridať backend pre XLib a Wayland.
Autor nemá za cieľ emulovať všetky možnosti Windows a sústreďuje sa iba na subsystémy pre multimédiá a enginy. V súčasnosti je implementovaných 5 funkcií Kernel32.dll (správa modulov, systémový čas a oneskorenia), 25 funkcií User32.dll (vytváranie okien, cykly správ, pozícia kurzora a spracovanie vstupu), 5 funkcií Gdi32.dll (výber pixelového formátu, výstup bitmapov a prepínanie buffrov) a 4 funkcie Opengl32.dll (vytváranie, odstraňovanie a aktivácia kontextov WGL).


Zdroj: opennet.ru
