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

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

м
м
Строка 66:Строка 66:
 
  |0x00000008
 
  |0x00000008
 
  |
 
  |
  |Поверхность будет выделена из системной памяти
+
  |Поверхность будет выделена в системной памяти
 
  |-
 
  |-
 
  |AHIFLAG_EXTMEMORY
 
  |AHIFLAG_EXTMEMORY
Строка 72:Строка 72:
 
  |0x00000020
 
  |0x00000020
 
  |
 
  |
  |Поверхность будет выделена из внешней памяти
+
  |Поверхность будет выделена в внешней памяти
 
  |-
 
  |-
 
  |AHIFLAG_INTMEMORY
 
  |AHIFLAG_INTMEMORY
Строка 78:Строка 78:
 
  |0x00000040
 
  |0x00000040
 
  |
 
  |
  |Поверхность будет выделена из внутренней памяти
+
  |Поверхность будет выделена в внутренней памяти
 
  |}
 
  |}
  

Версия 13:26, 9 января 2011

Объявление

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