CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник по функциям C/C++
getlinesttings
getlinesttings
Функция Получает текущий цвет линии, шаблон и толщину. Синтаксис #include <graphics.h> 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 поддерживается, но игнорируется. Возвращаемое Нет. значение Переносимость Функция уникальна для Borland C++. Она работает только на компьютерах IBM PC и совместимых с ними, оснащенных дисплейными адаптерами, поддерживающими графический режим. Функция не совместима с Windows. Смотрите также setlinestyle. Пример: #include <graphics.h> #include <stdlib.h> #include <stdio.h> #include <conio.h> /* имена поддерживаемых типов линий */ 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",grapherrormessage(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; }