screen_blit()

Попиксельно копирует данные из одного буфера в другой

Прототип:

#include <screen/screen.h>
int screen_blit( screen_context_t ctx,
screen_buffer_t dst,
screen_buffer_t src,
const int *attribs );

Аргументы:

ctx
Дескриптор контекста, определяющий соединение с оконной подсистемой Screen.
dst
Буфер, куда будут скопированы данные.
src
Буфер, откуда данные будут попиксельно скопированы.
attribs
Список, содержащий атрибуты, определяющие параметры блиттинга. Список должен содержать пары макрос-значение и заканчиваться макросом SCREEN_BLIT_END. Макрос в паре должен соответствовать одному из поддерживаемых макросов.

Библиотека:

libscreen

Описание:

Тип функции: Исполняемые отложенно

Функция получает пиксели из одного буфера для копирования в другой. Операция гарантировано не будет помещена в очередь до вызова очистки или до того, как приложение не оповестит об изменениях методом post одно из окон графического контекста. Для выполнения операции по возможности привлекается аппаратный блиттер.

Аргумент attribs может быть равен NULL или быть пустым (содержать один элемент, установленный в SCREEN_BLIT_END). Для пустого аргумента attribs применяются следующие параметры по умолчанию:

Чтобы изменить параметры по умолчанию, установите с помощью attribs пару макрос-значение:

Возвращаемое значение:

0
Операция блиттинга успешно помещена в очередь.
-1
В случае ошибки, код ошибки записывается в errno.

Коды ошибок:

EINVAL
Некорректный аргумент.
EFAULT
Добавление команды в очередь завершилось с ошибкой.

Классификация:

Графическая подсистема ЗОСРВ «Нейтрино», Screen

Поддерживается, начиная с ЗОСРВ «Нейтрино» редакции 2020

Безопасность использования
Обработчик прерываний
Нет
Обработчик сигналов
Нет
В потоке
Да




Предыдущий раздел: Буферы