Projekt WinCore razvija plast združljivosti z Win32/WGL, ki omogoča prevajanje kode. Windows-programi, napisani v jeziku C/C++ z uporabo klasičnega Win32 API-ja, za delovanje v Linux и macOSWinCore prestreže klasične obdelovalce Win32 in uporablja večplatformske zaledne programe za upodabljanje prek SDL3 ali SDL2. Koda je napisana v jeziku C++ in distribuirana pod licenco LGPLv3.
Projekt je bil rezultat ponovnega premisleka o knjižnici LDL s strani istega avtorja, ki je zaključil, da je namesto oblikovanja še enega API-ja bolj logično vzeti preizkušeni proceduralni API Win32 in ga narediti prenosljivega na različne operacijske sisteme in naprave. Ideja je, da je koda napisana v skladu s pravili Win32, vendar se izvorno prevede in izvaja v Windows, Linux и macOS.
Knjižnica je napisana v strogem jeziku C++98 za maksimalno prenosljivost, vendar izvozi čiste glavične datoteke C89, kar zagotavlja združljivost s prejšnjimi jeziki in omogoča enostavno povezovanje z Rust, Zig, Python in drugimi jeziki prek C FFI. Trenutno sta na voljo dva ozadja: SDL2 in SDL3. Ozadja za XLib in Wayland so načrtovana za prihodnost.
Avtor si ne zastavlja cilja posnemati vseh možnosti Windows in se osredotoča le na podsistema multimedije in mehanizma. Trenutno je implementiranih 5 funkcij Kernel32.dll (upravljanje modulov, sistemski čas in zakasnitev), 25 funkcij User32.dll (ustvarjanje oken, zanke sporočil, položaj kazalca in obdelava vnosa), 5 funkcij Gdi32.dll (izbira formata slikovnih pik, izpis bitne slike in preklapljanje medpomnilnika) in 4 funkcije Opengl32.dll (ustvarjanje, brisanje in aktiviranje kontekstov WGL).


Vir: opennet.ru
