Bagikan melalui


Persegi panjang

Sepanjang pemrograman Direct3D dan Windows, objek di layar disebut dalam hal persegi panjang pembatas. Sisi persegi panjang pembatas selalu sejajar dengan sisi layar, sehingga persegi panjang dapat dijelaskan oleh dua titik, sudut kiri atas dan sudut kanan bawah.

Persegi panjang pembatas

Sebagian besar aplikasi menggunakan struktur RECT (atau alias typedef'd untuk itu) untuk membawa informasi tentang persegi panjang pembatas untuk digunakan saat blitting ke layar atau saat melakukan deteksi hit. Di C++, struktur RECT memiliki definisi berikut.

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; 

Dalam contoh sebelumnya, anggota kiri dan atas adalah koordinat x dan y dari sudut kiri atas persegi panjang pembatas. Demikian pula, anggota kanan dan bawah membentuk koordinat sudut kanan bawah. Ilustrasi berikut ini memperlihatkan bagaimana Anda bisa memvisualisasikan nilai-nilai ini.

ilustrasi persegi panjang yang dibatasi oleh nilai kiri, atas, kanan, dan bawah

Kolom piksel di tepi kanan dan baris piksel di tepi bawah tidak disertakan dalam RECT. Misalnya, mengunci RECT dengan anggota {10, 10, 138, 138} menghasilkan objek dengan lebar dan tinggi 128 piksel.

Untuk efisiensi, konsistensi, dan kemudahan penggunaan, semua fungsi presentasi Direct3D berfungsi dengan persegi panjang.

Sistem koordinat dan geometri