@peceha, post #1
Pytanie moje jak podejść do wyświetlenia np pliku textowego z 10 tys znaków?
Czy ja musze pisać go do jakiejś bitmapy a potem wkleić w okno i zadbać o gadżety scroll-i?
Jeśli tak, to potem w zależności od pozycji scroll-a wyświetlać odpowiedni fragment bitmapy?
@peceha, post #5
@Hexmage960, post #2
@peceha, post #8
1. napisales by nie alokowac duzej bitmapy
Z tego co widze to bitmapa jest tworzona zawsze gdy powstaje nowy ekran (RastPort\BitMap) i jesli dobrze zrozumialem dokumentacje to pointer w strukturze Window wskazuje na te sama bitmape - wiec troche jestem skolowany tym "tworzeniem (wlasnej?)" bitmapy.
Tak przy okazji: do czego jest pozycja "pad"??
2. podales komendy, ktore czyscza RAstPort (a nie BitMape?) - wydawalo mi sie ze rastport to tylko informacje definiujace jak i gdzie operacje graficzne moga sobie "poszalec" (chociaz opis komendy np: ClearScreen(), faktycznie mowi o czyszceniu rastport-u)
@Hexmage960, post #9
@peceha, post #8
@peceha, post #1
@peceha, post #13
@Hexmage960, post #2
Warto podczas rysowania nie korzystać z RastPortów, które posiadają Layer. Blokowanie Layera i przycinanie (Clipping) jest kosztowne. Zatem wszystkie pośrednie funkcje rysujące rób na RastPorcie bez Layera.
WA_GimmeZeroZero
Set this tag to create a GimmeZeroZero window. GimmeZeroZero windows have the window border and border gadgets rendered into an extra layer. This extra layer slows down window operations, thus it is recommended that applications only use GimmeZeroZero windows when they are required. For clipping graphics to the area within the borders of a window, see the discussion of "Regions" in Layers Library. Equivalent to NewWindow.Flags WFLG_GIMMEZEROZERO
@peceha, post #16
Otwierajac okno mam automatycznie tworzony Layer, tak?
Wiec o co chodzi z tym rast portem bez layera?
Wiec to chyba sam musze sie przekonac co bedzie dla mnie lepsze: poprawne (szybkie) dzialanie tych komend czy szybsze reagowanie programu.
@peceha, post #18
@peceha, post #19
@Hexmage960, post #22
sizeimage = NewObject (NULL,SYSICLASS, SYSIA_Which,SIZEIMAGE, SYSIA_Size,SYSISIZE_MEDRES, SYSIA_DrawInfo,drawinfo, TAG_END); if (sizeimage) { GetAttr (IA_Width,sizeimage,&sizew); GetAttr (IA_Height,sizeimage,&sizeh); }
@peceha, post #23
Co do szerokosci ramki to wyglada ze wartosc pobrana ze Screen->WBorRight/Left nie uwzglednia gadgetow.
@pch, post #26
jak namalowac "pattern" na bitmapie? np. zakratkowanie by pokazac ze obszar jest aktualnie nieaktywny?
@pch, post #28
to wlasciwie do czego jest BltPattern() ?