// достаточна ли высота no сравнению с запрошенной?

CP.settO.O. 0.0):

window.setM. 0.1.0.-1.0.1.0): // default window // окно по умолчанию

setViewport(0. screenwidth. 0. screenHeight): // sets default map. too

// устанавливается также преобразование по умолчанию }

Установка окна, порта просмотра и преобразования Когда бы ни были установлены окно или порт просмотра, преобразование «окно - порт просмотра» всегда обновляется для гарантии того, что оно является текущим. Вырожденное окно нулевой высоты вызывает ошибку. Преобразование использует данные об окне и порте просмотра для вычисления четырех необходимых коэффициентов А, В, С и D. Ниже приведен код, выполняющий эти операции:

11«««««« set Window »»»»»

//«««««« установка окна »»»»»

void Canvas:: setWindow(float 1. float r. float b. float t)

{

window.setd. r. b. t):

assert(t !- b): //degenerate ! // вырожденное!

makeMapO:

3.10. Тематические задания

// update the mapping

// обновляем преобразование

}

//««««« set Viewport »»»»» 11««««« установка порта просмотра »»»»» void Canvas:: setViewport(int 1, int r. int b. int t) {

viewport.setO. r. b. t):

makeMapO: // update the mapping // обновляем преобразование }

//«««« make Map »»»>»» //«««« преобразование »»»»»> void Canvas:: makeMap(void) {

// set mapping from window to viewport

// устанавливаем преобразование «окно-порт просмотра»

intRect vp = getViewportO: // local copy of viewport // локальная копия порта просмотра

RealRect win - getWindowO: // local copy of window // локальная копия окна

float winWid - win.r - win.l:

float winHt = win.t - win.b:

assertCwinwid !- 0.0): assert(winHt !- 0.0): // degenerate! // вырожденный случай!


⇐ Предыдущая| |Следующая ⇒