Esempio n. 1
0
static void sp_feTile_build_renderer(SPFilterPrimitive *primitive, Inkscape::Filters::Filter *filter) {
    g_assert(primitive != NULL);
    g_assert(filter != NULL);

    SPFeTile *sp_tile = SP_FETILE(primitive);
    (void)sp_tile;

    int primitive_n = filter->add_primitive(Inkscape::Filters::NR_FILTER_TILE);
    Inkscape::Filters::FilterPrimitive *nr_primitive = filter->get_primitive(primitive_n);
    Inkscape::Filters::FilterTile *nr_tile = dynamic_cast<Inkscape::Filters::FilterTile*>(nr_primitive);
    g_assert(nr_tile != NULL);

    sp_filter_primitive_renderer_common(primitive, nr_primitive);
}
Esempio n. 2
0
void SPFeOffset::build_renderer(Inkscape::Filters::Filter* filter) {
    g_assert(this != NULL);
    g_assert(filter != NULL);

    int primitive_n = filter->add_primitive(Inkscape::Filters::NR_FILTER_OFFSET);
    Inkscape::Filters::FilterPrimitive *nr_primitive = filter->get_primitive(primitive_n);
    Inkscape::Filters::FilterOffset *nr_offset = dynamic_cast<Inkscape::Filters::FilterOffset*>(nr_primitive);
    g_assert(nr_offset != NULL);

    sp_filter_primitive_renderer_common(this, nr_primitive);

    nr_offset->set_dx(this->dx);
    nr_offset->set_dy(this->dy);
}
Esempio n. 3
0
void SPFeBlend::build_renderer(Inkscape::Filters::Filter* filter) {
    g_assert(this != NULL);
    g_assert(filter != NULL);

    int primitive_n = filter->add_primitive(Inkscape::Filters::NR_FILTER_BLEND);
    Inkscape::Filters::FilterPrimitive *nr_primitive = filter->get_primitive(primitive_n);
    Inkscape::Filters::FilterBlend *nr_blend = dynamic_cast<Inkscape::Filters::FilterBlend*>(nr_primitive);
    g_assert(nr_blend != NULL);

    sp_filter_primitive_renderer_common(this, nr_primitive);

    nr_blend->set_mode(this->blend_mode);
    nr_blend->set_input(1, this->in2);
}
Esempio n. 4
0
void SPFeMorphology::build_renderer(Inkscape::Filters::Filter* filter) {
    g_assert(this != NULL);
    g_assert(filter != NULL);

    int primitive_n = filter->add_primitive(Inkscape::Filters::NR_FILTER_MORPHOLOGY);
    Inkscape::Filters::FilterPrimitive *nr_primitive = filter->get_primitive(primitive_n);
    Inkscape::Filters::FilterMorphology *nr_morphology = dynamic_cast<Inkscape::Filters::FilterMorphology*>(nr_primitive);
    g_assert(nr_morphology != NULL);

    sp_filter_primitive_renderer_common(this, nr_primitive);
    
    nr_morphology->set_operator(this->Operator);
    nr_morphology->set_xradius( this->radius.getNumber() );
    nr_morphology->set_yradius( this->radius.getOptNumber() );
}
void SPFeComponentTransfer::build_renderer(Inkscape::Filters::Filter* filter) {
    g_assert(this != NULL);
    g_assert(filter != NULL);

    int primitive_n = filter->add_primitive(Inkscape::Filters::NR_FILTER_COMPONENTTRANSFER);
    Inkscape::Filters::FilterPrimitive *nr_primitive = filter->get_primitive(primitive_n);
    Inkscape::Filters::FilterComponentTransfer *nr_componenttransfer = dynamic_cast<Inkscape::Filters::FilterComponentTransfer*>(nr_primitive);
    g_assert(nr_componenttransfer != NULL);

    this->renderer = nr_componenttransfer;
    sp_filter_primitive_renderer_common(this, nr_primitive);


    sp_feComponentTransfer_children_modified(this);    //do we need it?!
}
Esempio n. 6
0
void SPFeFlood::build_renderer(Inkscape::Filters::Filter* filter) {
    g_assert(this != NULL);
    g_assert(filter != NULL);

    int primitive_n = filter->add_primitive(Inkscape::Filters::NR_FILTER_FLOOD);
    Inkscape::Filters::FilterPrimitive *nr_primitive = filter->get_primitive(primitive_n);
    Inkscape::Filters::FilterFlood *nr_flood = dynamic_cast<Inkscape::Filters::FilterFlood*>(nr_primitive);
    g_assert(nr_flood != NULL);

    sp_filter_primitive_renderer_common(this, nr_primitive);
    
    nr_flood->set_opacity(this->opacity);
    nr_flood->set_color(this->color);
    nr_flood->set_icc(this->icc);
}
Esempio n. 7
0
void SPFeDisplacementMap::build_renderer(Inkscape::Filters::Filter* filter) {
    g_assert(this != NULL);
    g_assert(filter != NULL);

    int primitive_n = filter->add_primitive(Inkscape::Filters::NR_FILTER_DISPLACEMENTMAP);
    Inkscape::Filters::FilterPrimitive *nr_primitive = filter->get_primitive(primitive_n);
    Inkscape::Filters::FilterDisplacementMap *nr_displacement_map = dynamic_cast<Inkscape::Filters::FilterDisplacementMap*>(nr_primitive);
    g_assert(nr_displacement_map != NULL);

    sp_filter_primitive_renderer_common(this, nr_primitive);

    nr_displacement_map->set_input(1, this->in2);
    nr_displacement_map->set_scale(this->scale);
    nr_displacement_map->set_channel_selector(0, this->xChannelSelector);
    nr_displacement_map->set_channel_selector(1, this->yChannelSelector);
}
Esempio n. 8
0
static void sp_feBlend_build_renderer(SPFilterPrimitive *primitive, Inkscape::Filters::Filter *filter) {
    g_assert(primitive != NULL);
    g_assert(filter != NULL);

    SPFeBlend *sp_blend = SP_FEBLEND(primitive);

    int primitive_n = filter->add_primitive(Inkscape::Filters::NR_FILTER_BLEND);
    Inkscape::Filters::FilterPrimitive *nr_primitive = filter->get_primitive(primitive_n);
    Inkscape::Filters::FilterBlend *nr_blend = dynamic_cast<Inkscape::Filters::FilterBlend*>(nr_primitive);
    g_assert(nr_blend != NULL);

    sp_filter_primitive_renderer_common(primitive, nr_primitive);

    nr_blend->set_mode(sp_blend->blend_mode);
    nr_blend->set_input(1, sp_blend->in2);
}
static void sp_feComponentTransfer_build_renderer(SPFilterPrimitive *primitive, Inkscape::Filters::Filter *filter) {
    g_assert(primitive != NULL);
    g_assert(filter != NULL);

    SPFeComponentTransfer *sp_componenttransfer = SP_FECOMPONENTTRANSFER(primitive);

    int primitive_n = filter->add_primitive(Inkscape::Filters::NR_FILTER_COMPONENTTRANSFER);
    Inkscape::Filters::FilterPrimitive *nr_primitive = filter->get_primitive(primitive_n);
    Inkscape::Filters::FilterComponentTransfer *nr_componenttransfer = dynamic_cast<Inkscape::Filters::FilterComponentTransfer*>(nr_primitive);
    g_assert(nr_componenttransfer != NULL);

    sp_componenttransfer->renderer = nr_componenttransfer;
    sp_filter_primitive_renderer_common(primitive, nr_primitive);


    sp_feComponentTransfer_children_modified(sp_componenttransfer);    //do we need it?!
}
Esempio n. 10
0
void SPFeImage::build_renderer(Inkscape::Filters::Filter* filter) {
    g_assert(this != NULL);
    g_assert(filter != NULL);

    int primitive_n = filter->add_primitive(Inkscape::Filters::NR_FILTER_IMAGE);
    Inkscape::Filters::FilterPrimitive *nr_primitive = filter->get_primitive(primitive_n);
    Inkscape::Filters::FilterImage *nr_image = dynamic_cast<Inkscape::Filters::FilterImage*>(nr_primitive);
    g_assert(nr_image != NULL);

    sp_filter_primitive_renderer_common(this, nr_primitive);

    nr_image->from_element = this->from_element;
    nr_image->SVGElem = this->SVGElem;
    nr_image->set_align( this->aspect_align );
    nr_image->set_clip( this->aspect_clip );
    nr_image->set_href(this->href);
    nr_image->set_document(this->document);
}
static void sp_feImage_build_renderer(SPFilterPrimitive *primitive, Inkscape::Filters::Filter *filter) {
    g_assert(primitive != NULL);
    g_assert(filter != NULL);

    SPFeImage *sp_image = SP_FEIMAGE(primitive);

    int primitive_n = filter->add_primitive(Inkscape::Filters::NR_FILTER_IMAGE);
    Inkscape::Filters::FilterPrimitive *nr_primitive = filter->get_primitive(primitive_n);
    Inkscape::Filters::FilterImage *nr_image = dynamic_cast<Inkscape::Filters::FilterImage*>(nr_primitive);
    g_assert(nr_image != NULL);

    sp_filter_primitive_renderer_common(primitive, nr_primitive);

    nr_image->from_element = sp_image->from_element;
    nr_image->SVGElem = sp_image->SVGElem;
    nr_image->set_region(sp_image->x, sp_image->y, sp_image->width, sp_image->height);
    nr_image->set_href(sp_image->href);
    nr_image->set_document(sp_image->document);
}
Esempio n. 12
0
static void sp_feComposite_build_renderer(SPFilterPrimitive *primitive, Inkscape::Filters::Filter *filter) {
    g_assert(primitive != NULL);
    g_assert(filter != NULL);

    SPFeComposite *sp_composite = SP_FECOMPOSITE(primitive);

    int primitive_n = filter->add_primitive(Inkscape::Filters::NR_FILTER_COMPOSITE);
    Inkscape::Filters::FilterPrimitive *nr_primitive = filter->get_primitive(primitive_n);
    Inkscape::Filters::FilterComposite *nr_composite = dynamic_cast<Inkscape::Filters::FilterComposite*>(nr_primitive);
    g_assert(nr_composite != NULL);

    sp_filter_primitive_renderer_common(primitive, nr_primitive);

    nr_composite->set_operator(sp_composite->composite_operator);
    nr_composite->set_input(1, sp_composite->in2);
    if (sp_composite->composite_operator == COMPOSITE_ARITHMETIC) {
        nr_composite->set_arithmetic(sp_composite->k1, sp_composite->k2,
                                     sp_composite->k3, sp_composite->k4);
    }
}
Esempio n. 13
0
void SPFeConvolveMatrix::build_renderer(Inkscape::Filters::Filter* filter) {
    g_assert(this != NULL);
    g_assert(filter != NULL);

    int primitive_n = filter->add_primitive(Inkscape::Filters::NR_FILTER_CONVOLVEMATRIX);
    Inkscape::Filters::FilterPrimitive *nr_primitive = filter->get_primitive(primitive_n);
    Inkscape::Filters::FilterConvolveMatrix *nr_convolve = dynamic_cast<Inkscape::Filters::FilterConvolveMatrix*>(nr_primitive);
    g_assert(nr_convolve != NULL);

    sp_filter_primitive_renderer_common(this, nr_primitive);

    nr_convolve->set_targetX(this->targetX);
    nr_convolve->set_targetY(this->targetY);
    nr_convolve->set_orderX( (int)this->order.getNumber() );
    nr_convolve->set_orderY( (int)this->order.getOptNumber() );
    nr_convolve->set_kernelMatrix(this->kernelMatrix);
    nr_convolve->set_divisor(this->divisor);
    nr_convolve->set_bias(this->bias);
    nr_convolve->set_preserveAlpha(this->preserveAlpha);
}
Esempio n. 14
0
static void sp_feTurbulence_build_renderer(SPFilterPrimitive *primitive, Inkscape::Filters::Filter *filter) {
    g_assert(primitive != NULL);
    g_assert(filter != NULL);

    SPFeTurbulence *sp_turbulence = SP_FETURBULENCE(primitive);

    int primitive_n = filter->add_primitive(Inkscape::Filters::NR_FILTER_TURBULENCE);
    Inkscape::Filters::FilterPrimitive *nr_primitive = filter->get_primitive(primitive_n);
    Inkscape::Filters::FilterTurbulence *nr_turbulence = dynamic_cast<Inkscape::Filters::FilterTurbulence*>(nr_primitive);
    g_assert(nr_turbulence != NULL);

    sp_filter_primitive_renderer_common(primitive, nr_primitive);

    nr_turbulence->set_baseFrequency(0, sp_turbulence->baseFrequency.getNumber());
    nr_turbulence->set_baseFrequency(1, sp_turbulence->baseFrequency.getOptNumber());
    nr_turbulence->set_numOctaves(sp_turbulence->numOctaves);
    nr_turbulence->set_seed(sp_turbulence->seed);
    nr_turbulence->set_stitchTiles(sp_turbulence->stitchTiles);
    nr_turbulence->set_type(sp_turbulence->type);
    nr_turbulence->set_updated(sp_turbulence->updated);
}