Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / 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
- ClientApiGenerator.cs
- SafeFileMappingHandle.cs
- InputElement.cs
- MessagePartDescription.cs
- DiagnosticStrings.cs
- ConfigurationManagerInternal.cs
- XmlSchemaChoice.cs
- SmiEventSink_DeferedProcessing.cs
- FamilyCollection.cs
- Italic.cs
- ScriptReferenceEventArgs.cs
- EventPrivateKey.cs
- RulePatternOps.cs
- FileSecurity.cs
- TreeBuilderXamlTranslator.cs
- HyperLinkColumn.cs
- InternalControlCollection.cs
- Comparer.cs
- ACE.cs
- HttpStaticObjectsCollectionBase.cs
- KeyGestureValueSerializer.cs
- ListViewAutomationPeer.cs
- ColorAnimationBase.cs
- SortedList.cs
- SqlBuilder.cs
- MimeTypeMapper.cs
- PropertyTab.cs
- UnionCqlBlock.cs
- DesignBindingValueUIHandler.cs
- TextStore.cs
- DataView.cs
- OleDragDropHandler.cs
- StylusDownEventArgs.cs
- DataGridViewSelectedCellCollection.cs
- OleDbConnectionInternal.cs
- ItemsControl.cs
- Assign.cs
- HtmlInputImage.cs
- NextPreviousPagerField.cs
- SqlBuilder.cs
- RegexCaptureCollection.cs
- DisplayMemberTemplateSelector.cs
- PersistenceException.cs
- ProtocolElementCollection.cs
- ControlSerializer.cs
- SecurityChannelListener.cs
- CompilerInfo.cs
- OperatingSystem.cs
- TextElementCollectionHelper.cs
- HScrollProperties.cs
- SocketPermission.cs
- FederatedMessageSecurityOverHttpElement.cs
- HttpServerUtilityWrapper.cs
- RemotingSurrogateSelector.cs
- ImageSourceValueSerializer.cs
- SchemaConstraints.cs
- DataGridViewTextBoxCell.cs
- SplitContainer.cs
- VisualState.cs
- GenericAuthenticationEventArgs.cs
- AdapterUtil.cs
- DBDataPermission.cs
- PolyLineSegmentFigureLogic.cs
- OutputCacheModule.cs
- InputBinding.cs
- TextEffect.cs
- Rect3DValueSerializer.cs
- ActivationServices.cs
- nulltextnavigator.cs
- ColumnResizeAdorner.cs
- ProfileSettings.cs
- CaseStatement.cs
- StylusEditingBehavior.cs
- UnsafeNativeMethods.cs
- Identity.cs
- RenderOptions.cs
- XmlSequenceWriter.cs
- XhtmlTextWriter.cs
- ChangeProcessor.cs
- ParseElementCollection.cs
- VisualTreeFlattener.cs
- JoinElimination.cs
- LineServices.cs
- WindowsAuthenticationModule.cs
- QueryOperatorEnumerator.cs
- Guid.cs
- LinqToSqlWrapper.cs
- MatrixUtil.cs
- ValueSerializerAttribute.cs
- PropertyMapper.cs
- InternalBufferOverflowException.cs
- XmlExtensionFunction.cs
- CompiledIdentityConstraint.cs
- RealProxy.cs
- HebrewCalendar.cs
- PerformanceCountersElement.cs
- RequestSecurityTokenSerializer.cs
- XhtmlTextWriter.cs
- WaitHandleCannotBeOpenedException.cs
- metadatamappinghashervisitor.hashsourcebuilder.cs