Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / wpf / src / Core / CSharp / 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. //------------------------------------------------------------------------ //// 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
- MatrixValueSerializer.cs
- WebPartAuthorizationEventArgs.cs
- ActivityTrace.cs
- ConcurrentDictionary.cs
- ToolStripMenuItemDesigner.cs
- XmlSerializerOperationFormatter.cs
- XmlFormatExtensionAttribute.cs
- InvalidPrinterException.cs
- ToolStripItemTextRenderEventArgs.cs
- RawStylusInputCustomDataList.cs
- EmptyStringExpandableObjectConverter.cs
- SpanIndex.cs
- WebBrowserBase.cs
- ExpressionBuilder.cs
- ChtmlMobileTextWriter.cs
- DynamicActionMessageFilter.cs
- SerialPinChanges.cs
- TypeInitializationException.cs
- TrackingMemoryStreamFactory.cs
- SmtpClient.cs
- BoundField.cs
- LineMetrics.cs
- UInt16Storage.cs
- UserControl.cs
- PersistenceTypeAttribute.cs
- HttpModulesSection.cs
- DataKeyCollection.cs
- EmptyStringExpandableObjectConverter.cs
- BuildProvider.cs
- SQLRoleProvider.cs
- CompilerResults.cs
- PartialCachingAttribute.cs
- SqlNodeAnnotation.cs
- MatrixTransform3D.cs
- AffineTransform3D.cs
- DataListCommandEventArgs.cs
- XmlStreamNodeWriter.cs
- WebServiceEnumData.cs
- ConfigXmlAttribute.cs
- BinaryObjectWriter.cs
- securitycriticaldataformultiplegetandset.cs
- MissingMemberException.cs
- XmlAtomicValue.cs
- Int16.cs
- AutomationPropertyInfo.cs
- ITextView.cs
- Win32MouseDevice.cs
- Graphics.cs
- MediaContext.cs
- EventRoute.cs
- EntityDataSourceViewSchema.cs
- FixedNode.cs
- AdapterDictionary.cs
- AssociationTypeEmitter.cs
- _Semaphore.cs
- TreeBuilder.cs
- AbstractSvcMapFileLoader.cs
- PieceDirectory.cs
- InstanceNormalEvent.cs
- KnownBoxes.cs
- WorkflowDispatchContext.cs
- TreeNode.cs
- XPathScanner.cs
- StringPropertyBuilder.cs
- InvokePattern.cs
- MediaScriptCommandRoutedEventArgs.cs
- SqlConnectionString.cs
- Bezier.cs
- DesignerDataTableBase.cs
- XmlToDatasetMap.cs
- TabItemWrapperAutomationPeer.cs
- XmlSchemaType.cs
- EventSinkActivityDesigner.cs
- XmlAttributeHolder.cs
- InputReferenceExpression.cs
- WebHeaderCollection.cs
- EventDrivenDesigner.cs
- TextPattern.cs
- DataRecordInfo.cs
- Serializer.cs
- COM2ExtendedTypeConverter.cs
- TreeViewDesigner.cs
- EventToken.cs
- BlobPersonalizationState.cs
- CultureInfo.cs
- PeerHopCountAttribute.cs
- _SslStream.cs
- NativeMethods.cs
- CodeMethodInvokeExpression.cs
- BuildManager.cs
- DetailsViewModeEventArgs.cs
- EventEntry.cs
- Adorner.cs
- IntegerValidator.cs
- XPathQilFactory.cs
- TypeUtil.cs
- OleTxTransaction.cs
- SqlDuplicator.cs
- WebServiceData.cs
- TypeUtils.cs