void SvgParser::applyStyle(KoShape *obj, const SvgStyles &styles) { SvgGraphicsContext *gc = m_context.currentGC(); if (!gc) return; m_context.styleParser().parseStyle(styles); if (!obj) return; if (!dynamic_cast<KoShapeGroup*>(obj)) { applyFillStyle(obj); applyStrokeStyle(obj); } applyFilter(obj); applyClipping(obj); if (! gc->display) obj->setVisible(false); obj->setTransparency(1.0 - gc->opacity); }
void applyState(PainterOpenVG* painter) { ASSERT(painter); setVGSolidColor(VG_FILL_PATH, fillColor); setVGSolidColor(VG_STROKE_PATH, strokeColor); vgSetf(VG_STROKE_LINE_WIDTH, strokeThickness); vgSeti(VG_STROKE_CAP_STYLE, toVGCapStyle(strokeLineCap)); vgSeti(VG_STROKE_JOIN_STYLE, toVGJoinStyle(strokeLineJoin)); vgSetf(VG_STROKE_MITER_LIMIT, strokeMiterLimit); if (antialiasingEnabled) vgSeti(VG_RENDERING_QUALITY, VG_RENDERING_QUALITY_FASTER); else vgSeti(VG_RENDERING_QUALITY, VG_RENDERING_QUALITY_NONANTIALIASED); applyBlending(painter); applyStrokeStyle(); applyTransformationMatrix(painter); applyScissorRect(); }