gis_render_sm_alloc()

Создание контекста движка рендеринга.

Прототип:

#include <gis/gis_surfacemanager.h>
int gis_render_sm_alloc( gis_render_sm_context_t *sm_ctx, gis_data_engine_context_t ctx, uint32_t surface_extension_px, double blit_region_rate, uint32_t flags );

Аргументы:

sm_ctx
Указатель на контекст движка рендеринга Surface Manager.
ctx
Указатель на контекст движка рендеринга Data Engine.
surface_extension_px
Величина расширения поверхности относительно видимой области виджета в пикселях.
blit_region_rate
Коэффициент, задающий размер области блиттинга (зоны нечувствительности), при перемещении в которой не будет повторно рисоваться поверхность. Задаётся в пределах от 0 до 1.0. Режимы работы: 0 — Область блиттинга совпадает с областью поверхности. 1 — Область блиттинга совпадает с областью виджета.
flags
Флаги, определяющие режим работы Surface Manager. Возможные варианты: GIS_RENDER_SM_ALLOC_RAM — поверхности для рендеринга будут выделены в RAM памяти.

Библиотека:

gisrender

Описание:

Функция создаёт контекст движка рендеринга Surface Manager и инициализирует его переданными параметрами.

Возвращаемое значение:

EOK
Успешное завершение
EINVAL
Некорректные параметры функции
EFAULT
Не удалось инициализировать контекст Surface Manager
ENOMEM
Недостаточно памяти
ENOENT
Некорректный режим движка рендеринга Data Engine

Примеры использования:

QApplication app(argc, argv);
gis_core_connection_t connection;
gis_core_request_parameters_t map;
gis_data_engine_context_t data_engine_ctx;
gis_render_sm_context_t sm_ctx;
gis_core_link_init( &connection );
gis_core_link_connect( &connection, 777 );
gis_core_databuffer_attach( &connection );
gis_core_request_parameters_init( &map );
gis_core_databuffer_data_request( &connection, &map, 1 );
gis_data_engine_alloc( 800, 600, GIS_DATA_ENGINE_MODE_SM, GIS_DATA_ENGINE_BPP_32, &connection, &data_engine_ctx );
if ( gis_render_sm_alloc( &sm_ctx, data_engine_ctx, 1000, 0.5, 0 ) != EOK )
{
printf( "Failed to allocate sm context\n" );
return 1;
}
gis_render_sm_free( &sm_ctx );
gis_data_engine_free( &data_engine_ctx );
gis_core_databuffer_detach();
gis_core_link_destroy( &connection, true );

Классификация:

ПК ЦКИ для ЗОСРВ «Нейтрино»

Обработчик прерываний
Нет
Обработчик сигналов
Нет
В потоке
Да

Тематические ссылки:

gis_render_sm_context_t, gis_render_sm_move(), gis_render_sm_free()




Предыдущий раздел: Описание API картографического фреймворка