Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Dotychczas używałem biblioteki Xcb do wyświetlania animacji w oknie środowiska X Window System. Natomiast teraz zdecydowałem się zmienić środowisko wyświetlania na Wayland.
Już obecne w programie procedury rysowania podpiąłem do nowo napisanego początkowego fragmentu klienta Wayland, posiłkując się wybrakowaną dokumentacją tej biblioteki dostępną w sieci.
Jednak okazało się, że animacja nie jest wyświetlana. Okno jest odświeżane tylko przy zdarzeniach wskaźnika (myszy).
Przy czym w WSL (Windows Subsystem for Linux) z zainstalowanym Debianem odświeżanie jest dokonywane tylko po kliknięciu okna, a w maszynie wirtualnej z zainstalowanym Debianem albo Ubuntu – po przesunięciu wskaźnika nad oknem. Co ciekawe, w WSL po kliknięciu jednego z dwóch identycznych okien programu odświeża tylko to jedno okno, a w maszynie wirtualnej po przesunięciu nad dowolnym oknem z dwóch identycznych odświeża oba okna.
Nie wiem, czy poprawnie wykonuję oczekiwanie na gotowość do narysowania ramki.
Inicjowanie danych Waylanda w programie klienta (uruchamianie) zaczyna się od tej linii: https://github.com/overcq/oux/blob/c7f6a8c75b7b2862 … -face.cx#L398
Procedura rozpoczynająca przerysowanie, gdy będzie gotowość narysowania ramki, jest w tej linii: https://github.com/overcq/oux/blob/c7f6a8c75b7b2862 … -face.cx#L456
Procedura rysująca, gdy jest gotowość rysowania ramki, jest w tej linii: https://github.com/overcq/oux/blob/c7f6a8c75b7b2862 … w-drv.cx#L139
Sprawdziłem przy pomocy logowania, że procedura rysująca jest wykonywana dopiero po przesunięciu wskaźnika nad oknem. (Mimo to w WSL i tak nie odświeża zawartości okna do czasu kliknięcia.)
Logicznie rozważając, gotowość narysowania ramki powinna być wtedy, gdy poprzednia została już narysowana, a nie przy przesuwaniu wskaźnika nad oknem. Chyba że coś źle rozumiem.
Nie wiem, czy źle zaprogramowałem czy Wayland właśnie tak działa.
Dzięki za wszelką pomoc.
Offline