Программирование на C и C++

Онлайн справочник программиста на C и C++

setwritemode

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;
}