[c++]Tetris w GDI?

0

Hello,
Chciałem napisać w GDI klona Tetrisa lecz zatrzymałem się na etapie ruchu klocka :D A mianowicie chodzi o odświeżanie okna. Wydaje mi się że nie ma szans napisać tetrisa na samej bibliotece GDI. Mój problem polega na tym właśnie odświeżaniu. właściwie to do odświeżenia zawartości okna używam SetTimer. Która odświeża całe okno.
Ale nie mam zielonego pojęcia jak sprawić na samej bibliotece GDI by odświeżyły się tylko zmieniające się obszary okna.
Jeżeli się nie da to czy są jakieś inne biblioteki prócz OpenGL,DirectX,SDL,Allegro?
Pozdrawiam i proszę o szybką odpowiedź...

0
matti2515 napisał(a)

Ale nie mam zielonego pojęcia jak sprawić na samej bibliotece GDI by odświeżyły się tylko zmieniające się obszary okna.

InvalidateRect?

0

InvalidateRect(okno,0,true);
już był w WM_TIMER
chodzi o to że odświeża całe okno. A ja chciałbym odświeżyć tylko zmieniające się obszary okna.

0

To przeczytaj dokumentację InvalidateRect z łaski swojej? Ten argument, który podajesz zerowy, może przyjmować strukturę RECT opisującą obszar do odświeżenia. Kilka wywołań InvalidateRect po kolei można kumulować w jedno. Poza tym jest taka funkcja jak GetUpdateRect, zwracający to, co BeginPaint w PAINTSTRUCT, najmniejszy prostokąt, obejmujący wszystkie obszary wymagające odświeżenia.

1 użytkowników online, w tym zalogowanych: 0, gości: 1