Pipedija - tautosaka, gandai, kliedesiai ir jokios tiesos! Durniausia wiki enciklopedija durnapedija!
Athena
Athena arba dar taip žinoma kaip XAW, arba X-Window Athena Widgets - tokia viena iš seniausių grafinių bibliotekų, pradėta kurti dar 1983 metais, kartu su X-Window grafine sistema. Pats visas projektas buvo skirtas tinklinei grafinei sistemai, tai nuo jo ir kilo pavadinimas. Pačiose gi UNIX sistemose paprastai tai vadinasi libXaw arba Xaw.
Daugelį metų Athena buvo baisiai atrodančių, gana sunkiai suprogramuojamų, ne per daug patogių, tačiau visur veikiančių programų sinonimas, kai kurios iš tų programų, kaip kad xcalc, gali pasitaikyti ir visai naujuose UNIX ar Linux variantuose. Atpažįstama iš to, kad vidžetai čia dažniausiai būna nespalvoti, dvimačiai ir negražūs.
Visa X-Window sistema buvo sukurta kaip trijų sluoksnių grafinė sistema:
- X-Window serveris dirba ant klientinio kompiuterio (atvirkščia client-server schema) ir per TCP/IP teikia atvaizdavimo paslaugas
- Visą bendravimą su serveriu duoda Xlib biblioteka, kuri veikia gan žemame lygyje, daugiau kaip X-Window protokolo interfeisas, skirtas programavimui, bet realiai tai ne normaliems programuotojams, o daugiau tiems pat X-Window kūrėjams skirta
- Jau ant to viršaus yra Xt biblioteka, kuri irgi vis dar gana žemo lygio, bet su ja jau galima daryti visokius grafinius dalykus, pvz., paišyti stačiakampius, kurie žinos, ar virš jų yra pelė ir ar ta pelė kažką paspaudė
- Jau ant tos Xt bibliotekos yra pastatyta Athena biblioteka, kuri pačiu paprasčiausiu būdu sukuria tokius elementus, kaip mygtukai, meniuškės ar panašiai
Žodžiu, tokie keli abstrakcijos lygiai visai pasiteisino, nors ne visada taip būna. Tai gavosi visai greita biblioteka, kuri buvo nelabai graži, bet paskui jau visur veikdavo.
Kadangi sukurta labai senais laikais, o dar ir skirta kompiuteriams, kur nemažą dalį procesoriaus ir RAM suėsdavo visa ta kliento-serverio sistema, tai developeriai labai taupė ir atmintį, ir procesoriaus ciklus. Negana to, dalis kompiuterių tinkle turėdavo nespalvotus ekranus, o dalis - išvis tik juodai-baltus be jokių pilkų atspalvių, o kartais ir ekranų rezoliucija nebūdavo labai gera, o reikėjo, kad tos pat programos dirbtų visur, tai gavosi, kad visi mygtukai ir vaizdo elementai buvo sukurti kaip juodai-balti ir visiškai negražūs.
Tai iš to vaizdo negražumo Athena ir yra atpažįstama.
Athena modernizacijos
Kadangi visus labai užpisdavo labai negraži ir per daug jau senovinė Athena išvaizda, tuo tarpu programų su šiomis bibliotekomis buvo gana nemažai, tai vėliau atsirado ir pagerintų implementacijų, kurios gražiau paišo mygtukus, duoda trimatį mygtukų vaizdą, naudoja antialiasintus fontus ir, galų gale - dar ir UTF, kuris Athena kūrimo laikais tiesiog dar net neegzistavo.
Tai čia tokie esminiai dėmesio verti naujesni Athena variantai, kuriuos galima panaudoti, jei pas jus softas yra ne statiškai, o dinamiškai linkintas:
- Xaw3d - pirmas ir gan išpopuliarėjęs atnaujintų vidžetų variantas, visiškai minimaliai keičiant mygtukų, laukų ir pan. išmatavimus, jiems pridėti šešėliai ir apvadai, kurių dėka vaizdas pasidaro truputį trimatis, tai lengviau suvokiamas ir vos vos gražesnis.
- libxaw3dxft - ta pati trimatė Xaw3d biblioteka, bet papildyta UTF palaikymu ir galimybe naudotis antialiasintais TrueType fontais. Aktualus reikalas, jei prireikia daugiakalbio darbo ar norisi kažką ten išversti į kitą kalbą.
- neXtaw - stipriausiai išvaizdą modifikuojantis variantas, darytas taip, kad išvaizda primintų NextStep sistemas. Deja, dėl stipraus modifikavimo kartais paskui programos išsiklaipo, o tekstas gali nesutilpt į mygtukus.
- Xraw - pagal išvaizdą imituoja Motif vidžetus, bet šiais laikais nelabai paplitęs
- Xaw95 - pagal išvaizdą imituoja Windows95 vidžetus, bet šiais laikais nelabai paplitęs