Функция Устанавливает режим для вывода вграфическом
режиме.
Синтаксис #include
void far setwritemode(int mode);
Файл, содержащий graphics.h
прототип
Описание Определены следующие константы:
COPY_PUT = 0 /* MOV */
XOR_PUT = 1 /* XOR */
Каждая константа связана с двоичной операцией,
выполняемый над байтом в строке и соответствующим
байтом на экране. COPY_PUT использует ассемблер-
ную команду MOV для перзаписи строки независимо
от того, что на экране. XOR_PUT использует коман-
ду XOR для комбинирования содержимого строки и
экрана. Две последовательно выполненные команды
XOR приведут к уничтожению строки и восстановле-
нию первоначального изображения на экране.
Замечание. setwritemode работает только с line,
linerel, lineto, rectangle и drawpoly.
Возвращаемое Нет.
значение
Переносимость Функция уникальна для Turbo C++. Она работает
только на компьютерах IBM PC и совместимых с ни-
ми, оснащенных дисплейными адаптерами, поддержи-
вающими графический режим.
Смотрите также drawpolylinelinerellinetoputimage
Пример:
#include
#include
#include
#include
int main()
{
/* Запрос автоопределения */
int graphdriver = DETECT, gmode, errorcode;
int xmax,ymax;
/* инициализация графики и локальных переменных */
initgraph(&graphdriver,&gmode,"");
/* получение результата инициализации */
errorcode = graphresult();
if(errorcode != grOk) /* если ошибка */
{
printf("Ошибка :%s\n",grapherrormsg(errorcode));
printf("Для останова нажмите любую клавишу\n");
getch();
exit(1); /* завершение с кодом ошибки */
}
xmax = getmaxx();
ymax = getmaxy();
/* выбрать режим XOR */
setwritemode(XOR_PUT);
/* нарисовать линию */
line(0,0,xmax,ymax);
getch();
/* стереть линию, нарисовав ее же, поверх существующей */
line(0,0,xmax,ymax);
getch();
/* выбрать режим COPY */
setwritemode(COPY_PUT);
/* нарисовать линию */
line(0,0,xmax,ymax);
/* очистка */
getch();
closegraph();
return 0;
}