Листинг 10.2. Приложение, являющееся испытательным стендом для манипулирования с пиксельными картами

RGBpixmap pic[2]:
// create two (empty) global pixmaps

// создаем две (пустые) глобальные пиксельные карты

int screenwidth = 640. screenHeight - 480: IntPoint rasterPos(lOO.lOO): int whichPic = 0; // which pixmap to display // какую карту следует отображать

//«««<««««««««« myMouse »»»»»»»»»»»»
void myMouse(int button, int state, int mx. int my)
{
// set raster position with a left click

// задаем растровую позицию левым щелчком мыши

if (button == GLUTJ.EFTJUTTON)
{
rasterPos.x - mx; rasterPos.y - screenHeight - my; glRasterPos2i(rasterPos.x. rasterPos.y): glutPostRedisplayO:
}

eise gl С1ea r(GL_C0L0R_BUFFER_BIT); // clear with right click // очищаем экран правой кнопкой мыши }

//««««««««««««< mouseMove »»»»»»»>»

void mouseMove(int х, int у)

{
// set raster position with mouse motion

// задаем растровую позицию посредством движения мыши

rasterPos.x = х; rasterPos.y = screenHeight - у:

glRasterPos2i(rasterPos.x. rasterPos.y):
glutPostRedisplayO:
}
//««««««««««««« myReshape »»»»»»»»»>
void myReshapednt w. int h)
{
screenWidth - w; screenHeight - h;

продолжение^

Средства для растровой графики

Листинг 10.2 (продолжение)

//«««««««««««< myDisplay »»»»»»»»»»»»»
void myDisplay(void)
{

pic[whichPic].draw(): //draw it at the raster position // рисуем текущую карту в растровой позиции }

/ /«««««««««««« myKeys »»»»»»»»»»»

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