Canvas (с англ. - "Холст") - тип диалога, использующийся для рисования картинок, примитивов, текста, элементов стандартного графического интерфейса (softbar, scrollbar, titlebar). Данный диалог не подойдёт для использования при написании игр, так как достаточно медленный. Очень частая перерисовка сложной графики (картинки, текст) будет вызывать подвисания.
Содержание
UIS_CreateColorCanvas
UIS_DIALOG_T UIS_CreateColorCanvas( SU_PORT_T *port, DRAWING_BUFFER_T * drawing_buffer, BOOL status_line_area );
Описание
Функция создаёт диалог Canvas
Параметры
- SU_PORT_T *port
- Порт берется из выражения:
// app обычно получаем как параметр функции, например: UINT32 MainStateEnter( EVENT_STACK_T *ev_st, APPLICATION_T *app, ENTER_STATE_TYPE_T type ) { ... // В аргументе для функции пишем &app->port // Указатель
- DRAWING_BUFFER_T * drawing_buffer
typedef struct { UINT8 *buf; // Буфер для рисования. Должен быть равен NULL UINT16 w; // Ширина области рисования UINT16 h; // Высота области рисования } DRAWING_BUFFER_T;
- BOOL status_line_area
- Отвечает за показ статус-строки
- TRUE - не показывать статус-строку, FALSE - показывать статус-строку
Пример
// Для того чтоб диалог появился - создаем переменную UIS_DIALOG_T dialog; // Заполняем информацию об области, на которой будем рисовать DRAWING_BUFFER_T drawing_buffer; drawing_buffer.buf = NULL; drawing_buffer.h = 220; drawing_buffer.w = 176; //Cоздаем диалог Canvas dialog = UIS_CreateColorCanvas( &papp->port, &drawing_buffer, true ); // Далее пишем &papp->dialog = dialog;
Примечания
Цвета по умолчанию:
- BackgroundColor - белый
- FillColor - белый
- ForegroundColor - синий