Strona 1 z 1

Programowanie w X System

: 13 marca 2011, 19:54
autor: rafal44
Cześć!

Zastanawiam się jakie biblioteki wybrać do tworzenia GUI. I tu postawiłem na coś niskopoziomowego. Wyprzedzając odpowiedzi: nie będę korzystał z GTK+, ani QT. Dobrze znam GTK+, nie znam QT. GTK+ jest wolne, nie jest elastyczne i nawet może przeszkadzać. Więc nie pytam o to.
Wracając do tematu. Zastanawiałem się co wybrać tradycyjny Xlib, czy XCB. Na początek przetestowałem XCB - "Wszystko fajnie, dokumentacja jakaś jest, każdy symbol ma prefix xcb_ (jestem przyzwyczajony do tego przez GTK)". Ale co z czcionkami? Xft jest dobrą biblioteką, ale korzysta z Xlib. Inny problem, dokumentacja. Xlib jest dobrze udokumentowany, XCB bardzo mało, Xrender nie ma rzetelnej dokumentacji, xcb_render taką posiada. No i coś do renderowania tekstu. Znalazłem Xft oparte na xcb http://gtk-xcb.svn.sourceforge.net/viewvc/gtk-xcb/, ale spójrzcie na datę (2006)

Więc, co mam wybrać?

Dodane:
Jest jeszcze takie rozwiązanie:
Łączę się przez Xlib (XOpenDisplay) i z biblioteki Xlib-xcb korzystam z funkcji, aby ze zmiennej tylu Display* uzyskać xcb_connection_t*. Dalsze operacje wykonuję korzystając z xcb. Rysowaniem tekstu zajmuje się Xft, które wymaga zmiennej Display* oraz kilku innych które można bezpośrednio z niej uzyskać.
Rozwiązanie to przetestowałem:
Załącznik xftinxcb.jpg nie jest już dostępny
Linia rysowana przez xcb, tekst przez xft. Tekst widać dopiero przy drugim przerysowaniu okna, więc chyba nie działa tak jak trzeba.

Jeżeli ktoś ma o tym pojęcie, niech oceni czy to rozwiązanie nie będzie sprawiało problemów.