czwartek, 13 sierpnia 2009

Witam

Od czasu ostatniego posta miałem dużo ciekawych pomysłów, jednak niewiele przeszło w fazę realizacji. Ale to wcale nie oznacza, że mało zrealizowałem - głównie tworzyłem PKgui (swoją bibliotekę interfejsu użytkownika). Czuję się jednak zobowiązany napisać tego posta. Głównym powodem jest stan wyżej wymienionej biblioteki - jej struktura, nazewnictwo i podstawowa, niskopoziomowa funkcjonalność jest już ustabilizowana. Wciąż brakuje bezbłędnej obsługi skupienia widgetów za pomocą klawisza TAB, kilku podstawowych klas widżetów, pełnej obsługi skórek i kilku innych rzeczy. Można natomiast z powodzeniem używać biblioteki do tworzenia prostych aplikacji - program PKCASim, czyli Piotr Klos's Cellular Automaton Simulator jest tego świetnym przykładem. Niestety program nie jest jeszcze dostępny, ale pierwsza wersja jest ukończona, więc niedługo go opublikuję.
Rzeczy, które zrobiłem od ostatniego posta dla PKgui:
- ukończenie rozszerzania bibliotegi o możliwość dołączania własnych kontekstów renderowania
- postawienie repozytorium na www.assembla.com, uregulowanie spraw licencyjnych, commit biblioteki
- ulepszenia w nazewnictwie, stosowaniu konwencji, dokumentacji (jest dostępna dokumentacja wygenerowana przez doxygen)
- usunięcie wielu błędów
- funkcjonalność:
-- bitmapowe czcionki, ich wczytywanie i używanie zamiennie z czcionkami TTF, modyfikacje, takie jak zamiana koloru obrazka na inny, a także mechanizm powiadamiania używających font obiektów o zmianach w foncie;
-- gradienty prostokątne w OpenGL
-- ulepszenie loga błędów, umożliwiające jego wyłączenie
-- poprawne skalowanie GUI, wraz ze wszystkimi widżetami
-- dodałem sposób na zarządzanie layoutem (rozkładem) widgetów w kompozycie
- zamiana wszystkich tabów na spacje
- zmiany umożliwiające kompilację najnowszym stabilnym GCC pod linuksem
W sumie dużo się tego nazbierało, ale mimo to GUI pozostaje trochę niedoszlifowane.
W tej chwili uczę się do poprawek i pracuję nad prostym programem, w którym samochodziki będą jeździć po torze myśląc wyewoluowaną siecią neuronową...

PS. Dla zainteresowanych: projekt PKgui ma repozytorium tutaj
http://code.assembla.com/pkgui/subversion/nodes
Niech Cię nie zwiedzie fakt, że wersji PKgui było tylko 42. Projekt dostał repozytorium dopiero ostatnio; gdyby miał od samego początku, wersji byłoby pewnie około 400. W zakładce "Wiki" jest opis projektu i podstawowe instrukcje kompilacji.