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 является то, что можно восстановить исходное изображение на экране с помощью повторного вывода того же самого объекта.
#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;
}