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

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

 
 
(не показано 40 промежуточных версий 6 участников)
Строка 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>
Строка 13:Строка 15:
 
#:Указатель на структуру, содержащую размеры выделяемой поверхности
 
#:Указатель на структуру, содержащую размеры выделяемой поверхности
 
#'''AHIPIXFMT_T pixFormat
 
#'''AHIPIXFMT_T pixFormat
#:[[#Форматы пикселей|Формат пикселей]] выделяемой поверхности. Ниже приведены возможные значения.
+
#:[[AhiSurfAlloc#Форматы пикселей|Формат пикселей]] выделяемой поверхности. Ниже приведены возможные значения
 
#'''UINT32 flags
 
#'''UINT32 flags
#:[[#Флаги|Флаги]]. Ниже приведены возможные значения.
+
#:[[AhiSurfAlloc#Флаги|Флаги]]. Ниже приведены возможные значения
  
 
== Форматы пикселей ==
 
== Форматы пикселей ==
Строка 66:Строка 68:
 
  |0x00000008
 
  |0x00000008
 
  |
 
  |
  |Поверхность будет выделена из системной памяти
+
  |Поверхность будет выделена в системной памяти
 
  |-
 
  |-
 
  |AHIFLAG_EXTMEMORY
 
  |AHIFLAG_EXTMEMORY
Строка 72:Строка 74:
 
  |0x00000020
 
  |0x00000020
 
  |
 
  |
  |Поверхность будет выделена из внешней памяти
+
  |Поверхность будет выделена в внешней памяти
 
  |-
 
  |-
 
  |AHIFLAG_INTMEMORY
 
  |AHIFLAG_INTMEMORY
Строка 78:Строка 80:
 
  |0x00000040
 
  |0x00000040
 
  |
 
  |
  |Поверхность будет выделена из внутренней памяти
+
  |Поверхность будет выделена в внутренней памяти
 
  |}
 
  |}
  

Текущая версия на 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