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

Изменения

Предотвращение мерцания

245 байт добавлено, 06:09, 8 июня 2010
Применение
// Установим цвет кисти. Этим цветом будут выводиться наши графические примитивы
AhiDrawBrushFgColorSet(devCxdCtx, ATI_565RGB(0,0,255)); // Ярко-синий
// Зададим прямоугольник на экране, который будет залит нашим цветом
// Нарисуем прямоугольник rect
AhiDrawSpans( dCtx, &rect, 1, 0);
</pre>
</li>
Графика выведена в память, но теперь её нужно вывести на экран. Для этого мы выставляем растровую операцию в <tt>'''AHIROP_SRCCOPY'''</tt>, устанавливаем поверхность-источник в '''sDraw''' (там у нас находится то, что мы уже вывели), а поверхность-приёмник в '''sDisp''' (экранная поверхность) и копируем изображение с помощью функции [[AhiDrawBitBlt]]:
<pre>
// Левый верхний угол поверхности рисования
AHIPOINT_T zpoint = {0, 0};
// Область вывода на поверхность экрана
AHIRECT_T zrect = {0, 0, DISPLAY_WIDTH, DISPLAY_HEIGHT};
 
// Устанавливаем растровую операцию
AhiDrawRopSet(hDCdCtx, AHIROP3(AHIROP_SRCCOPY));
// Устанавливаем поверхность-источник
AhiDrawSurfSrcSet(hDCdCtx, sDraw, 0);
// Устанавливаем поверхность-приёмник
AhiDrawSurfDstSet(hDCdCtx, sDisp, 0);
// Копируем изображение
AhiDrawBitBlt(hDCdCtx, &rectzrect, &pointzpoint);
</pre>
</li>
46
правок