46
правокИзменения
Нет описания правки
== Объявление ==
'''<tt>UINT32 AhiSurfAlloc( AHIDEVCONTEXT_T devCx, AHISURFACE_T *surf, AHIPOINT_T *size, AHIPIXFMT_T pixFormat, UINT32 flags );</tt>
== Описание ==
Выделяет поверхность указанного размера из видеопамяти
== Параметры ==
#'''AHIDEVCONTEXT_T devCx
#:Контекст устройства
#'''AHISURFACE_T *surf
#:Указатель на переменную, в которой будет сохранен идентификатор поверхности после выполнения функции
#'''AHIPOINT_T *size
#:Указатель на структуру, содержащую размеры выделяемой поверхности
#'''AHIPIXFMT_T pixFormat
#:[[#Форматы пикселей|Формат пикселей]] выделяемой поверхности. Ниже приведены возможные значения.
#'''UINT32 flags
#:[[#Флаги|Флаги]]. Ниже приведены возможные значения.
== Форматы пикселей ==
{|style="text-align:left" cellspacing="1"
!Формат
!
!Значение
|-
|AHIFMT_1BPP
|=
|0
|-
|AHIFMT_4BPP
|=
|1
|-
|AHIFMT_8BPP
|=
|2
|-
|AHIFMT_16BPP_444
|=
|3
|-
|AHIFMT_16BPP_555
|=
|4
|-
|AHIFMT_16BPP_565
|=
|5
|}
== Флаги ==
{|style="text-align:left" cellspacing="1"
!Флаг
!
!Значение
!
!Описание
|-
|AHIFLAG_DISPLAYPIXFMT
|=
|0x00000002
|width="48px"|
|Формат пикселей будет использован такой же, как у отображаемой поверхности
|-
|AHIFLAG_SYSMEMORY
|=
|0x00000008
|
|Поверхность будет выделена из системной памяти
|-
|AHIFLAG_EXTMEMORY
|=
|0x00000020
|
|Поверхность будет выделена из внешней памяти
|-
|AHIFLAG_INTMEMORY
|=
|0x00000040
|
|Поверхность будет выделена из внутренней памяти
|}
== Результат ==
#'''UINT32
#:Результат выделения поверхности, RESULT_OK если ошибок нет
== Пример ==
<pre>
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);
</pre>
== См. также ==
[[AhiDevOpen]]
[[Категория:Функции AHI]]
'''<tt>UINT32 AhiSurfAlloc( AHIDEVCONTEXT_T devCx, AHISURFACE_T *surf, AHIPOINT_T *size, AHIPIXFMT_T pixFormat, UINT32 flags );</tt>
== Описание ==
Выделяет поверхность указанного размера из видеопамяти
== Параметры ==
#'''AHIDEVCONTEXT_T devCx
#:Контекст устройства
#'''AHISURFACE_T *surf
#:Указатель на переменную, в которой будет сохранен идентификатор поверхности после выполнения функции
#'''AHIPOINT_T *size
#:Указатель на структуру, содержащую размеры выделяемой поверхности
#'''AHIPIXFMT_T pixFormat
#:[[#Форматы пикселей|Формат пикселей]] выделяемой поверхности. Ниже приведены возможные значения.
#'''UINT32 flags
#:[[#Флаги|Флаги]]. Ниже приведены возможные значения.
== Форматы пикселей ==
{|style="text-align:left" cellspacing="1"
!Формат
!
!Значение
|-
|AHIFMT_1BPP
|=
|0
|-
|AHIFMT_4BPP
|=
|1
|-
|AHIFMT_8BPP
|=
|2
|-
|AHIFMT_16BPP_444
|=
|3
|-
|AHIFMT_16BPP_555
|=
|4
|-
|AHIFMT_16BPP_565
|=
|5
|}
== Флаги ==
{|style="text-align:left" cellspacing="1"
!Флаг
!
!Значение
!
!Описание
|-
|AHIFLAG_DISPLAYPIXFMT
|=
|0x00000002
|width="48px"|
|Формат пикселей будет использован такой же, как у отображаемой поверхности
|-
|AHIFLAG_SYSMEMORY
|=
|0x00000008
|
|Поверхность будет выделена из системной памяти
|-
|AHIFLAG_EXTMEMORY
|=
|0x00000020
|
|Поверхность будет выделена из внешней памяти
|-
|AHIFLAG_INTMEMORY
|=
|0x00000040
|
|Поверхность будет выделена из внутренней памяти
|}
== Результат ==
#'''UINT32
#:Результат выделения поверхности, RESULT_OK если ошибок нет
== Пример ==
<pre>
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);
</pre>
== См. также ==
[[AhiDevOpen]]
[[Категория:Функции AHI]]