Прямоугольники
На протяжении всего программирования Direct3D и Windows объекты на экране называются ограничивающими прямоугольниками. Стороны ограничивающего прямоугольника всегда параллельны стороны экрана, поэтому прямоугольник можно описать двумя точками, верхним левым углом и правым нижним углом.
Ограничивающие прямоугольники
Большинство приложений используют структуру RECT (или псевдоним typedef для него) для передачи сведений о ограничивающем прямоугольнике для использования при перерезке на экран или при обнаружении попаданий. В C++ структура RECT имеет следующее определение.
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;
В предыдущем примере слева и верхние члены — это координаты x-и y ограничивающего прямоугольника в левом верхнем углу. Аналогичным образом правые и нижние элементы составляют координаты правого нижнего угла. На следующем рисунке показано, как визуализировать эти значения.
Столбец пикселей в правом краю и строка пикселей на нижнем крае не включены в RECT. Например, блокировка RECT с элементами {10, 10, 138, 138} приводит к тому, что объект 128 пикселей имеет ширину и высоту.
Для повышения эффективности, согласованности и простоты использования все функции презентации Direct3D работают с прямоугольниками.
Связанные темы