Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Координаты курсора и перемещения




Окна

Размещение на экране

Восстановление установок по умолчанию

void graphdefaults ( void ); Возвращает все установки, которые имели место при выполнении функции initgraph, текущее окно – во весь экран, текущую позицию курсора – в точку с координатами (0, 0).

void setviewport ( int left, int top, int right, int bottom, int clip); Устанавливает границы текущего окна. Курсор перемещается в позицию (0, 0) окна. Параметр clip определяет, ограничен ли вывод пределами окна или нет. Если clip не равен 0, то вывод выполняется только в пределах окна.

void getviewsettings ( struct viewporttype* viewport); Дает информацию о текущем окне.

Структура viewporttype имеет вид:

struct viewporttype{

int left;

int top;

int right;

int bottom;

int clip;

}

void clearviewport ( void ); Очищает текущее окно(фактически закрашивает его установленным цветом фона) и перемещает курсор в позицию (0, 0) данного окна.

void cleardevice ( void ); Очищает весь экран цветом фона и перемещает курсор в начало экрана(абсолютные координаты (0, 0)).

void getimage ( int left, int top, int right, int bottom, void * bitmap); Сохраняет битовое изображение прямоугольной области экрана в отведенной памяти. Использует абсолютные координаты.

void putimage ( int left, int top, void * bitmap, int op); Извлекает сохраненный функцией getimage битовый образ и располагает его в области с координатами левого верхнего угла (left, top). Параметр op определяет, как взаимодействуют пиксели "старого" и "нового" экранов. Возможные значения определяются символическими константами:

0 COPY_PUT "Старый" экран полностью заменяется "новым".

1 XOR_PUT Стираются пиксели, совпадающие в обоих экранах.

2 OR_PUT Сохраняются рисунки обоих экранов

3 AND_PUT Сохраняются только пиксели, совпадающие в обоих экранах.

4 NOT_PUT "Старый" экран заменяется инверсным изображением "нового".

Эти функции позволяют реализовывать так называемые всплывающие окна, сохраняя область экрана, закрываемую ими.

Поскольку в памяти, кроме битового изображения, запоминается информация о высоте и ширине области, то для определения необходимого размера памяти для хранения используется специальная функция:

unsigned imagesize ( int left, int top, int right, int bottom);

Для выделения памяти под сохраняемую область рекомендуется импользовать функцию:

void* malloc ( unsigned size); Прототип в alloc.h.

int getmaxx ( void ); Возвращает максимальную координату x для установленного драйвера и видеорежима. Для принятого видеоадаптера VGA она равна 639.

int getmaxy ( void ); То же для координаты y. Для VGA она равна 479.

int getx ( void ); Возвращает относительную(зависящую от окна) координату x курсора.

int gety ( void ); То же для координаты y.

void moverel ( int dx, int dy); Перемещает курсор на dx пикселей по горизонтали и dy пикселей по вертикали относительно текущего положения.

void moveto ( int x, int y); Перемещает курсор в точку (x, y) в относительных координатах окна.




Поделиться с друзьями:


Дата добавления: 2014-12-27; Просмотров: 454; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.