Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / wpf / src / Framework / System / Windows / Shapes / Line.cs / 1 / Line.cs
//----------------------------------------------------------------------------
// File: Line.cs
//
// Description:
// Implementation of Line shape element.
//
// History:
// 05/30/02 - AdSmith - Created.
//
// Copyright (C) 2003 by Microsoft Corporation. All rights reserved.
//
//---------------------------------------------------------------------------
using System.Windows.Shapes;
using System.Diagnostics;
using System.Windows.Threading;
using System.Windows;
using System.Windows.Media;
using System.ComponentModel;
using MS.Internal;
using System;
namespace System.Windows.Shapes
{
///
/// The line shape element
/// This element (like all shapes) belongs under a Canvas,
/// and will be presented by the parent canvas.
///
public sealed class Line : Shape
{
#region Constructors
///
/// Instantiates a new instance of a line.
///
public Line()
{
}
#endregion Constructors
#region Dynamic Properties
///
/// X1 property
///
public static readonly DependencyProperty X1Property =
DependencyProperty.Register( "X1", typeof(double), typeof(Line),
new FrameworkPropertyMetadata(0d, FrameworkPropertyMetadataOptions.AffectsMeasure | FrameworkPropertyMetadataOptions.AffectsRender),
new ValidateValueCallback(Shape.IsDoubleFinite));
///
/// X1 property
///
[TypeConverter(typeof(LengthConverter))]
public double X1
{
get
{
return (double)GetValue(X1Property);
}
set
{
SetValue(X1Property, value);
}
}
///
/// Y1 property
///
public static readonly DependencyProperty Y1Property =
DependencyProperty.Register( "Y1", typeof(double), typeof(Line),
new FrameworkPropertyMetadata(0d, FrameworkPropertyMetadataOptions.AffectsMeasure | FrameworkPropertyMetadataOptions.AffectsRender),
new ValidateValueCallback(Shape.IsDoubleFinite));
///
/// Y1 property
///
[TypeConverter(typeof(LengthConverter))]
public double Y1
{
get
{
return (double)GetValue(Y1Property);
}
set
{
SetValue(Y1Property, value);
}
}
///
/// X2 property
///
public static readonly DependencyProperty X2Property =
DependencyProperty.Register( "X2", typeof(double), typeof(Line),
new FrameworkPropertyMetadata(0d, FrameworkPropertyMetadataOptions.AffectsMeasure | FrameworkPropertyMetadataOptions.AffectsRender),
new ValidateValueCallback(Shape.IsDoubleFinite));
///
/// X2 property
///
[TypeConverter(typeof(LengthConverter))]
public double X2
{
get
{
return (double)GetValue(X2Property);
}
set
{
SetValue(X2Property, value);
}
}
///
/// Y2 property
///
public static readonly DependencyProperty Y2Property =
DependencyProperty.Register( "Y2", typeof(double), typeof(Line),
new FrameworkPropertyMetadata(0d, FrameworkPropertyMetadataOptions.AffectsMeasure | FrameworkPropertyMetadataOptions.AffectsRender),
new ValidateValueCallback(Shape.IsDoubleFinite));
///
/// Y2 property
///
[TypeConverter(typeof(LengthConverter))]
public double Y2
{
get
{
return (double)GetValue(Y2Property);
}
set
{
SetValue(Y2Property, value);
}
}
#endregion Dynamic Properties
#region Protected Methods and Properties
///
/// Get the line that defines this shape
///
protected override Geometry DefiningGeometry
{
get
{
return _lineGeometry;
}
}
#endregion
#region Internal Methods
internal override void CacheDefiningGeometry()
{
Point point1 = new Point(X1, Y1);
Point point2 = new Point(X2, Y2);
// Create the Line geometry
_lineGeometry = new LineGeometry(point1, point2);
}
#endregion Internal Methods
#region Private Methods and Members
private LineGeometry _lineGeometry;
#endregion
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
//----------------------------------------------------------------------------
// File: Line.cs
//
// Description:
// Implementation of Line shape element.
//
// History:
// 05/30/02 - AdSmith - Created.
//
// Copyright (C) 2003 by Microsoft Corporation. All rights reserved.
//
//---------------------------------------------------------------------------
using System.Windows.Shapes;
using System.Diagnostics;
using System.Windows.Threading;
using System.Windows;
using System.Windows.Media;
using System.ComponentModel;
using MS.Internal;
using System;
namespace System.Windows.Shapes
{
///
/// The line shape element
/// This element (like all shapes) belongs under a Canvas,
/// and will be presented by the parent canvas.
///
public sealed class Line : Shape
{
#region Constructors
///
/// Instantiates a new instance of a line.
///
public Line()
{
}
#endregion Constructors
#region Dynamic Properties
///
/// X1 property
///
public static readonly DependencyProperty X1Property =
DependencyProperty.Register( "X1", typeof(double), typeof(Line),
new FrameworkPropertyMetadata(0d, FrameworkPropertyMetadataOptions.AffectsMeasure | FrameworkPropertyMetadataOptions.AffectsRender),
new ValidateValueCallback(Shape.IsDoubleFinite));
///
/// X1 property
///
[TypeConverter(typeof(LengthConverter))]
public double X1
{
get
{
return (double)GetValue(X1Property);
}
set
{
SetValue(X1Property, value);
}
}
///
/// Y1 property
///
public static readonly DependencyProperty Y1Property =
DependencyProperty.Register( "Y1", typeof(double), typeof(Line),
new FrameworkPropertyMetadata(0d, FrameworkPropertyMetadataOptions.AffectsMeasure | FrameworkPropertyMetadataOptions.AffectsRender),
new ValidateValueCallback(Shape.IsDoubleFinite));
///
/// Y1 property
///
[TypeConverter(typeof(LengthConverter))]
public double Y1
{
get
{
return (double)GetValue(Y1Property);
}
set
{
SetValue(Y1Property, value);
}
}
///
/// X2 property
///
public static readonly DependencyProperty X2Property =
DependencyProperty.Register( "X2", typeof(double), typeof(Line),
new FrameworkPropertyMetadata(0d, FrameworkPropertyMetadataOptions.AffectsMeasure | FrameworkPropertyMetadataOptions.AffectsRender),
new ValidateValueCallback(Shape.IsDoubleFinite));
///
/// X2 property
///
[TypeConverter(typeof(LengthConverter))]
public double X2
{
get
{
return (double)GetValue(X2Property);
}
set
{
SetValue(X2Property, value);
}
}
///
/// Y2 property
///
public static readonly DependencyProperty Y2Property =
DependencyProperty.Register( "Y2", typeof(double), typeof(Line),
new FrameworkPropertyMetadata(0d, FrameworkPropertyMetadataOptions.AffectsMeasure | FrameworkPropertyMetadataOptions.AffectsRender),
new ValidateValueCallback(Shape.IsDoubleFinite));
///
/// Y2 property
///
[TypeConverter(typeof(LengthConverter))]
public double Y2
{
get
{
return (double)GetValue(Y2Property);
}
set
{
SetValue(Y2Property, value);
}
}
#endregion Dynamic Properties
#region Protected Methods and Properties
///
/// Get the line that defines this shape
///
protected override Geometry DefiningGeometry
{
get
{
return _lineGeometry;
}
}
#endregion
#region Internal Methods
internal override void CacheDefiningGeometry()
{
Point point1 = new Point(X1, Y1);
Point point2 = new Point(X2, Y2);
// Create the Line geometry
_lineGeometry = new LineGeometry(point1, point2);
}
#endregion Internal Methods
#region Private Methods and Members
private LineGeometry _lineGeometry;
#endregion
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- RuntimeIdentifierPropertyAttribute.cs
- SystemDropShadowChrome.cs
- RecommendedAsConfigurableAttribute.cs
- DesignerSerializerAttribute.cs
- CodeStatementCollection.cs
- SqlColumnizer.cs
- ListViewGroup.cs
- Positioning.cs
- AuthenticationException.cs
- StagingAreaInputItem.cs
- StringReader.cs
- ConnectionPoint.cs
- RegexCapture.cs
- TableLayoutPanelResizeGlyph.cs
- ParameterBuilder.cs
- ArithmeticException.cs
- TableLayoutStyleCollection.cs
- WebPartConnectionsDisconnectVerb.cs
- CancellationTokenRegistration.cs
- GiveFeedbackEvent.cs
- NavigationExpr.cs
- DesignerAttribute.cs
- OutputCacheProfileCollection.cs
- XmlAttributeCollection.cs
- ParameterCollection.cs
- Column.cs
- LocalizationComments.cs
- XmlNamespaceManager.cs
- BitmapEffectInputConnector.cs
- HtmlInputHidden.cs
- WindowsRichEdit.cs
- ErrorFormatter.cs
- DataGridViewRowCollection.cs
- RichTextBoxAutomationPeer.cs
- HyperLink.cs
- SessionIDManager.cs
- ObjectQueryProvider.cs
- XmlEncoding.cs
- RichTextBoxConstants.cs
- ImageAnimator.cs
- VarRemapper.cs
- XmlDeclaration.cs
- RadioButtonStandardAdapter.cs
- DoubleLink.cs
- CodeDirectionExpression.cs
- RegistryPermission.cs
- SafeNativeHandle.cs
- MessageHeaderDescriptionCollection.cs
- MemberHolder.cs
- BatchStream.cs
- LinkDescriptor.cs
- ErrorItem.cs
- HttpHeaderCollection.cs
- XamlBrushSerializer.cs
- safelink.cs
- AttributeProviderAttribute.cs
- ImagingCache.cs
- NonBatchDirectoryCompiler.cs
- RegistrationServices.cs
- DataControlFieldHeaderCell.cs
- ExpandedProjectionNode.cs
- XPathSingletonIterator.cs
- SoapSchemaMember.cs
- Ops.cs
- CheckableControlBaseAdapter.cs
- TemplateEditingFrame.cs
- CalendarDateChangedEventArgs.cs
- RegexCompiler.cs
- PasswordBoxAutomationPeer.cs
- ParentQuery.cs
- ScheduleChanges.cs
- PrintController.cs
- XmlSerializerOperationBehavior.cs
- TextDecorations.cs
- BindingExpressionBase.cs
- NameValuePair.cs
- EntityType.cs
- ProcessModelSection.cs
- AttributeXamlType.cs
- ProtocolsSection.cs
- HandlerBase.cs
- IItemProperties.cs
- SafeNativeMethods.cs
- HttpHandlerAction.cs
- ObjectAnimationUsingKeyFrames.cs
- CompositeTypefaceMetrics.cs
- BlurBitmapEffect.cs
- EventLogPermission.cs
- ResXBuildProvider.cs
- MatrixAnimationBase.cs
- OrderedHashRepartitionEnumerator.cs
- FixedSOMTable.cs
- Internal.cs
- RawTextInputReport.cs
- MachinePropertyVariants.cs
- TextSelectionHighlightLayer.cs
- ViewPort3D.cs
- CodeCatchClause.cs
- DocumentReference.cs
- VectorAnimation.cs