Udostępnij przez


Prostokąty (Direct3D 9)

W programowaniu Direct3D i Window obiekty na ekranie są określane pod względem ograniczeń prostokątów. Boki prostokąta ograniczenia są zawsze równoległe do boków ekranu, więc prostokąt można opisać za pomocą dwóch punktów, lewego górnego rogu i prawego dolnego rogu. Większość aplikacji używa strukturyRECT, aby przenosić informacje o prostokątze ograniczenia, który ma być używany podczas przerywania ekranu lub wykrywania trafień.

W języku C++strukturaRECT ma następującą definicję.

typedef struct tagRECT { 
    LONG    left;    // This is the upper-left corner x-coordinate.
    LONG    top;     // The upper-left corner y-coordinate.
    LONG    right;   // The lower-right corner x-coordinate.
    LONG    bottom;  // The lower-right corner y-coordinate.
} RECT, *PRECT, NEAR *NPRECT, FAR *LPRECT; 

W poprzednim przykładzie lewe i górne elementy członkowskie są współrzędnymi x i y lewego górnego rogu prostokąta ograniczenia. Podobnie prawe i dolne składowe składają się na współrzędne prawego dolnego rogu. Na poniższej ilustracji przedstawiono sposób wizualizacji tych wartości.

ilustracja prostokąta ograniczonego przez lewe, górne, prawe i dolne wartości

Kolumna pikseli na prawej krawędzi i wierszu pikseli na dolnej krawędzi nie są uwzględnione w recT. Na przykład blokowanie recT z elementami członkowskimi {10, 10, 138, 138} powoduje obiekt 128 pikseli szerokości i wysokości.

W interesie wydajności, spójności i łatwości użycia wszystkie funkcje prezentacji Direct3D działają z prostokątami.

Układy współrzędnych i Geometria