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
- FlagsAttribute.cs
- AQNBuilder.cs
- DependencyPropertyDescriptor.cs
- HeaderedContentControl.cs
- MimeObjectFactory.cs
- PatternMatcher.cs
- HttpModulesSection.cs
- BuildManager.cs
- MultipleViewPattern.cs
- QilScopedVisitor.cs
- serverconfig.cs
- XpsS0ValidatingLoader.cs
- BrowserCapabilitiesCodeGenerator.cs
- DataConnectionHelper.cs
- ColumnCollectionEditor.cs
- mansign.cs
- AnimationClock.cs
- TitleStyle.cs
- DesignerForm.cs
- RawStylusInputReport.cs
- FolderBrowserDialogDesigner.cs
- ScrollBar.cs
- XmlDomTextWriter.cs
- PermissionSet.cs
- HitTestDrawingContextWalker.cs
- RelationshipEndMember.cs
- EntityTypeEmitter.cs
- RoutedEventConverter.cs
- TreeViewCancelEvent.cs
- SecurityValidationBehavior.cs
- BevelBitmapEffect.cs
- ApplicationHost.cs
- _CacheStreams.cs
- Menu.cs
- DCSafeHandle.cs
- CompressEmulationStream.cs
- WindowsRichEdit.cs
- DateTimeFormatInfoScanner.cs
- ImageListDesigner.cs
- QueryModel.cs
- DataServiceEntityAttribute.cs
- ReaderOutput.cs
- SmiGettersStream.cs
- DocumentScope.cs
- EnumConverter.cs
- CollectionEditor.cs
- PerformanceCounterManager.cs
- ControlType.cs
- ObjectDisposedException.cs
- BrowserCapabilitiesFactoryBase.cs
- RtfFormatStack.cs
- HttpResponseHeader.cs
- SettingsBindableAttribute.cs
- TextParagraph.cs
- DocComment.cs
- Page.cs
- XMLDiffLoader.cs
- SessionEndedEventArgs.cs
- PackageRelationshipSelector.cs
- DocumentsTrace.cs
- TimeIntervalCollection.cs
- DataGridDetailsPresenterAutomationPeer.cs
- MenuItemCollectionEditorDialog.cs
- SelectionRangeConverter.cs
- HttpResponseWrapper.cs
- HtmlAnchor.cs
- Update.cs
- CharacterBufferReference.cs
- UpdateRecord.cs
- MenuCommand.cs
- SqlErrorCollection.cs
- DataGridViewAdvancedBorderStyle.cs
- InitializingNewItemEventArgs.cs
- SafeNativeMethods.cs
- MainMenu.cs
- StreamAsIStream.cs
- PanelContainerDesigner.cs
- View.cs
- RequestCache.cs
- EnvelopedPkcs7.cs
- SiteMembershipCondition.cs
- Point3DCollectionConverter.cs
- RegexWriter.cs
- InstanceDataCollection.cs
- DrawingDrawingContext.cs
- VisualStyleRenderer.cs
- DaylightTime.cs
- XmlSiteMapProvider.cs
- GiveFeedbackEvent.cs
- WebResourceAttribute.cs
- CodeTypeReferenceCollection.cs
- HttpWriter.cs
- RsaSecurityToken.cs
- DataGridViewRowPrePaintEventArgs.cs
- FloaterBaseParaClient.cs
- DefaultValueConverter.cs
- TextContainerChangedEventArgs.cs
- View.cs
- EmbeddedMailObjectsCollection.cs
- CodeAttributeArgument.cs