CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник по функциям C/C++
getviewsettings
getviewsettings
Функция Получает информацию о текущей области просмотра.
Синтаксис #include <graphics.h>
void var getviewsettings(struct
viewporttype far *viewport);
Файл, содержащий graphics.h
прототип
Описание getviewsettings заполняет структуру viewporttype,
на которую указывает параметр viewport информацией
о текущей области просмотра. Структура
viewporttype используемая getviewport определена в
graphics.h следующим образом:
struct viewporttype {
int left, top, right, bottom;
int clip;
};
Возвращаемое Нет.
значение
Переносимость Функция уникальна для Borland C++. Она работает
только на компьютерах IBM PC и совместимых с ними,
оснащенных дисплейными адаптерами, поддерживающими
графический режим. Функция не совместима с
Windows.
Смотрите также clearviewport, getx, gety, srtviewport.
Пример:
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
char *clip[] = {"OFF","ON"};
int main(void)
{
/* Запрос автоопределения */
int graphdriver = DETECT, gmode, errorcode;
struct viewporttype viewinfo;
int midx,midy,ht;
char topstr[80],botstr[80],clipstr[80];
/* инициализация графики и локальных переменных */
initgraph(&graphdriver,&gmode,"");
/* получение результата инициализации */
errorcode = graphresult();
if(errorcode != grOk) /* если ошибка */
{
printf("Ошибка :%s\n",grapherrormessage(errorcode));
printf("Для останова нажмите любую клавишу\n");
getch();
exit(1); /* завершение с кодом ошибки */
}
midx = getmaxx()/2;
midy = getmaxy()/2;
/* получить информацию о текущей области просмотра */
getviewsettings(&viewinfo);
/* преобразовать информацию в строки */
sprintf(topstr,"Левый верхний угол(%d,%d)",viewinfo.left,
viewinfo.top);
sprintf(botstr,"Правый нижний угол(%d,%d)",viewinfo.rigth,
viewinfo.bottom);
sprintf(clipstr,"Клиппирование: %s",clip[viewinfo.clip]);
/* вывести информацию */
ht = textheight("W");
settextjustify(CENTER_TEXT,CENTER_TEXT);
outtextxy(midx,midy,topstr);
outtextxy(midx,midy+2*ht,botstr);
outtextxy(midx,midy+4*ht,clipstr);
/* очистка */
getch();
closegraph();
return 0;
}
