Esitleme Cosmoe GUI-raamatukogusid, mis toetab töötamist Linuxis Waylandi-pÔhistes keskkondades. Cosmoe vÔimaldab luua graafikakliendiga programme C++ keeles, kasutades BeOSi klassiraamatukogu stiilis API-d. Raamatukogu annab vÔimaluse otse Linuxis kÀivitada programme, mis kasutavad BeOSi API-d. Projekti kood levitatakse MIT litsentsi alusel.
Cosmoe pakub C++ klasside komplekti, mis vĂ”imaldab kiiresti ja lihtsalt luua kasutajaliideseid. Ăhelt poolt on Cosmoe oluliselt lihtsam ja kompaktsem kui sellised tööriistakogud nagu GTK ja Qt, kuid teisalt vĂ”imaldab luua kaasaegsemalt nĂ€gevaid liideseid vĂ”rreldes kergete FLTK ja Xforms-iga. Vanematel sĂŒsteemidel vĂ”imaldab Cosmoe saavutada vĂ€ga madalat ressursikasutust, samas kui kaasaegsetel suudab see riistvarast maksimaalselt vĂ€lja pigistada tĂ€nu aktiivsele mitme lĂ”ime kasutamisele. Pakutakse rakenduste nĂ€idiste kogu, mis kasutavad Cosmoed liidese loomiseks, sealhulgas terminali emulaator, stiiliredaktor ja lihtsad mĂ€ngud.
Raamatukogu on loodud kergekaalu ja serverikomponente (app_server, registrar) mittevajava haruna Cosmoe Classic projekti koodibaasist, muudetud töötama komposiitide peal, kasutades Waylandi protokolli. Cosmoe Classic projekt keskendus Haiku OS keskkonna portimisele Linuxi kernelile ja kasutas liidese renderdamiseks aknas, mis oli loodud SDL raamatukogu abiga. Cosmoe Classic arendamine taastati eelmisel aastal pĂ€rast seitse aastat kestnud pausi. serveridPraegu on projekt suunatud Haiku OS fork'ilt eraldi raamatukogu loomisele, et luua graafilisi rakendusi Linuxile. Praeguses etapis on arendus alfafaasis, samas kui raamatukogu toetab juba umbes 95% BeOSi API kĂ”ikidest funktsioonidest. Olulisemate piirangute hulka kuulub ekraanist sĂ”ltumatute BBitmap tĂŒĂŒpi eksemplaride, mis on vajalikud renderdamise riistvarakergenduseks, toetamata jĂ€tmine ning BFilePanel API valmiduse puudumine, mis genereerib failide avamise ja salvestamise dialooge.
Praegu on projekt suunatud Haiku OS arendamise lÔpetamiselt eraldi raamatukogu loomisele graafiliste rakenduste jaoks Linuxile.

Allikas: opennet.ru
