Re[3]: Как использовать graphics из нативного кода
От: goldfish Украина  
Дата: 09.11.16 06:18
Оценка:
Здравствуйте, c-smile, Вы писали:
CS>sciter::image это smart pointer, если ты его нигде не сохрагишь или не передашь в script то он уничтожится.
в скрипте при изменении размеров окна я делал так:
var image = null;
function paint(gfx)
{
...
    if(imageNeedResize) // если изменились размеры окна
    {
        if(image) image.destroy(); // удаляем старую картинку
        image = new Image(width, height, drawChart); // рисуем новую картинку
    }
    gfx.drawImage(image, 0.0, 0.0);

а в нативном коде так:
image img;
virtual bool handle_draw(HELEMENT he, DRAW_PARAMS& params)
{
...
    if (imageNeedResize)
        img = image::create(width, height, false);

    gfx.draw_image(&img, 0.0, 0.0);

Не удалив изображения со старыми размерами мы создаём его с новыми. Не произойдёт утечки памяти?
Отредактировано 09.11.2016 6:29 goldfish . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.