Здравствуйте, 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);
Не удалив изображения со старыми размерами мы создаём его с новыми. Не произойдёт утечки памяти?