Projekt WinCore razvija sloj kompatibilnosti s Win32/WGL-om, omogućujući kompajliranje koda Windows-programi napisani u C/C++ koristeći klasični Win32 API, za pokretanje u Linux и macOSWinCore presreće klasične Win32 handlere i koristi višeplatformske backendove za renderiranje putem SDL3 ili SDL2. Kod je napisan u C++ i distribuira se pod LGPLv3 licencom.
Projekt je bio rezultat ponovnog promišljanja LDL biblioteke od strane istog autora, koji je zaključio da je umjesto dizajniranja još jednog API-ja logičnije uzeti provjereni proceduralni Win32 API i učiniti ga prenosivim na različite operativne sustave i uređaje. Ideja je da je kod napisan prema Win32 pravilima, ali se izvorno kompajlira i pokreće u Windows, Linux и macOS.
Biblioteka je napisana u strogom C++98 jeziku radi maksimalne prenosivosti, ali izvozi čiste C89 zaglavne datoteke, osiguravajući unatrag kompatibilnost i omogućujući jednostavno povezivanje s Rustom, Zigom, Pythonom i drugim jezicima putem C FFI-ja. Trenutno su dostupna dva backenda: SDL2 i SDL3. Backendi za XLib i Wayland planirani su za budućnost.
Autor si ne postavlja cilj oponašati sve mogućnosti Windows i fokusira se samo na multimedijske i engine podsustave. Trenutno je implementirano 5 Kernel32.dll funkcija (upravljanje modulima, vrijeme sustava i latencija), 25 User32.dll funkcija (stvaranje prozora, petlje poruka, položaj kursora i rukovanje ulazom), 5 Gdi32.dll funkcija (odabir formata piksela, izlaz bitmape i prebacivanje međuspremnika) i 4 Opengl32.dll funkcije (stvaranje, brisanje i aktivacija WGL konteksta).


Izvor: opennet.ru
