aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Scripting/Tango.Scripting.Editors/Indentation/IIndentationStrategy.cs
blob: 0697fb6421ae342bed5587c69cc88b2e2b302b60 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)

using Tango.Scripting.Editors.Document;
using System;

namespace Tango.Scripting.Editors.Indentation
{
	/// <summary>
	/// Strategy how the text editor handles indentation when new lines are inserted.
	/// </summary>
	public interface IIndentationStrategy
	{
		/// <summary>
		/// Sets the indentation for the specified line.
		/// Usually this is constructed from the indentation of the previous line.
		/// </summary>
		void IndentLine(TextDocument document, DocumentLine line);
		
		/// <summary>
		/// Reindents a set of lines.
		/// </summary>
		void IndentLines(TextDocument document, int beginLine, int endLine);
	}
}
/// Angle must be in range [0,360) /// </exception> public PolarPoint(double radius, double angleDeg) { if (radius < 0.0) throw new ArgumentException("Radius must be non-negative"); if ((angleDeg < 0) || (angleDeg >= 360.0)) throw new ArgumentException("Angle must be in range [0,360)"); Radius = radius; AngleDeg = angleDeg; } /// <summary> /// Gets or sets the Polar coordinates. /// </summary> /// <value> /// The radius. /// </value> public double Radius { get; set; } /// <summary> /// Gets or sets the angle degree. /// </summary> /// <value> /// The angle deg. /// </value> public double AngleDeg { get; set; } /// <summary> /// Cartesian X Coordinate. /// </summary> /// <value> /// The x. /// </value> public double X { get { return Radius * Math.Cos(AngleDeg * Math.PI / 180.0); } } /// <summary> /// Cartesian Y Coordinate. /// </summary> /// <value> /// The y. /// </value> public double Y { get { return Radius * Math.Sin(AngleDeg * Math.PI / 180.0); } } /// <summary> /// Returns a <see cref="System.String" /> that represents this instance. /// </summary> /// <returns> /// A <see cref="System.String" /> that represents this instance. /// </returns> public override string ToString() { return string.Format("({0},{1})", X, Y); } } }