Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Core / MS / Internal / Ink / ContourSegment.cs / 1 / ContourSegment.cs
//------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------- using System; using System.Windows; using System.Windows.Media; namespace MS.Internal.Ink { ////// A helper structure representing an edge of a contour, where /// the edge is either a straight segment or an arc of a circle. /// ContourSegment are alwais directed clockwise (i.e with the contour /// inner area being on the right side. /// Used in hit-testing a contour vs another contour. /// internal struct ContourSegment { ////// Constructor for linear segments /// /// segment's begin point /// segment's end point internal ContourSegment(Point begin, Point end) { _begin = begin; _vector = DoubleUtil.AreClose(begin, end) ? new Vector(0, 0) : (end - begin); _radius = new Vector(0, 0); } ////// Constructor for arcs /// /// arc's begin point /// arc's end point /// arc's center internal ContourSegment(Point begin, Point end, Point center) { _begin = begin; _vector = end - begin; _radius = center - begin; } ///Tells whether the segment is arc or straight internal bool IsArc { get { return (_radius.X != 0) || (_radius.Y != 0); } } ///Returns the begin point of the segment internal Point Begin { get { return _begin; } } ///Returns the end point of the segment internal Point End { get { return _begin + _vector; } } ///Returns the vector from Begin to End internal Vector Vector { get { return _vector; } } ///Returns the vector from Begin to the center of the circle /// (zero vector for linear segments internal Vector Radius { get { return _radius; } } #region Fields private Point _begin; private Vector _vector; private Vector _radius; #endregion } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- PhysicalFontFamily.cs
- SelectiveScrollingGrid.cs
- AnnotationService.cs
- PeerCollaboration.cs
- IndexerNameAttribute.cs
- SqlMethodTransformer.cs
- PartialCachingControl.cs
- XmlAttributeOverrides.cs
- SafeNativeMethods.cs
- CompilerGeneratedAttribute.cs
- Vector3DAnimation.cs
- TextEditorCopyPaste.cs
- FormatterServicesNoSerializableCheck.cs
- CollectionBuilder.cs
- UnauthorizedWebPart.cs
- WebBrowser.cs
- HttpHostedTransportConfiguration.cs
- SerializableAuthorizationContext.cs
- Variable.cs
- WebBrowserHelper.cs
- CompiledIdentityConstraint.cs
- Freezable.cs
- DataGridCommandEventArgs.cs
- Authorization.cs
- OletxTransactionManager.cs
- QueueProcessor.cs
- CodeAttributeDeclaration.cs
- AsymmetricSignatureDeformatter.cs
- BamlRecordHelper.cs
- DocumentAutomationPeer.cs
- CqlGenerator.cs
- ZipFileInfo.cs
- NameTable.cs
- StaticExtension.cs
- CharacterBuffer.cs
- QilScopedVisitor.cs
- MatrixValueSerializer.cs
- RenderData.cs
- DoWorkEventArgs.cs
- SSmlParser.cs
- TransformPattern.cs
- SortQueryOperator.cs
- SoapHeaderAttribute.cs
- WebPartCollection.cs
- XmlSchemaDatatype.cs
- AliasExpr.cs
- XamlTemplateSerializer.cs
- CursorConverter.cs
- DynamicPropertyHolder.cs
- BindingGroup.cs
- ImageFormatConverter.cs
- DataBindingHandlerAttribute.cs
- XmlSerializerSection.cs
- SqlBooleanizer.cs
- RowParagraph.cs
- TreeViewItemAutomationPeer.cs
- CapabilitiesRule.cs
- DesignerDataTableBase.cs
- PropertyItemInternal.cs
- ContentElementCollection.cs
- Win32.cs
- Configuration.cs
- ObsoleteAttribute.cs
- TransportSecurityProtocolFactory.cs
- xmlfixedPageInfo.cs
- CharUnicodeInfo.cs
- ThreadStaticAttribute.cs
- PostBackOptions.cs
- XsltSettings.cs
- SystemIPv4InterfaceProperties.cs
- TrustSection.cs
- SharedStatics.cs
- XmlEncodedRawTextWriter.cs
- ConfigErrorGlyph.cs
- SqlUDTStorage.cs
- WorkflowInlining.cs
- RectConverter.cs
- ConfigXmlReader.cs
- BehaviorEditorPart.cs
- UTF7Encoding.cs
- SqlDataSourceStatusEventArgs.cs
- ItemsChangedEventArgs.cs
- DataGridRow.cs
- Size.cs
- DocComment.cs
- UniformGrid.cs
- SspiNegotiationTokenProvider.cs
- WebPartConnectVerb.cs
- CodePageUtils.cs
- ProvideValueServiceProvider.cs
- RepeaterItemEventArgs.cs
- SynchronizedDispatch.cs
- DoubleStorage.cs
- DbDataRecord.cs
- ElementHostAutomationPeer.cs
- DropTarget.cs
- LeaseManager.cs
- GroupAggregateExpr.cs
- __ConsoleStream.cs
- SignedXml.cs