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
- StylusButton.cs
- LocationUpdates.cs
- UpDownEvent.cs
- AutomationAttributeInfo.cs
- KeyboardDevice.cs
- CellIdBoolean.cs
- HwndMouseInputProvider.cs
- RulePatternOps.cs
- TypeUtils.cs
- IChannel.cs
- InstanceStore.cs
- ObfuscateAssemblyAttribute.cs
- XamlBuildTaskServices.cs
- ComplexTypeEmitter.cs
- WindowsRichEditRange.cs
- StaticFileHandler.cs
- SimpleBitVector32.cs
- SqlDuplicator.cs
- Point4DValueSerializer.cs
- XmlSerializerFactory.cs
- RegistryExceptionHelper.cs
- HttpRequest.cs
- StrongNameKeyPair.cs
- EntityKey.cs
- SoapAttributeOverrides.cs
- UseAttributeSetsAction.cs
- Subtree.cs
- KeysConverter.cs
- AccessDataSourceView.cs
- ServiceDescriptionReflector.cs
- ProfileModule.cs
- SQLBytes.cs
- RangeValueProviderWrapper.cs
- Bits.cs
- ResetableIterator.cs
- RemotingServices.cs
- EntityTypeEmitter.cs
- Propagator.Evaluator.cs
- ScrollData.cs
- BlobPersonalizationState.cs
- WebPartExportVerb.cs
- SQLInt32Storage.cs
- UnmanagedMarshal.cs
- Action.cs
- ITreeGenerator.cs
- SignatureSummaryDialog.cs
- Size.cs
- Regex.cs
- CodeConditionStatement.cs
- XmlStringTable.cs
- DeclaredTypeElementCollection.cs
- ContextMenuStripActionList.cs
- DataList.cs
- ReflectPropertyDescriptor.cs
- MouseGestureValueSerializer.cs
- DoubleUtil.cs
- PackagePartCollection.cs
- MatrixValueSerializer.cs
- CompilerWrapper.cs
- Border.cs
- ConnectionStringsSection.cs
- CultureInfoConverter.cs
- AllowedAudienceUriElementCollection.cs
- _CacheStreams.cs
- DataGridTable.cs
- CoTaskMemSafeHandle.cs
- TreeBuilder.cs
- TableLayoutRowStyleCollection.cs
- MsmqPoisonMessageException.cs
- ChannelSinkStacks.cs
- Touch.cs
- UnsafeNativeMethodsMilCoreApi.cs
- MetadataArtifactLoaderXmlReaderWrapper.cs
- ClientBuildManager.cs
- RequiredFieldValidator.cs
- LinqDataSourceContextData.cs
- ContractNamespaceAttribute.cs
- NullRuntimeConfig.cs
- updateconfighost.cs
- DataGridViewSelectedRowCollection.cs
- MailSettingsSection.cs
- IUnknownConstantAttribute.cs
- GeneralTransformGroup.cs
- JoinSymbol.cs
- PriorityChain.cs
- Pts.cs
- ByValueEqualityComparer.cs
- EntityDataSourceView.cs
- CapabilitiesSection.cs
- CheckableControlBaseAdapter.cs
- XmlMtomWriter.cs
- NetworkInterface.cs
- ProxyWebPartConnectionCollection.cs
- WebConfigurationManager.cs
- MenuAutomationPeer.cs
- XPathExpr.cs
- HandleRef.cs
- ControlPaint.cs
- AuthenticatingEventArgs.cs
- PathData.cs