void far setwritemode(int wmode)
Функция setwritemode() определяет внешний вид данных, выводимых функциями line(), linerel(), lineto(), rectangle() и drawpoly(). Параметр wmode может принимать одно их следующих двух значений: COPY_PUT или XOR_PUT (эти макросы определены в файле graphics.h). Вызов функции setwritemodе() с макросом COPY_PUT вызывает дальнейший вывод данных на экран, которые замещают любой образ на экране. Однако если вызвать функцию setwritemode() с макросом XOR_PUT в качестве параметра, то выводимые далее данные будут взаимодействовать с существовавшим на экране изображением, и это взаимодействие определяется операцией исключающее ИЛИ. Преимуществом использования режима XOR_PUT является то, что можно восстановить исходное изображение на экране с помощью повторного вывода того же самого объекта.
Следующая программа иллюстрирует использование функции setwritemode(): #include <graphics.h> #include <conio.h> int main(void) { int driver, mode; driver = DETECT; /* автоопределение */ mode = 0; initgraph(&driver, &mode, "c:\\bc5\\bgi"); setwritemode(COPY_PUT); /* установка для перезаписи */ setcolor(BLUE); rectangle (10, 10, 100, 100); getch (); setwritemode(XOR_PUT); /* установка для объединения */ setcolor(RED); rectangle (30, 30, 80, 80); /* вывод в первом прямоугольнике */ getch(); rectangle(30, 30, 80, 80); /* удаление */ getch(); restorecrtmode(); return 0; }
