Скачиваний:
82
Добавлен:
16.07.2022
Размер:
1.8 Mб
Скачать
    1. Функции работы с маскированием

Функции работы с маскированием предназначены для создания и изменения масок, влияющих на отрисовку примитивов. Маски позволяют запретить рисование в необходимых областях экрана.

Функции работы с масками перечислены в таблице 3.3.

Таблица 3.3 – Функции работы с масками

Объявление функции

Описание

void gfPushTransform (int32 id)

void gfPopTransform (int32 id)

Помещение маски в стек масок либо удаление из него

void gfSetClipLineParam (enum ClipSide side, int32 coord);

Задание координат секущей линии и отсекаемой части.

ClipSideLeft – левая сторона

ClipSideRight – правая сторона

ClipSideTop – верхняя сторона

ClipSideBottom – нижняя сторона

void gfSetClipRectParam (int32 left, int32 bottom, int32 right, int32 top);

Задание прямоугольной маски

void gfGraphicMode (enum GRATHMODE mode)

Установка режима прорисовки примитивов относительно маски

GRAPHMODE_PAINT – прорисовка примитивов без учёта текущей маски

GRAPHMODE_PAINT_MASK – прорисовка примитивов с учётом текущей маски

GRAPHMODE_PAINT_INVERSMASK – прорисовка примитивов с учётом текущей маски, интерпретируя её инверсно

GRAPHMODE_MAKE_NEW_MASK – формирование примитивами области маски, при этом предыдущая маска удаляется

GRAPHMODE_MAKE_MASK – формирование примитивами области маски, при этом происходит дополнение текущей маски новыми областями

GRAPHMODE_MAKE_SLICE – формирование примитивами области маски, при этом происходит удаление областей текущей маски

    1. Математические функции

Добавление математических функций обусловлено желанием заказчика.

Список добавленных математических функций представлен в таблице 3.4.

Таблица 3.4 – Математические функции

Объявление функции

Описание

float32 mfLn (float32 val)

Натуральный логарифм

float32 mfLg (float32 val)

Десятичный логарифм

float32 mfSin (float32 val)

Синус на основе градусов

float32 mfSinr (float32 val)

Синус на основе радиан

float32 mfSinh (float32 val);

Синус гиперболический на основе градусов

float32 mfSinhr (float32 val);

Синус гиперболический на основе радиан

float32 mfCos (float32 val);

Косинус на основе градусов

float32 mfCosr (float32 val);

Косинус на основе радиан

float32 mfCosh (float32 val);

Косинус гиперболический на основе градусов

float32 mfCoshr (float32 val);

Косинус гиперболический на основе радиан

float32 mfTg (float32 val);

Тангенс на основе градусов

float32 mfTgr (float32 val);

Тангенс на основе радиан

float32 mfTgh (float32 val);

Тангенс гиперболический на основе градусов

float32 mfTghr (float32 val);

Тангенс гиперболический на основе радиан

float32 mfArcsin (float32 val);

Арксинус, результат в градусах

float32 mfArccos (float32 val);

Арккосинус, результат в градусах

float32 mfArctg (float32 val);

Арктангенс, результат в градусах

float32 mfArcsinr (float32 val);

Арксинус, результат в радианах

float32 mfArccosr (float32 val);

Арккосинус, результат в радианах

float32 mfArctgr (float32 val);

Арктангенс, результат в радианах

float32 mfArctg2r (float32 y, float32 x);

Арктангенс по двум сторонам, результат в радианах

float32 mfSqrt (float32 val);

Квадратный корень

float32 mfExp (float32 val);

Экспонента

float32 mfCeil (float32 val);

Округление вверх до целого

float32 mfFloor (float32 val);

Округление вниз до целого

float32 mfPow (float32 val1, float32 val2);

Возведение val1 в степень val2

float32 mfFabs(float32 val);

Модуль вещественного числа

int32 mfAbs(int32 val);

Модуль целого числа

float64 mfFmod(float64 val1, float64 val2);

Большее значение

void sfStrncpy(int8 *dst, int8 const *src, int32 count);

void sfStrncpy(char_mb *dst, char_mb const *src, int32 count);

void sfWcsncpy(char_un *dst, char_un const *src, int32 count);

Функция используется для копирования count символов из строки src в строку dst

Функции предназначены для различных кодировок символов

int32 sfStrcmp(int8 const *str1, int8 const *str2);

int32 sfStrcmp(char_mb const *str1, char_mb const *str2);

int32 sfWcscmp(char_un const *str1, char_un const *str2);

Функция сравнения строк, возвращает результат сравнения

Функции предназначены для различных кодировок символов

Продолжение таблицы 3.4

int8 *sfSnprintf(int8 *dst, int32 limit, int8 const *format, ... );

char_mb *sfSnprintf(char_mb *dst, int32 limit, char_mb const *format, ... );

char_un *sfSwprintf(char_un *dst, int32 limit, char_un const *format, ... );

Функция возвращает первый входной параметр, куда копируется limit символов в соответствии с заданным форматированием format

Функции предназначены для различных кодировок символов

int32 sfAtoi(int8 const *str);

int32 sfAtoi(char_mb const *str);

int32 sfWtoi(char_un const *str);

Функция переводит строку в целое число

Функции предназначены для различных кодировок символов

uint32 sfAtoui(int8 const *str);

uint32 sfAtoui(char_mb const *str);

uint32 sfWtoui(char_un const *str);

Функция переводит строку в целое беззнаковое число

Функции предназначены для различных кодировок символов

float32 sfAtof(int8 const *str);

float32 sfAtof(char_mb const *str);

float32 sfWtof(char_un const *str);

Функция переводит строку в вещественное число

Функции предназначены для различных кодировок символов