Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Core / CSharp / MS / Internal / Ink / ContourSegment.cs / 1305600 / 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
- Point3DValueSerializer.cs
- TextContainerChangedEventArgs.cs
- XPathDocumentNavigator.cs
- OciLobLocator.cs
- MediaPlayer.cs
- Region.cs
- TimeSpan.cs
- PaintEvent.cs
- AudioException.cs
- DataControlFieldCell.cs
- Compilation.cs
- RefreshPropertiesAttribute.cs
- Block.cs
- EventToken.cs
- ScriptingSectionGroup.cs
- ToolStripEditorManager.cs
- SerialReceived.cs
- MetadataException.cs
- SymbolPair.cs
- CookielessHelper.cs
- XmlReaderSettings.cs
- TPLETWProvider.cs
- RenderTargetBitmap.cs
- DayRenderEvent.cs
- FormViewPageEventArgs.cs
- TemplatePropertyEntry.cs
- Column.cs
- FontStyle.cs
- XmlQuerySequence.cs
- TypeElementCollection.cs
- DbgUtil.cs
- MetadataItem.cs
- OleDbReferenceCollection.cs
- XmlSerializableReader.cs
- BoundPropertyEntry.cs
- Tokenizer.cs
- ProtocolsSection.cs
- CardSpaceException.cs
- UInt16.cs
- GenericEnumerator.cs
- CharacterMetrics.cs
- ExceptionHandler.cs
- UTF32Encoding.cs
- ButtonFieldBase.cs
- TransformPatternIdentifiers.cs
- FamilyTypefaceCollection.cs
- InputScopeAttribute.cs
- TreeViewItem.cs
- SystemNetworkInterface.cs
- PageAsyncTaskManager.cs
- SimpleColumnProvider.cs
- CodeArrayIndexerExpression.cs
- HttpBrowserCapabilitiesWrapper.cs
- IdentityHolder.cs
- ActivityInstanceReference.cs
- TypedDatasetGenerator.cs
- DataKeyArray.cs
- GeneralTransformGroup.cs
- InstanceDataCollectionCollection.cs
- WindowsToolbarAsMenu.cs
- ContainerParagraph.cs
- Html32TextWriter.cs
- XmlFormatExtensionAttribute.cs
- TextEditorCharacters.cs
- NamedPipeAppDomainProtocolHandler.cs
- __TransparentProxy.cs
- TextProperties.cs
- WebPartsPersonalizationAuthorization.cs
- GradientBrush.cs
- SelectionItemPattern.cs
- ByteStack.cs
- TemplateKeyConverter.cs
- EventItfInfo.cs
- StylusButtonCollection.cs
- ToolStrip.cs
- CapiSymmetricAlgorithm.cs
- path.cs
- ApplicationId.cs
- AmbiguousMatchException.cs
- SmtpSpecifiedPickupDirectoryElement.cs
- DrawingContextDrawingContextWalker.cs
- PingReply.cs
- StylusEditingBehavior.cs
- Authorization.cs
- HiddenField.cs
- Material.cs
- TraceListeners.cs
- TransformerInfo.cs
- BaseAddressPrefixFilterElement.cs
- PageCodeDomTreeGenerator.cs
- HttpTransportElement.cs
- DbExpressionBuilder.cs
- SwitchLevelAttribute.cs
- DiscreteKeyFrames.cs
- DetectEofStream.cs
- XmlIlVisitor.cs
- _OverlappedAsyncResult.cs
- TypeUtils.cs
- DeviceFilterEditorDialog.cs
- RawTextInputReport.cs