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

AhiSurfAlloc: различия между версиями

м (Снята защита с «AhiSurfAlloc»)
 
Строка 1:Строка 1:
 +
<metadesc>Выделяет поверхность указанного размера из видеопамяти</metadesc>
 +
 
== Объявление ==
 
== Объявление ==
 
'''<tt>UINT32 AhiSurfAlloc( AHIDEVCONTEXT_T devCx, AHISURFACE_T *surf, AHIPOINT_T *size, AHIPIXFMT_T pixFormat, UINT32 flags );</tt>
 
'''<tt>UINT32 AhiSurfAlloc( AHIDEVCONTEXT_T devCx, AHISURFACE_T *surf, AHIPOINT_T *size, AHIPIXFMT_T pixFormat, UINT32 flags );</tt>

Текущая версия на 05:28, 1 апреля 2019


Объявление

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);

См. также

AhiDevOpen