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 и совместимых с ни-
                    ми, оснащенных дисплейными адаптерами, поддержи-
                    вающими графический режим.

 Смотрите также     setlinestyle

 Пример:

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