Thread View: pl.comp.os.linux.programowanie
3 messages
3 total messages
Started by AMX
Wed, 22 Feb 2012 11:42
Gtk+ nieskończona pętla zdarzeń
Author: AMX
Date: Wed, 22 Feb 2012 11:42
Date: Wed, 22 Feb 2012 11:42
29 lines
1666 bytes
1666 bytes
Witam! Próbuję napisać prosty program do wyświetlania obrazka przy użyciu Gtk. Doszedłem do kodu, który jest analogiczny jak ostatni listing na http://ubuntuforums.org/showthread.php?t=761973 Obsługa zdarzenia "expose-event" (zmiana wymiarów okna) wywołuje funkcję resize_image(), w której użycie gtk_image_set_from_pixbuf() generuje nowe zdarzenie "expose-event". Wywołuje to nieskończony ciąg zdarzeń i wywołań funkcji do ich obsługi. Obciążenie skacze do 1.0 i nic sensownego z tego nie wychodzi. Co jest źle i jak zrobić aby było dobrze? =:-) Będę wdzięczny za wskazówki AMX PS. Raczej nie ma to znaczenia ale pracuje na Debian stable czyli Gtk+ 2.20 -- adres w rot13 Nyrxfnaqre Znghfmnx r-znk@b2.cy
Re: Gtk+ nieskończona pętla zdarzeń
Author: Michoo
Date: Wed, 22 Feb 2012 17:35
Date: Wed, 22 Feb 2012 17:35
11 lines
1275 bytes
1275 bytes
W dniu 22.02.2012 12:42, AMX pisze: > Obsługa zdarzenia "expose-event" (zmiana wymiarów okna) wywołuje > funkcję resize_image(), w której użycie > gtk_image_set_from_pixbuf() generuje nowe zdarzenie > "expose-event". > To przeczytaj teraz kiedy "expose-event" jest generowane. -- Pozdrawiam Michoo
Re: Gtk+ nieskończona pętla zdarzeń
Author: AMX
Date: Wed, 22 Feb 2012 19:07
Date: Wed, 22 Feb 2012 19:07
32 lines
2032 bytes
2032 bytes
On Wed, 22 Feb 2012 18:35:21 +0100, Michoo <michoo_news@vp.pl> wrote: >> Obsługa zdarzenia "expose-event" (zmiana wymiarów okna) wywołuje >> funkcję resize_image(), w której użycie >> gtk_image_set_from_pixbuf() generuje nowe zdarzenie >> "expose-event". >> > To przeczytaj teraz kiedy "expose-event" jest generowane. > Bingo! (no, prawie). Nie przejmowałem się expose bo testowałem również configure i size-request. Po doczytaniu nt. expose wiem, że tak to się ma zachowywać. Po dokształceniu i zmianie na configure_event program zaczął się znacznie lepiej zachowywać. Ale też nie do końca jestem zadowolony, bo leci cała seria żądań od rozmiaru początkowego do końcowego (to mnie zmyliło, bo sądziłem, że to też pętla nieskończona). W tzw. międzyczasie wymyśliłem aby dodać statyczne przechowywanie poprzedniego rozmiaru i jeśli ten się nie zmienił to nie skalować. Ale to tylko obejście, nie wiem czy jest bardziej eleganckie rozwiązanie. Gdzie można znaleźć listę standardowych zdarzeń? Dziękuję AMX -- adres w rot13 Nyrxfnaqre Znghfmnx r-znk@b2.cy
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads