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
- CursorConverter.cs
- TableItemProviderWrapper.cs
- DodSequenceMerge.cs
- TabletDeviceInfo.cs
- PrinterSettings.cs
- SynchronizedInputProviderWrapper.cs
- MdImport.cs
- InkCanvasFeedbackAdorner.cs
- TextEditorContextMenu.cs
- TypeLibConverter.cs
- PropertyValidationContext.cs
- HtmlButton.cs
- Rotation3D.cs
- ListenerUnsafeNativeMethods.cs
- SqlInternalConnectionSmi.cs
- HtmlGenericControl.cs
- ToolStripSplitButton.cs
- InheritablePropertyChangeInfo.cs
- CreateCardRequest.cs
- AppDomainAttributes.cs
- CancelEventArgs.cs
- DeploymentSection.cs
- LogSwitch.cs
- SendingRequestEventArgs.cs
- DoubleAnimationUsingPath.cs
- SortQuery.cs
- PassportAuthenticationModule.cs
- Repeater.cs
- NetworkInformationPermission.cs
- SchemaObjectWriter.cs
- TextStore.cs
- MulticastOption.cs
- PageContentAsyncResult.cs
- DrawingCollection.cs
- ConversionContext.cs
- LineBreak.cs
- TabControlEvent.cs
- InvalidPrinterException.cs
- ACE.cs
- Accessible.cs
- CqlBlock.cs
- CodeDOMProvider.cs
- filewebresponse.cs
- URIFormatException.cs
- FaultHandlingFilter.cs
- HashSetDebugView.cs
- TransactionState.cs
- GZipStream.cs
- ResourceDictionary.cs
- StringBuilder.cs
- SqlUserDefinedTypeAttribute.cs
- WebPartConnection.cs
- Literal.cs
- ComponentChangedEvent.cs
- TypeLoader.cs
- XmlQueryTypeFactory.cs
- Exceptions.cs
- RijndaelManaged.cs
- CSharpCodeProvider.cs
- EnterpriseServicesHelper.cs
- EntityDataSourceUtil.cs
- Console.cs
- PeerNameRecordCollection.cs
- FixedPageStructure.cs
- Crc32.cs
- DesignTimeParseData.cs
- Metadata.cs
- XPathNodeInfoAtom.cs
- CaseStatementSlot.cs
- ItemContainerProviderWrapper.cs
- PropertyToken.cs
- PerfService.cs
- ContextInformation.cs
- TemplatedWizardStep.cs
- SqlBooleanMismatchVisitor.cs
- WebScriptClientGenerator.cs
- DefaultMemberAttribute.cs
- UpdateProgress.cs
- DataObjectCopyingEventArgs.cs
- ObjectSerializerFactory.cs
- BuildResult.cs
- NestedContainer.cs
- FullTrustAssembliesSection.cs
- HtmlElementCollection.cs
- SmiMetaDataProperty.cs
- LogWriteRestartAreaAsyncResult.cs
- ByteStreamMessageEncoderFactory.cs
- Propagator.Evaluator.cs
- TypedTableBase.cs
- WeakEventTable.cs
- NamedPermissionSet.cs
- SnapshotChangeTrackingStrategy.cs
- UrlMappingsModule.cs
- WebPartDescription.cs
- ChildTable.cs
- InstanceKey.cs
- EnumerableCollectionView.cs
- DependencyProperty.cs
- HostAdapter.cs
- TextStore.cs