Синтаксис
#include <graphics.h>
void far sector(int x, int y, int stangle, int endangle, int xradius, int yradius);
Прототип
graphics.h
Описание
Функция sector рисует эллиптический сектор с центром в точке с координатами (x,y) и горизонтальными и вертикальными радиусами xradius и yradius соответственно, текущим цветом рисунка. Дуга рисуется от угла stangle до угла endangle. Сектор рисуется текущим цветом и закрашивается цветом и шаблоном, определенными функциями setfillstyle или setfillpattern.
Угол для arc отсчитывается против часовой стрелки, где 0 градусов соответствует 3 часам на циферблата, 90 градусов - 12 часам и т.д.
Если во время заполнения сектора возникает ошибка, graphresult возвращает значение -6 (grNoScanMem).
Возвращаемое значение
Нет.
Переносимость
Функция уникальна для Borland C++. Она работает только на компьютерах IBM PC и совместимых с ними, оснащенных дисплейными адаптерами, поддерживающими графический режим. Функция не совместима с Windows.
Пример
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
int main(void)
{
/* Запрос автоопределения */
int graphdriver = DETECT, gmode, errorcode;
int midx, midy, i;
int stangle = 0, endangle = 360;
int xradius = 100, yradius = 50;
/* инициализация графики и локальных переменных */
initgraph(&graphdriver,&gmode,"");
/* получение результата инициализации */
errorcode = graphresult();
if(errorcode != grOk) /* если ошибка */
{
printf("Ошибка :%s\n",grapherrormessage(errorcode));
printf("Для останова нажмите любую клавишу\n");
getch();
exit(1); /* завершение с кодом ошибки */
}
midx = getmaxx() / 2;
midy = getmaxy() / 2;
/* цикл по шаблонам */
for(i = EMPTY_FILL; i < USER_FILL; i++)
{
/* определить шаблон */
setfillstyle(i,getmaxcolor());
/* нарисовать эллиптический сектор */
sector(midx,midy,stangle,endangle,xradius,yradius);
getch();
}
/* очистка */
closegraph();
return 0;
}