Открыть главное меню

AhiSurfAlloc

Версия от 05:28, 1 апреля 2019; Synergy (обсуждение | вклад)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)


Содержание

Объявление

UINT32 AhiSurfAlloc( AHIDEVCONTEXT_T devCx, AHISURFACE_T *surf, AHIPOINT_T *size, AHIPIXFMT_T pixFormat, UINT32 flags );

Описание

Выделяет поверхность указанного размера из видеопамяти

Параметры

  1. AHIDEVCONTEXT_T devCx
    Контекст устройства
  2. AHISURFACE_T *surf
    Указатель на переменную, в которой будет сохранен идентификатор поверхности после выполнения функции
  3. AHIPOINT_T *size
    Указатель на структуру, содержащую размеры выделяемой поверхности
  4. AHIPIXFMT_T pixFormat
    Формат пикселей выделяемой поверхности. Ниже приведены возможные значения
  5. UINT32 flags
    Флаги. Ниже приведены возможные значения

Форматы пикселей

ФорматЗначение
AHIFMT_1BPP=0
AHIFMT_4BPP=1
AHIFMT_8BPP=2
AHIFMT_16BPP_444=3
AHIFMT_16BPP_555=4
AHIFMT_16BPP_565=5

Флаги

ФлагЗначениеОписание
AHIFLAG_DISPLAYPIXFMT=0x00000002Формат пикселей будет использован такой же, как у отображаемой поверхности
AHIFLAG_SYSMEMORY=0x00000008Поверхность будет выделена в системной памяти
AHIFLAG_EXTMEMORY=0x00000020Поверхность будет выделена в внешней памяти
AHIFLAG_INTMEMORY=0x00000040Поверхность будет выделена в внутренней памяти

Результат

  1. UINT32
    Результат выделения поверхности, RESULT_OK если ошибок нет

Пример

UINT32 result;
AHIDEVCONTEXT_T uCtx;
AHISURFACE_T surf;
AHIPOINT_T pt;
pt.x = 48;
pt.y = 48;
...
result = AhiSurfAlloc(uCtx, &surf, &pt, AHIFMT_16BPP_565, AHIFLAG_EXTMEMORY);

См. также