1.2 Анализ констант, типов и глобальных переменных модуля
arccoordstype - Используется функцией getarccoords для получения параметров текущей области просмотра.
struct arccoordstype
{
int x, y; /* center points of arc */
int xstart, ystart; /* start position */
int xend, yend; /* end position */
}
CGA_COLORS - Данная константа определяет цветовую схему, доступную для функция BGI, выполняющихся на CGA мониторах. Определена в модуле GRAPHICS.H. Используется функциями setallpalette, setbkcolor, setcolor, setpalette.
COLORS - Данная символьная константа устанавливает атрибут цвета символов на EGA и CGA мониторах. Определена в модуле CONIO.H. Используется функциями (функции описаны в модуле CONIO.H) textattr, textbackground, textcolor.
EGA_COLORS - Данная константа определяет цветовую схему, доступную для функция BGI, выполняющихся на EGA мониторах. Определена в модуле GRAPHICS.H. Используется функциями setallpalette, setbkcolor, setcolor, setpalette.
fill_patterns - Образцы заливки применяемые функциями getfillsettings и setfillstyle( см. таблицу 1).
Таблица 1.
Название |
Значение |
Результат заполнения |
|
EMPTY_FILL |
0 |
Цвет фона |
|
SOLID_FILL |
1 |
Сплошная заливка |
|
LINE_FILL |
2 |
Заливка типа “---” |
|
LTSLASH_FILL |
3 |
Заливка типа “///” |
|
SLASH_FILL |
4 |
“///” толстые линии |
|
BKSLASH_FILL |
5 |
“” толстые линии |
|
LTBKSLASH_FILL |
6 |
Заливка типа “” |
|
HATCH_FILL |
7 |
Редкая штриховка |
|
XHATCH_FILL |
8 |
Сильная перекрестная |
|
INTERLEAVE_FILL |
9 |
“Чередование строк” |
|
WIDE_DOT_FILL |
10 |
Заливка точками(широк) |
|
Таблица 1. продолжение. |
|||
CLOSE_DOT_FILL |
11 |
Заливка точками(узк) |
|
USER_FILL |
12 |
Определ. пользователем |
fillsettingstype - Используется функцией getfillsettings для получения текущих настроек заливки.
struct fillsettingstype
{
int pattern; /* current fill pattern */
int color; /* current fill color */
}
font_names - Имена для BGI шрифтов( см. таблицу 2).
Таблица 2.
Название |
Значение |
Результат |
|
DEFAULT_FONT |
0 |
8x8 растровый шрифт |
|
TRIPLEX_FONT |
1 |
Штриховой тройной шрифт |
|
SMALL_FONT |
2 |
Штриховой маленький шрифт |
|
SANS_SERIF_FONT |
3 |
Штриховой "гротесковый” шрифт |
|
GOTHIC_FONT |
4 |
Штриховой готический шрифт |
Используется функцией settextstyle().
graphics_drivers - Константа, определяющая BGI графические драйверы( см. таблицу 3).
Таблица 3.
Константа |
Значение |
|
DETECT |
0 (авто определение) |
|
CGA |
1 |
|
Таблица 3. продолжение. |
||
MCGA |
2 |
|
EGA |
3 |
|
EGA64 |
4 |
|
EGAMONO |
5 |
|
IBM8514 |
6 |
|
HERCMONO |
7 |
|
ATT400 |
8 |
|
VGA |
9 |
|
PC3270 |
10 |
Используется функцией initgraph().
graphics_errors - Константа, соответствующая коду ошибки, возвращённому функцией graphresult()( см. таблицу 4).
Таблица 4.
Код ошибки |
Константа graphics_errors |
Соответствующее сообщение об ошибке |
|
0 |
grOk |
Нет ошибок |
|
-1 |
grNoInitGraph |
(BGI) графика не установлена (использовать initgraph) |
|
-2 |
grNotDetected |
Графические аппаратные средства не обнаружены |
|
-3 |
grFileNotFound |
Файл драйвера не найден |
|
Таблица 4. продолжение. |
|||
-4 |
grInvalidDriver |
Недействительный файл драйвера |
|
-5 |
grNoLoadMem |
Недостаточно памяти чтобы загрузить драйвер |
|
-6 |
grNoScanMem |
Недостаточно памяти в просмотре заливки |
|
-7 |
grNoFloodMem |
Недостаточно памяти для заливки |
|
-8 |
grFontNotFound |
Файл шрифта не найден |
|
-9 |
grNoFontMem |
Недостаточно памяти для загрузки шрифта |
|
-10 |
grInvalidMode |
Недопустимый графический режим для выбранного драйвера |
|
-11 |
grError |
Графическая ошибка |
|
-12 |
grIOerror |
Графическая ошибка ввода/вывода |
|
-13 |
grInvalidFont |
Недопустимый файл шрифта |
|
Таблица 4. продолжение. |
|||
-14 |
grInvalidFontNum |
Недопустимый номер шрифта |
|
-15 |
grInvalidDeviceNum |
Недопустимый номер устройства |
|
-18 |
grInvalidVersion |
Недопустимый номер версии |
graphics_modes - Константы графических режимов для каждого BGI драйвера( см. таблицу 5).
Таблица 5.
Графический драйвер |
Графические режимы (graphics_modes) |
Значение |
Разрешение |
Палитра |
Страницы |
|
CGA |
CGAC0 CGAC1 CGAC2 CGAC3 CGAHI |
0 1 2 3 4 |
320 x 200 320 x 200 320 x 200 320 x 200 640 x 200 |
C0 C1 C2 C3 2color |
1 1 1 1 1 |
|
MCGA |
MCGAC0 MCGAC0 MCGAC0 MCGAC0 MCGAMED MCGAHI |
0 1 2 3 4 5 |
320 x 200 320 x 200 320 x 200 320 x 200 640 x 200 640 x 480 |
C0 C1 C2 C3 2color 2color |
1 1 1 1 1 1 |
|
EGA |
EGALO EGAHI |
0 1 |
640 x 200 640 x 350 |
16color 16color |
4 2 |
|
Таблица 5. продолжение. |
||||||
EGA64 |
EGA64LO EGA64HI |
0 1 |
640 x 200 640 x 350 |
16color 4color |
1 1 |
|
EGA-MONO |
EGAMONOHI EGAMONOHI |
0 1 |
640 x 350 640 x 350 |
2color 2color |
1* 2** |
|
HERC |
HERCMONOHI |
0 |
720 x 348 |
2color |
2 |
|
ATT400 |
ATT400C0 ATT400C1 ATT400C2 ATT400C3 ATT400MED ATT400HI |
0 1 2 3 4 5 |
320 x 200 320 x 200 320 x 200 320 x 200 640 x 200 640 x 400 |
C0 C1 C2 C3 2color 2color |
1 1 1 1 1 1 |
|
VGA |
VGALO VGAMED VGAHI |
0 1 2 |
640 x 200 640 x 350 640 x 480 |
16color 16color 16color |
2 2 1 |
|
PC3270 |
PC3270HI |
0 |
720 x 350 |
2color |
1 |
|
IBM8514 |
IBM8514HI IBM8514LO |
1 0 |
1024x 760 640 x 480 |
256color 256color |
* - 64k на EGAMONO плате
** - 256k на EGAMONO плате
Данные параметры используются функциями detectgraph(), initgraph() и константами graphics_drivers.
HORIZ_DIR - Данный параметр устанавливает направление графического вывода шрифта (Имя параметра: HORIZ_DIR; Значение: 0; Направление: Слева на право). Данный параметр используется функциями gettextsettings(), settextstyle(), setusercharsize().
line_styles - Константы стилей линий для функций getlinesettings() и setlinestyle()( см. таблицу 6).
Таблица 6.
Константа |
Значение |
Результат |
|
SOLID_LINE |
0 |
Сплошная линия |
|
DOTTED_LINE |
1 |
Пунктир |
|
CENTER_LINE |
2 |
Центрированная линия |
|
DASHED_LINE |
3 |
Пунктирная линия |
|
USERBIT_LINE |
4 |
Определяется пользователем |
line_widths - Константа ширины линий для функций getlinesettings() и setlinestyle()( см. таблицу 7).
Таблица 7.
Константа |
Значение |
Результат |
|
NORM_WIDTH |
1 |
Ширина в 1-н пиксель |
|
THICK_WIDTH |
3 |
Ширина в 3-и пикселя |
linesettingstype - Используется функциями getlinesettings() и setlinestyle() для корректировки рисования линий.
struct linesettingstype
{
int linestyle;
int upattern;
int thickness;
}
Таблица 8. Описание переменных структуры linesettingstype.
Элемент |
Описание |
|
upattern |
Установленный пользователем битовый образец используется когда стиль линии стоит как USERBIT_LINE. |
|
Таблица 8. продолжение. |
||
linestyle |
Определяет в каком виде будут выводится следующие линии( сплошной, пунктирный, центрированный). |
|
thickness |
Определяет будет ли толщина следующих линий обычной или толстой. |
upattern - 16-и разрядный образец, который применяется только если стиль линии определён как USERBIT_LINE. В этом случае, когда бит в образце слова единица, соответствующая точка в линии рисуется установленным цветом.
Например, сплошная линия соответствует upattern равному 0xFFFF(т.е. рисуются все пиксели), в то время как пунктирная линия может быть если upattern равно 0x3333 или 0x0F0F или 0x3F3F( см. таблицу 9).
Таблица 9.
16-и битный образец |
upattern |
|
..xx..xx..xx..xx ....xxxx....xxxx ..xxxxxx..xxxxxx xxxxxxxxxxxxxxxx |
0x3333(штрих пунктир) 0x0F0F(длинный штрих пунктир) 0x3F3F(более длинный штрих пунктир) 0xFFFF(сплошная линия) |
MAXCOLORS - Определяет максимальное число цветов для массива полей в palettetype. Используется функцией setallpalette().
palettetype - Содержит информацию о палитре для текущего графического драйвера при запросах с использованием функций getpalette(), setpalette(), setallpalette().
struct palettetype
{
unsigned char size;
signed char colors[MAXCOLORS+1];
}
Таблица 10. Описание элементов структуры palettetype.
Элемент |
Описание |
|
Size |
Даёт номер цветов в палитре для текущего графического драйвера в текущем режиме. |
|
colors |
Массив байтов, содержащий необработанный номер цвета для каждого входа в палитру. Если элемент цветов -1, то палитра для данного входа не определена. |
pointtype - Содержит координаты точки.
struct pointtype
{
int x;
int y;
}
putimage_ops - Параметры для функции putimage()( см. таблицу 11).
Таблица 11.
Константа |
Значение |
Описание |
|
COPY_PUT |
0 |
Битовый рисунок источника копируется на экран. |
|
XOR_PUT |
1 |
Исключающее ИЛИ. Отображает на экране исходное изображение. |
|
OR_PUT |
2 |
ИЛИ. Отображает на экране текущее изображение, не убирая предыдущего выведенного этого же изображения. |
|
Таблица 11. продолжение. |
|||
AND_PUT |
3 |
Выводит на экран картинку поверх остальных объектов. |
|
NOT_PUT |
4 |
Копирует и вставляет инверсированный источник. |
text_just - Параметр горизонтального и вертикального выравнивания для функции settextjustify().
Таблица 12. Значения параметра text_just.
Аргумент |
Константа |
Значение |
Результат |
|
Horiz |
LEFT_TEXT CENTER_TEXT RIGHT_TEXT |
0 1 2 |
По левому краю По центру По правому краю |
|
Vert |
BOTTOM_TEXT CENTER_TEXT TOP_TEXT |
0 1 2 |
По низу По центру По верху |
text directions - Настройки текста. Содержит два параметра HORIZ_DIR и VERT_DIR.
textsettingstype - Используется для получения текущих настроек текста функцией gettextsettings().
struct textsettingstype
{
int font;
int direction;
int charsize;
int horiz;
int vert;
}
USER_CHAR_SIZE - Определённый пользователем размер символа. В таблице 13 указаны значения данного параметра, а так же размеры шрифтов, соответствующие заданному параметру.
Таблица 13.
Значение |
Размер дисплея 8x8 растровых шрифтов |
|
1 |
Символы дисплея в 8x8 экранных блоков |
|
2 |
Символы дисплея в 16x16 экранных блоков |
|
... |
... |
|
10 |
Символы дисплея в 80x80 экранных блоков |
Используется функциями gettextsettings(), settextstyle(), setusercharsize() и параметром textsettingstype.
VERT_DIR - Данный параметр устанавливает направление графического вывода шрифта (Имя параметра: VERT_DIR; Значение: 1; Направление: Снизу в верх, поворачивает выводимый текст на 90 градусов против часовой стрелки). Данный параметр используется функциями gettextsettings(), settextstyle(), setusercharsize().
viewporttype - Используется для получения настроек области вывода функцией getviewsettings().
struct viewporttype
{
int left;
int top;
int right;
int bottom;
int clip;
}
- Стандартные библиотечные функции
- §2. Стандартные и библиотечные функции в линейных программах
- 4.13.3.Библиотечные функции для работы с файлами
- 2.6.Библиотечные функции языка с.
- 1.13. Системные вызовы и библиотечные функции
- Стандартные библиотечные функции
- 18.Графика. Возможности стандартной библиотеки graphics.H. Алгоритмы построения графических изображений.
- Функции стандартной библиотеки
- (Стандартные библиотечные файлы
- Стандартные библиотечные модули и модули пользователя