Информация об изменениях

Сообщение Re: Как использовать graphics из нативного кода от 03.11.2016 6:01

Изменено 06.11.2016 2:16 goldfish

Здравствуйте Андрей
Спасибо за обновление скайтера
вопрос такой:
у меня в нативном коде функция native_draw следующего вида
tiscript::value TISAPI native_draw(tiscript::VM* vm)
{
    ...
    // creating path:
    sciter::path p = sciter::path::create();
    ...

    return p.to_value(); // wrap the path into sciter::value;
}
static tiscript::method_def native_draw_md("native_draw", native_draw);

она возвращает tiscript::value а вернуть нужно патч в виде sciter::value
что делать?

и ещё вопрос
в скрипте:
var imageChart = new Image(width, height, drawChart);
view.nativeImage(imageChart);

в нативном коде:
void nativeImage(const sciter::value im)
{
    static sciter::image img;
    img.from(im);

    if (!img.is_valid()) printf("image is not valid!\n");

    UINT width, height;
    img.dimensions(width, height);
    printf("nativeImage %u %u\n", width, height);
}

image не валидный, не пойму почему
Можно привести пример как получить из скрипта изображение и рисовать в нём с помощью image::paint( painter* p )

и ещё
такой код работает кроме img.clear(), он завершается своим assert
sciter::value nativeImage()
{
    static sciter::image img;
    img = sciter::image::create(100, 100, false);

    if (!img.is_valid())
        printf("image is not valid!\n");

//    img.clear(sciter::gcolor(100, 0, 0));

    return img.to_value();
}
Re: Как использовать graphics из нативного кода
Здравствуйте Андрей
Спасибо за обновление скайтера
вопрос такой:
у меня в нативном коде функция native_draw следующего вида
tiscript::value TISAPI native_draw(tiscript::VM* vm)
{
    ...
    // creating path:
    sciter::path p = sciter::path::create();
    ...

    return p.to_value(); // wrap the path into sciter::value;
}
static tiscript::method_def native_draw_md("native_draw", native_draw);

она возвращает tiscript::value а вернуть нужно патч в виде sciter::value
что делать?

и ещё вопрос
в скрипте:
var imageChart = new Image(width, height, drawChart);
view.nativeImage(imageChart);

в нативном коде:
void nativeImage(const sciter::value im)
{
    static sciter::image img;
    img.from(im);

    if (!img.is_valid()) printf("image is not valid!\n");

    UINT width, height;
    img.dimensions(width, height);
    printf("nativeImage %u %u\n", width, height);
}

image не валидный, не пойму почему

и ещё
такой код работает кроме img.clear(), он завершается своим assert
sciter::value nativeImage()
{
    static sciter::image img;
    img = sciter::image::create(100, 100, false);

    if (!img.is_valid())
        printf("image is not valid!\n");

//    img.clear(sciter::gcolor(100, 0, 0));

    return img.to_value();
}