Функция Получает текущий цвет линии,
getlinesttings
Функция Получает текущий цвет линии, шаблон и толщину.
Синтаксис #include
void far getlinesettings(struct linesettingstype far *lineinfo);
Файл, содержащий graphics.h прототип
Описание getlinesettings заполняет структуру linesettings, на которую указывает параметр lineinfo информаци- ей, о текущем типе линий, толщине и шаблоне.
Структура linesettingstype определена в graphics.h следующим образом:
struct linesettingstype{ int linestyle; unsigned upattern; int thickness; };
linestyle определяет тип линий, который будет ис- пользоваться ( непрерывная, пунктир, штрихпунк- тир, штриховая). Перечисляемый тип line_styles, определенный в graphics.h, дает символические имена этим операциям:
------------------------------------------- Название Знач. Описание ------------------------------------------- SOLID_LINE 0 сплошная DOTTED_LINE 1 пунктир CENTER_LINE 2 штрихпунктир DASHED_LINE 3 штриховая USERBIT_LINE 4 тип линии, заданный пользователем -------------------------------------------
thickness определяет, будут ли последующие линии тонкими или толстыми.
------------------------------------------- Название Знач. Описание ------------------------------------------- NORM_WIDTH 1 толшина в 1 пиксель THICK_WIDTH 3 толщина в 3 пикселя --------------------------------------------
upattern -это 16-битный шаблон, который использу- ется, только когда linestyle равен USERBIT_LINE (4). В этом случае каждый бит в шаблоне, установ- ленный в 1, соответствует пикселю на линии в те- кущем цвете. Например, сплошной линии соответстс- вует upattern равный 0xFFFF ( рисуются все пиксе- ли), а пунктиру соответствует upattern, равный 0x3333 или 0x0F0F. Если же параметр linestyle в setlynestyle не равен USERBIT_LINE (!=4), то upattern поддерживается, но игнорируется.
Возвращаемое Нет. значение
Переносимость Функция уникальна для Turbo C++. Она работает только на компьютерах IBM PC и совместимых с ни- ми, оснащенных дисплейными адаптерами, поддержи- вающими графический режим.
Смотрите также
Пример:
#include
#include
#include
#include
/* имена поддерживаемых типов линий */ char lname[] = {"SOLID_LINE", "DOTTED_LINE", "CENTER_LINE", "DASHED_LINE", "USERBIT_LINE" };
int main(void) { /* Запрос автоопределения */ int graphdriver = DETECT, gmode, errorcode; struct linrsettingstype lineinfo; int midx,midy; char lstyle[80],lpattern[80],lwigth[80];
/* инициализация графики и локальных переменных */ initgraph(&graphdriver,&gmode,"");
/* получение результата инициализации */ errorcode = graphresult(); if(errorcode != grOk) /* если ошибка */ { printf("Ошибка :%s\n",grapherrormsg(errorcode)); printf("Для останова нажмите любую клавишу\n"); getch(); exit(1); /* завершение с кодом ошибки */ } midx = getmaxx()/2; midy = getmaxy()/2; /* получить информацию о типе линии */ getlinesettings(&lineinfo); /* преобразовать в строки */ sprintf(lstyle,"Тип линии: %s\n",lname[lineinfo.linestyle]); sprintf(lpattern,"Шаблон определяемый пользователем: 0x%F", lineinfo.upattern); sprintf(lwigth,"Толщина линии: %d\n",lineinfo.thickness);
/* вывести информацию */ settextjustify(CENTER_TEXT,CENTER_TEXT); outtextxy(midx,midy,lstyle); outtextxy(midx,midy+2*textheight("W"),lpattern); outtextxy(midx,midy+4*textheight("W"),lwigth); /* очистка */ getch(); closegraph(); return 0; }