Od poprzedniego posta upłynęło już bardzo dużo czasu. W pracy projekt się kończy w trybie przyśpieszonym (czytać: nie ma kasy, więc robimy na szybko ile się da). Przedłużająca się niezbyt przyjemna sytuacja w pracy daje mi się we znaki (uczucie senności, zmęczenie itp). Krótko, nie bardzo mi się chciało pisać.
Z pracy:
- linux frame buffer - bardzo ciekawa bestia,
- obsługa wielokanałowego frame grabbera sterownikiem EasyCAP DC60 Driver,
- fuse - o tym już pisałem,
- wizyta w warszawie,
- przechwytywanie obrazu z kamer ip dedykowaną biblioteką pylon.
Z domu:
- przeprowadzka - w listopadzie zamieszkaliśmy we "własnym" mieszkaniu (nasze nie jest, ale w końcu sami),
- silnik się rozwija. Przemyślałem sobie parę rzeczy i sporo pracy poświęciłem przygotowaniu "framework'a" leżącego u podstaw silnika.
W silniku skończony mam jak na razie system obsługi okien. Prosty w obsłudze i bardzo elastyczny ;) Na poważnie, skupiłem się na elastyczności:
- użytkownik sam może utworzyć okno (np. CreateWindowEx) i przekazać je do systemu,
- użytkownik może wybierać pomiędzy domyślną i własną funkcją obsługi komunikatów,
- nie ma ograniczeń co do ilości okien,
- można dynamicznie tworzyć i zamykać okna,
- system zapewnia dostęp do uchwytu okna (na razie tworzę z myślą o Windows),
- renderować do okna można dowolną metodą: GDI, OGL, DX,
- można renderować do kilku okien naraz,
- można nawet dodać menu ;).
Ograniczenia:
- domyślna funkcja okna korzysta z danych zapisanych za pomocą funkcji SetWindowLong w polu GWL_USERDATA.
Wygoda:
- utworzenie typowych okien wymaga jedynie obiektu menadżera i wywołania odpowiedniej funkcji tworzącej okno.
Koniec.
New blog
7 lat temu
Brak komentarzy:
Prześlij komentarz