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
- InfoCardSymmetricAlgorithm.cs
- DataFieldEditor.cs
- NodeInfo.cs
- ErrorInfoXmlDocument.cs
- OleDbPropertySetGuid.cs
- ListChangedEventArgs.cs
- CodeFieldReferenceExpression.cs
- brushes.cs
- DataGridViewBand.cs
- EventKeyword.cs
- DeflateInput.cs
- ListViewUpdateEventArgs.cs
- CrossSiteScriptingValidation.cs
- InheritanceAttribute.cs
- DetailsViewUpdatedEventArgs.cs
- ScopelessEnumAttribute.cs
- WebPartConnectionsCancelVerb.cs
- PageCatalogPart.cs
- EntryIndex.cs
- CollectionViewGroup.cs
- GradientSpreadMethodValidation.cs
- TransportBindingElement.cs
- DecimalKeyFrameCollection.cs
- invalidudtexception.cs
- ImageField.cs
- LexicalChunk.cs
- ISessionStateStore.cs
- WS2007HttpBinding.cs
- WindowsRegion.cs
- ObjectDataSourceFilteringEventArgs.cs
- AppDomainInstanceProvider.cs
- SecurityContextTokenCache.cs
- PauseStoryboard.cs
- ReadWriteSpinLock.cs
- CompleteWizardStep.cs
- latinshape.cs
- PolyLineSegmentFigureLogic.cs
- _SSPISessionCache.cs
- SchemaElementLookUpTableEnumerator.cs
- Utils.cs
- Random.cs
- TouchDevice.cs
- IListConverters.cs
- ToolBarOverflowPanel.cs
- OperandQuery.cs
- LoginName.cs
- BitStream.cs
- FormViewRow.cs
- SqlUtil.cs
- JournalEntryStack.cs
- ButtonBaseDesigner.cs
- Qualifier.cs
- PagerSettings.cs
- XmlSchemaValidator.cs
- LineBreakRecord.cs
- SimpleApplicationHost.cs
- UIPermission.cs
- documentsequencetextpointer.cs
- Wizard.cs
- TableCellsCollectionEditor.cs
- MetadataCacheItem.cs
- SectionVisual.cs
- SqlUdtInfo.cs
- FilePrompt.cs
- HatchBrush.cs
- FunctionUpdateCommand.cs
- CounterSampleCalculator.cs
- HMACSHA512.cs
- ToolStripRendererSwitcher.cs
- MiniMapControl.xaml.cs
- SchemaObjectWriter.cs
- DescendantBaseQuery.cs
- SerializationAttributes.cs
- Propagator.JoinPropagator.cs
- BaseParagraph.cs
- NamespaceCollection.cs
- x509utils.cs
- WebPart.cs
- AvTraceDetails.cs
- OdbcCommandBuilder.cs
- SelectionGlyphBase.cs
- InheritedPropertyDescriptor.cs
- IdentitySection.cs
- HostedHttpRequestAsyncResult.cs
- JavascriptCallbackMessageInspector.cs
- ObjectItemCollection.cs
- PreProcessor.cs
- GPPOINTF.cs
- DbReferenceCollection.cs
- DWriteFactory.cs
- OdbcPermission.cs
- FontWeightConverter.cs
- EntityType.cs
- XmlSchemaValidationException.cs
- TemplateAction.cs
- MessageRpc.cs
- SimpleType.cs
- MatrixTransform3D.cs
- ProcessThreadCollection.cs
- UIElement.cs