screen_destroy_window()

Удаление окна и освобождение ассоциированных ресурсов

Прототип:

#include <screen/screen.h>
int screen_destroy_window( screen_window_t win );

Аргументы:

win
Дескриптор удаляемого окна. Окно должно быть предварительно создано с помощью функции screen_create_window().

Библиотека:

libscreen

Описание:

Тип функции: Триггеры

Функция уничтожает окно, ассоциированное с дескриптором win. Если окно в настоящий момент видимо, оно удаляется с дисплея. Любые ресурсы, включая видео-буфера, ассоциированные с уничтожаемым окном освобождаются как в локальном процессе, так и в composition manager.

Дескриптор удаленного окна не может в дальнейшем использоваться в вызовах библиотеки Screen. Видео-буферы, владельцем которых не является графическая подсистема, и которые зарегистрированы с помощью функции screen_attach_window_buffers() не затрагиваются этой функцией.

Приложение ответственно за освобождение буферов, внешних для графической подсистемы. Любое окно, которое имеет разделяемые буферы с удаляемым окном также подлежит уничтожению. Функция screen_destroy_window() должна использоваться для освобождения окон, полученных в процессе запроса свойств контекстов или событий. В этом случае окно не будет удалено с дисплея и уничтожено. Изменяется (освобождается) только локальная информация о внешнем окне.

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

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

Коды ошибок:

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

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

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

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

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




Предыдущий раздел: Окна