Click here to Skip to main content
15,887,027 members
Articles / Desktop Programming / WPF

SharpVectors - SVG# Reloaded: An Introduction

Rate me:
Please Sign up or sign in to vote.
4.98/5 (33 votes)
17 Nov 2010BSD10 min read 204.8K   21.7K   101  
A C# library for converting SVG to WPF and viewing SVG files in WPF Applications
using System;

namespace SharpVectors.Dom.Svg
{
	/// <summary>
	/// This is an extension to the Svg DOM. It denotes that an element can
	/// display markers.
	/// </summary>
	/// <remarks>
	/// <p>
	/// A marker is a symbol which is attached to one or more vertices of
	/// some Svg elements.  In order for a marker to be drawn correctly,
	/// its orientation and position needs to be known.
	/// See <a href="http://www.w3.org/TR/SVG/painting.html"
	/// >SVG 1.0 Masking - Establishing A New Clipping Path</a>
	/// </p>
	/// <p>
	/// This interface provides the information required to calculate the
	/// orientation and position for each marker of an Svg element.
	/// </p>
	/// <p>
	/// To give an Svg element the capability to draw markers, let the Svg
	/// element implement this interface.
	/// </p>
	/// </remarks>
	public interface ISharpMarkerHost
	{
		/// <summary>
		/// An array specifying the position of each vertex in the Svg
		/// element's shape.
		/// </summary>
        SvgPointF[] MarkerPositions
		{
			get;
		}
		
		/// <summary>
		/// Get the angle of the path segment entering the specified vertex.
		/// </summary>
		/// <param name="index">
		/// Specifies the vertex to which the path segment is entering.
		/// </param>
		/// <returns>
		/// The angle of the path segment entering the specified vertex
		/// in degrees.
		/// </returns>
        double GetStartAngle(int index);
		
		/// <summary>
		/// Get the angle of the path segment leaving the specified vertex
		/// in degrees.
		/// </summary>
		/// <param name="index">
		/// Specifies the vertex from which the path segment is leaving.
		/// </param>
		/// <returns>
		/// The angle of the path segment leaving the specified vertex.
		/// </returns>
        double GetEndAngle(int index);
	}
}

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The BSD License


Written By
Engineer
Japan Japan
Systems Engineer

Comments and Discussions