Специфікація BTRON3 (Український переклад) | Розділ 6: Графічні примітиви (Display Primitives)
Повернутися до змісту розділу Графічних примітивів
Попередня сторінка: 2.5 Функції виводу тексту (Повернутися)
Наступна сторінка: Розділ 3. Графічна оболонка (Перейти)

2.6 Функції керування вказівником (Pointer Functions)

2.6.1 Вказівник миші (Pointer)

Вказівник миші (покажчик курсора) відображається поверх усіх вікон і растрових площин, автоматично слідуючи за фізичними переміщеннями координатно-вказівного пристрою (миші, тачпада чи планшета).

2.6.2 Стан та форми вказівника

□ Структура образу покажчика (PTRIMG / PTRSTS)

typedef struct {
    PNT     hotpt;      /* Точка гарячого фокусу (Hot Spot) відносно лівого верхнього кута */
    B       data[72];   /* Бітова маска образу покажчика (24x24 пікселі) */
    B       mask[72];   /* Бітова маска прозорості/трафарету (1 = видимий піксель, 0 = прозорий) */
} PTRIMG;

typedef struct {
    W       sts;        /* Стан видимості (0 = видимий, > 0 = лічильник приховувань) */
    H       style;      /* Стиль форми (>= 0: системний стиль, < 0: довільний PTRIMG) */
    COLOR   fgcol;      /* Колір переднього плану покажчика */
    COLOR   bgcol;      /* Колір фону/обводки покажчика */
    PNT     pos;        /* Поточна абсолютна позиція курсора на екрані */
} PTRSTS;

2.6.3 Системні виклики керування вказівником

gini_ptr
Initialize Pointer
Ініціалізація та скидання стану вказівника (Initialize Pointer)

【Синтаксис / Прототип】

ERR gini_ptr(void)

【Значення, що повертається】

= 0 (E_OK) : Успішна ініціалізація
< 0        : Помилка

【Детальний опис】

Скидає стан покажчика курсора до стандартної системної стрілки зі стандартними кольорами (чорний передній план, білий фон обводки) та вмикає режим відстеження миші.

gdsp_ptr
Show / Hide Pointer
Керування видимістю вказівника (Show/Hide Pointer)

【Синтаксис / Прототип】

W gdsp_ptr(W req)

【Параметри】

W   req     Вимога зміни видимості:
            = 0 : Приховати вказівник (+1 до лічильника приховування)
            > 0 : Показати вказівник (-1 до лічильника приховування)
            < 0 : Примусово показати (примусово скинути лічильник в 0)

【Значення, що повертається】

>= 0    Поточне значення внутрішнього лічильника приховування (0 = покажчик видимий)
< 0     Помилка

【Детальний опис】

Змінює внутрішній лічильник вимог приховування вказівника. Курсор стає видимим на екрані лише при лічильнику рівному 0.

gset_ptr
Set Pointer Shape and Color
Зміна форми та кольорів покажчика (Set Pointer Style)

【Синтаксис / Прототип】

ERR gset_ptr(PTRSTL style, PTRIMG *img, COLOR fgcol, COLOR bgcol)

【Параметри】

PTRSTL  style   Номер системного стилю курсора (>= 0: стрілка, хрест, пісочний годинник) або < 0 (користувацький img)
PTRIMG *img     Довільний образотворчий масив та маска покажчика (при style < 0)
COLOR   fgcol   Передній колір курсора (< 0 = без змін)
COLOR   bgcol   Колір фону/обводки курсора (< 0 = без змін)

【Значення, що повертається】

= 0 (E_OK) : Успішна зміна форми та кольору
< 0        : Помилка (EG_ADR, EG_PAR)
gmov_ptr
Move Pointer Position
Програмне переміщення покажчика на екрані (Move Pointer)

【Синтаксис / Прототип】

ERR gmov_ptr(PNT pos)

【Параметри】

PNT pos     Нові абсолютні екранні координати (X, Y)

【Значення, що повертається】

= 0 (E_OK) : Успішне переміщення
< 0        : Помилка

【Детальний опис】

Програмно переміщує покажчик у точку pos на екрані. Працює у режимі фіксованої позиції (Non-tracking).

gmot_ptr
Set Pointer Motion Tracking
Увімкнення / вимкнення відстеження руху миші (Pointer Tracking)

【Синтаксис / Прототип】

ERR gmot_ptr(W sts)

【Параметри】

W   sts     Режим руху: 0 = зафіксувати позицію (Non-tracking), 1 = автоматично слідкувати за мишею (Tracking)

【Значення, що повертається】

= 0 (E_OK) : Успіх
< 0        : Помилка
gget_ptr
Get Pointer Status
Отримання поточного стану та форми покажчика (Get Pointer Status)

【Синтаксис / Прототип】

W gget_ptr(PTRSTS *sts, PTRIMG *img)

【Параметри】

PTRSTS *sts     Буфер у пам'яті для збереження загального стану курсора
PTRIMG *img     Буфер для збереження маски та образу курсора (при NULL не повертається)

【Значення, що повертається】

>= 0    Фізичний розмір растру покажчика у пікселях (наприклад, 24x24 або 32x32)
< 0     Помилка (EG_ADR)

Повернутися до змісту розділу Графічних примітивів
Попередня сторінка: 2.5 Функції виводу тексту (Повернутися)
Наступна сторінка: Розділ 3. Графічна оболонка (Перейти)