Projekti WinCore zhvillon një shtresë pajtueshmërie me Win32/WGL, duke lejuar përpilimin e kodit të programeve Windows, të shkruara në C/C++ duke përdorur API-në klasike Win32, për tu ekzekutuar në Linux dhe macOS. WinCore kap menaxherët klasikë Win32 dhe përdor blloqe të ndërprera për vizatim nëpërmjet SDL3 ose SDL2. Kodi është shkruar në C++ dhe shpërndahet nën licencën LGPLv3.
Projekti është rezultat i ripërdorimit të bibliotekës LDL nga i njëjti autor, i cili arriti në përfundimin se, në vend të projektimit të një API tjetër, është më logjike të merrej si bazë një ndërfaqe procedurale të provuar si Win32 API dhe ta bënte atë të përshtatshëm për sisteme të ndryshme operative dhe pajisje. Ideja është që kodi shkruhet sipas rregullave të Win32, por kompilimi ndodh natyrshëm dhe funksionon në Windows, Linux dhe macOS.
Biblioteka është shkruar në C++98 të rreptë për maksimizimin e portabilitetit, por eksporton skedarë të pastër titujsh C89, e cila garanton përputhshmëri të prapme dhe lehtëson krijimin e lidhjeve me Rust, Zig, Python dhe gjuhë të tjera përmes C FFI. Deri më tani janë shtuar 2 blloqe — SDL2 dhe SDL3. Në të ardhmen, planifikohet që të shtohen blloqe për XLib dhe Wayland.
Autori nuk ka si qëllim të imitojë të gjitha mundësitë e Windows dhe fokusohet vetëm në nënsistemat për multimedia dhe motorët. Në këtë moment janë realizuar 5 funksione të Kernel32.dll (menaxhimi i moduleve, koha sistemike dhe vonesat), 25 funksione të User32.dll (krijimi i dritareve, ciklet e mesazheve, pozita e kursorit dhe përpunimi i hyrjeve), 5 funksione të Gdi32.dll (zgjedhja e formatit të pikselit, dalja e bitmap-ëve dhe kalimi i bufereve) dhe 4 funksione të Opengl32.dll (krijimi, fshirja dhe aktivizimi i konteksteve WGL).


Burimi: opennet.ru
