sobota, 28 sierpnia 2010

Planowanie GUI

Zapewne zadziwia was tytuł wpisu. "Jak to, na ekranie nie widać nawet ludzika czy jakiegokolwiek obrazka, a on chce robić GUI??". Jednak nie jest to (aż tak)głupi krok na jaki wygląda, a już wyjaśniam dlaczego.

Zamierzam teraz napisać tylko szkielet, a mianowicie:

- klasę BOX, z której będą dziedziczyć wszystkie elementy interfejsu. Posiada swój własny SDL_Surface. Będzie to zwykły prostokąt z możliwością pokolorowania i wbudowanymi funkcjami odbierającymi eventy (OnMouseDown, OnMouseUp, OnMouseMotion itd.)

- klasę CONTAINER, która będzie przechowywać wskażniki do innych klas GUI, zajmować się przerysowywaniem Surfejsów "dzieci" na siebie i przekazywaniem eventów tam, gdzie trzeba.

- klasę WINDOW, która będzie "pakować" eventy w swoje bebechy (do jedynej klasy-dziecka, najrozsądniej wstawić tu CONTAINERa oczywiście :P) i rysować się na ekran.

Dzięki takiemu rozwiązaniu klasa rysująca świat gry może być klasą GUI, co eliminuje późniejszy problem "hardkodowania" przycisków na ekranie.

Klasy jak BUTTON czy PROGRESS_BAR dopiszę później, jak ludzik będzie mógł eksplorować świat :)

Niestety jestem zajęty przez te 2 dni i nie zrobię tego teraz, więc see ya poniedziałek.

Brak komentarzy:

Prześlij komentarz