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;
}
