|
Pochodzi od: żaden
Dodane klasy: BArchivable
Zadeklarowany w: be/app/Cursor.h
Biblioteka: libbe.so
Podsumowanie: więcej...
Możesz użyć obiekt BCursor do przedstawienia kursora myszy jako obiektu zamiast jako bloku danych w postaci pikseli; może on być bardziej dogodny w niektórych sytuacjach. Również, jeśli chcesz wywołać BApplication::SetCursor() bez wymuszania natychmiastowej synchronizacji z Application Server'em, masz do użycia BCursor.
Domyślnie obiekty BCursor są B_CURSOR_SYSTEM_DEFAULT dla kursora w postaci dłoni (ręki) i B_CURSOR_I_BEAM pionowej beleczki dla kursora w edytorze tekstu.
Pierwsze cztery bajty danych kursora podają informację o kursorze:
- Bajt 1: Rozmiar w pikselach na stronę. Kursory sa zawsze kwadratowe; obecnie są tylko dostępne kursory 16 na 16 pikseli .
- Bajt 2: Głębia koloru w bitach na piksel. Obecnie są dostępne tylko jednobitowe monochromatyczne.
- Bajty 3 i 4: Współrzędne aktywnego punktu (ang. hot spot). Dane we "współrzędnych kursora" gdzie (0,0) jest lewym górnym rogiem siatki kursora, bajt 3 jest współrzędną y aktywnego punktu a bajt 4 jest współrzędną x aktywnego punktu. Punkt aktywny jest pojedynczym pikselem, który jest "uaktywniany" gdy użytkownik kliknie myszą. Na przykład przy naciśnięciu przycisku, punkt aktywny musi być wewnątrz brzegów przycisku.
Następne bajty są tablicą danych pkiseli koloru. Piksele są określane od lewego do prawego w wierszach rozpoczynających się od góry obrazu i przechodzą stopniowo w dół. Rozmiar elementu tablicy jest głębokością obrazu. W jednobitowej głębi...
- tablica 16x16 jest ułożona w 32 bajtach.
- 1 jest czernią a 0 jest bielą.
Idąc dalej maska bitowa przezroczystości pikseli dana jest od lewej do prawej i od góry do dołu. 1 jest nieprzeźroczystym, 0 jest nieprzeźroczystym. Przeźroczystość jest zastosowana tylko do białych pikseli — czarne piksele są zawsze nieprzeźroczyste.
![]() | BCursor() |
BCursor(const void *cursorData)
BCursor(BMessage *archive)Inicjalizuje nowy obiekt kursora. Jeśli określisz wartość nie-NULL dla cursorData, kursor jest inicjalizowany z określonymi danymi kursora.
Jeśli określisz wartość równą NULL dla cursorData, kursor jest bezużyteczny; ponieważ ta klasa nie dostarcza obecnie sposobów ustawiania danych kursora gdy obiekt jest tworzony, nie masz szczęścia, co bracie?
W obiekcie BCursor nie jest obecnie zaimplementowane archiwowanie, więc nie powinieneś używać tej drugiej formy.
![]() | ~BCursor() |
virtual ~BCursor() Zwalnia wszystkie zasoby używane przez kursor.
![]() | Instantiate() |
static BArchivable *Instantiate(BMessage *archive) Obecnie nie zaimlementowane; zawsze zwraca NULL.
Poptrz również na: BArchivable::Instantiate(), instantiate_object(), Archive()
|
Copyright © 2000 Be, Inc. Wszelkie prawa zastrzeżone.