Специфікація BTRON3 (Український переклад) | Розділ 6: Графічні примітиви (Display Primitives)
Повернутися до змісту розділу Графічних примітивів
Попередня сторінка: 2.3 Базові функції (Повернутися)
Наступна сторінка: 2.5 Функції виводу тексту (Перейти)
| gdra_lin |
| Draw Line |
| Малювання відрізка прямої лінії (Draw Line) |
|
【Синтаксис / Прототип】
ERR gdra_lin(GID gid, PNT *p1, PNT *p2, PAT *pat, W mode)
【Параметри】
GID gid Дескриптор середовища малювання
PNT *p1 Початкова точка відрізка (X1, Y1)
PNT *p2 Кінцева точка відрізка (X2, Y2)
PAT *pat Патерн малювання лінії (NULL = суцільний колір за замовчуванням)
W mode Режим накладання пікселів (DM_PAINT, DM_OVER, DM_XOR тощо)
【Значення, що повертається】
= 0 (E_OK) : Успішне малювання
< 0 : Помилка (EG_GID, EG_ADR, EG_PAR)
【Детальний опис】
Проводить прямолінійний відрізок між точками p1 та p2 у середовищі gid з урахуванням товщини лінії, стилю та режиму малювання mode.
| gtst_pnt |
| Test Pixel Value |
| Отримання кольору та значення пікселя в точці (Test Point) |
|
【Синтаксис / Прототип】
ERR gtst_pnt(GID gid, PNT *p, COLOR *col, PIXVAL *pixv)
【Параметри】
GID gid Дескриптор середовища малювання
PNT *p Координати тестової точки (X, Y)
COLOR *col Буфер для збереження структури кольору (COLOR)
PIXVAL *pixv Буфер для збереження сирого значення пікселя в растрі
【Значення, що повертається】
= 0 (E_OK) : Успішно отримано колір пікселя
< 0 : Помилка (EG_GID, EG_ADR, EG_PAR)
| gdra_pnt / gfil_pnt |
| Draw Point / Fill Seed |
| Малювання точкового пікселя та заливка замкненої області |
|
【Синтаксис / Прототип】
ERR gdra_pnt(GID gid, PNT *p, PAT *pat, W mode)
ERR gfil_pnt(GID gid, PNT *seed, PAT *pat, W mode)
【Детальний опис】
gdra_pnt() видобуває та зафарбовує одиночний піксель у точці p. gfil_pnt() виконує алгоритм заливки замкненої суцільної області патерном pat, починаючи з початкової точки заповнення seed (Flood Fill).
| gfra_rec / gfil_rec |
| Frame / Fill Rectangle |
| Малювання контуру та заповнення прямокутника |
|
【Синтаксис / Прототип】
ERR gfra_rec(GID gid, RECT *r, PAT *pat, W mode)
ERR gfil_rec(GID gid, RECT *r, PAT *pat, W mode)
【Параметри】
GID gid Дескриптор середовища малювання
RECT *r Координати прямокутника (left, top, right, bottom)
PAT *pat Патерн малювання лінії контуру або заповнення внутрішньої області
W mode Режим растрових операцій малювання (DM_PAINT, DM_OVER, DM_XOR)
【Детальний опис】
gfra_rec() малює рамку/контур прямокутника r. gfil_rec() зафарбовує суцільну прямокутну область r патерном pat.
| gfra_rrc / gfil_rrc |
| Frame / Fill Round Rectangle |
| Малювання контуру та заповнення скругленого прямокутника |
|
【Синтаксис / Прототип】
ERR gfra_rrc(GID gid, RECT *r, SIZE *rad, PAT *pat, W mode)
ERR gfil_rrc(GID gid, RECT *r, SIZE *rad, PAT *pat, W mode)
【Параметри】
GID gid Дескриптор середовища малювання
RECT *r Координати прямокутника
SIZE *rad Радіуси скруглення кутів (rad->w по X, rad->h по Y)
PAT *pat Патерн заповнення або контуру
W mode Режим малювання
| gfra_ovl / gfil_ovl |
| Frame / Fill Oval |
| Малювання контуру та заповнення еліпса / кола |
|
【Синтаксис / Прототип】
ERR gfra_ovl(GID gid, RECT *r, PAT *pat, W mode)
ERR gfil_ovl(GID gid, RECT *r, PAT *pat, W mode)
【Детальний опис】
Малюють контур або заповнюють еліпс (або коло), вписаний у прямокутник r.
| gdra_arc / gfra_sec / gfil_sec / gfra_cho / gfil_cho |
| Arcs, Sectors, and Chords |
| Малювання дуги, контуру/заповнення сектора та хорди (сегмента) |
|
【Синтаксис / Прототип】
ERR gdra_arc(GID gid, RECT *r, W start, W extent, PAT *pat, W mode)
ERR gfra_sec(GID gid, RECT *r, W start, W extent, PAT *pat, W mode)
ERR gfil_sec(GID gid, RECT *r, W start, W extent, PAT *pat, W mode)
ERR gfra_cho(GID gid, RECT *r, W start, W extent, PAT *pat, W mode)
ERR gfil_cho(GID gid, RECT *r, W start, W extent, PAT *pat, W mode)
【Параметри】
GID gid Дескриптор середовища малювання
RECT *r Описовий прямокутник еліпса
W start Початковий кут у градусах (0 = 3 години, за годинниковою стрілкою)
W extent Кутовий діапазон дуги у градусах
PAT *pat Патерн малювання
W mode Режим растрової операції
| gdra_pln / gfra_pol / gfil_pol |
| Polyline / Frame Polygon / Fill Polygon |
| Малювання ламаної лінії, контуру багатокутника та заповнення полігону |
|
【Синтаксис / Прототип】
ERR gdra_pln(GID gid, PNT *pts, W npts, PAT *pat, W mode)
ERR gfra_pol(GID gid, PNT *pts, W npts, PAT *pat, W mode)
ERR gfil_pol(GID gid, PNT *pts, W npts, PAT *pat, W mode)
【Параметри】
GID gid Дескриптор середовища малювання
PNT *pts Масив вершин / точок
W npts Кількість точок у масиві pts
PAT *pat Патерн малювання
W mode Режим малювання
【Детальний опис】
gdra_pln() малює незамкнену ламану лінію. gfra_pol() малює замкнений контур багатокутника. gfil_pol() зафарбовує внутрішню область багатокутника будь-якої складності.
| gfil_gen / gfil_rgn |
| Fill Generic Shape / Fill Region |
| Заповнення узагальненої фігури та графічного регіону GRGN |
|
【Синтаксис / Прототип】
ERR gfil_gen(GID gid, GSHP *shp, PAT *pat, W mode)
ERR gfil_rgn(GID gid, GRGN *rgn, PAT *pat, W mode)
| gdra_spl / gfil_spl |
| Draw / Fill Spline Curve |
| Малювання та заповнення замкненої кривої Безьє / В-сплайна |
|
【Синтаксис / Прототип】
ERR gdra_spl(GID gid, PNT *pts, W npts, PAT *pat, W mode)
ERR gfil_spl(GID gid, PNT *pts, W npts, PAT *pat, W mode)
【Параметри】
GID gid Дескриптор середовища малювання
PNT *pts Масив керуючих точок сплайна
W npts Кількість точок
PAT *pat Патерн малювання
W mode Режим малювання
| gcop_bmp |
| Copy Bitmap (BitBlt) |
| Копіювання блоку пікселів між бітовими картами (BitBlt) |
|
【Синтаксис / Прототип】
ERR gcop_bmp(GID dst_gid, RECT *dst_r, GID src_gid, RECT *src_r, W mode)
【Параметри】
GID dst_gid Дескриптор призначального середовища
RECT *dst_r Прямокутник призначення у dst_gid
GID src_gid Дескриптор джерельного середовища
RECT *src_r Прямокутник джерела у src_gid
W mode Режим накладання (DM_PAINT, DM_OVER, DM_XOR)
| gsav_bmp / grst_bmp / grst_mbm |
| Save / Restore Bitmap |
| Збереження та відновлення прямокутної області пікселів |
|
【Синтаксис / Прототип】
ERR gsav_bmp(GID gid, RECT *r, BITMAP *bmap)
ERR grst_bmp(GID gid, RECT *r, BITMAP *bmap, W mode)
ERR grst_mbm(GID gid, RECT *r, BITMAP *bmap, BITMAP *mask, W mode)
| grot_bmp / gscr_rec |
| Rotate Bitmap / Scroll Rectangle |
| Поворот растру (90/180/270°) та апаратне прокручування прямокутника |
|
【Синтаксис / Прототип】
ERR grot_bmp(GID dst_gid, RECT *dst_r, GID src_gid, RECT *src_r, W angle, W mode)
ERR gscr_rec(GID gid, RECT *r, W dh, W dv, PAT *pat, W mode)
【Детальний опис】
grot_bmp() виконує поворот растрового прямокутника на кут angle (90°, 180°, 270°). gscr_rec() здійснює швидке скролювання вмісту прямокутника r на (dh, dv) пікселів.
| gsiz_cbm / gcom_bmp / gunc_bmp |
| Compress / Decompress Bitmap |
| Стиснення та розпакування бітових карт (RLE/PackBits) |
|
【Синтаксис / Прототип】
W gsiz_cbm(BITMAP *bmap, W format)
ERR gcom_bmp(BITMAP *bmap, B *dst, W *dst_size, W format)
ERR gunc_bmp(B *src, W src_size, BITMAP *bmap)
Функції Picking перевіряють, чи потрапляє тестова точка pt у межі або на контур фігури:
BOOL gpic_lin(PNT *p1, PNT *p2, PNT *pt, W width)
BOOL gpic_rec(RECT *r, PNT *pt, W width, BOOL fill)
BOOL gpic_rrc(RECT *r, SIZE *rad, PNT *pt, W width, BOOL fill)
BOOL gpic_ovl(RECT *r, PNT *pt, W width, BOOL fill)
BOOL gpic_arc(RECT *r, W start, W extent, PNT *pt, W width)
BOOL gpic_sec(RECT *r, W start, W extent, PNT *pt, W width, BOOL fill)
BOOL gpic_cho(RECT *r, W start, W extent, PNT *pt, W width, BOOL fill)
BOOL gpic_pln(PNT *pts, W npts, PNT *pt, W width)
BOOL gpic_pol(PNT *pts, W npts, PNT *pt, W width, BOOL fill)
BOOL gpic_gen(GSHP *shp, PNT *pt, W width, BOOL fill)
BOOL gpic_spl(PNT *pts, W npts, PNT *pt, W width, BOOL fill)
Повернутися до змісту розділу Графічних примітивів
Попередня сторінка: 2.3 Базові функції (Повернутися)
Наступна сторінка: 2.5 Функції виводу тексту (Перейти)