Cross Reference: /inkscape/src/extension/internal/cairo-renderer.cpp

Lines Matching defs:marker

45 #include "sp-marker.h"
159 static void sp_shape_render_invoke_marker_rendering(SPMarker* marker, Geom::Affine tr, SPStyle* style, CairoRenderContext *ctx)
162 if (marker->markerUnits == SP_MARKER_UNITS_STROKEWIDTH) {
166 render = false; // stroke width zero and marker is thus scaled down to zero, skip
171 SPItem* marker_item = sp_item_first_item_child(marker);
173 tr = (Geom::Affine)marker_item->transform * (Geom::Affine)marker->c2p * tr;
212 // START marker
215 SPMarker* marker = shape->_marker[i];
217 if (marker->orient_mode == MARKER_ORIENT_AUTO) {
219 } else if (marker->orient_mode == MARKER_ORIENT_AUTO_START_REVERSE) {
222 tr = Geom::Rotate::from_degrees(marker->orient.computed) * Geom::Translate(pathv.begin()->front().pointAt(0));
224 sp_shape_render_invoke_marker_rendering(marker, tr, style, ctx);
227 // MID marker
230 SPMarker* marker = shape->_marker[i];
234 && ! ((path_it == (pathv.end()-1)) && (path_it->size_default() == 0)) ) // if this is the last path and it is a moveto-only, there is no mid marker there
237 if (marker->orient_mode != MARKER_ORIENT_ANGLE) {
240 tr = Geom::Rotate::from_degrees(marker->orient.computed) * Geom::Translate(path_it->front().pointAt(0));
242 sp_shape_render_invoke_marker_rendering(marker, tr, style, ctx);
250 /* Put marker between curve_it1 and curve_it2.
252 * there should be a midpoint marker between last segment and closing straight line segment */
254 if (marker->orient_mode != MARKER_ORIENT_ANGLE) {
257 tr = Geom::Rotate::from_degrees(marker->orient.computed) * Geom::Translate(curve_it1->pointAt(1));
260 sp_shape_render_invoke_marker_rendering(marker, tr, style, ctx);
270 if (marker->orient_mode != MARKER_ORIENT_ANGLE) {
273 tr = Geom::Rotate::from_degrees(marker->orient.computed) * Geom::Translate(lastcurve.pointAt(1));
275 sp_shape_render_invoke_marker_rendering(marker, tr, style, ctx);
279 // END marker
282 SPMarker* marker = shape->_marker[i];
294 if (marker->orient_mode != MARKER_ORIENT_ANGLE) {
297 tr = Geom::Rotate::from_degrees(marker->orient.computed) * Geom::Translate(lastcurve.pointAt(1));
300 sp_shape_render_invoke_marker_rendering(marker, tr, style, ctx);