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
- BitmapMetadata.cs
- LinqExpressionNormalizer.cs
- ServiceControllerDesigner.cs
- objectresult_tresulttype.cs
- MembershipUser.cs
- EventBuilder.cs
- ExceptionTranslationTable.cs
- CodeTryCatchFinallyStatement.cs
- Section.cs
- DelegateTypeInfo.cs
- AsymmetricAlgorithm.cs
- Model3DGroup.cs
- cookie.cs
- WebPartConnectionsConfigureVerb.cs
- XmlSchemaValidationException.cs
- RawStylusInputCustomData.cs
- AccessViolationException.cs
- HostExecutionContextManager.cs
- TargetParameterCountException.cs
- EntitySqlQueryBuilder.cs
- GridViewColumnCollectionChangedEventArgs.cs
- sqlnorm.cs
- InputManager.cs
- UriTemplateHelpers.cs
- DataSourceHelper.cs
- SystemParameters.cs
- ProfilePropertyMetadata.cs
- WebBrowserDocumentCompletedEventHandler.cs
- Rotation3DAnimation.cs
- ListItemsCollectionEditor.cs
- TraceContext.cs
- TraceUtils.cs
- SlotInfo.cs
- StrongNameIdentityPermission.cs
- SpecialNameAttribute.cs
- XPathBinder.cs
- Mappings.cs
- WebPartConnectionsCancelVerb.cs
- DbProviderFactory.cs
- ErrorTolerantObjectWriter.cs
- Triangle.cs
- SendingRequestEventArgs.cs
- InfoCardAsymmetricCrypto.cs
- Pts.cs
- DbgUtil.cs
- BamlVersionHeader.cs
- Buffer.cs
- DependencySource.cs
- LinkedResource.cs
- HttpDebugHandler.cs
- JsonByteArrayDataContract.cs
- ResourcePermissionBaseEntry.cs
- SqlSelectStatement.cs
- ChangePassword.cs
- BitmapFrameEncode.cs
- TokenizerHelper.cs
- StartUpEventArgs.cs
- SqlXml.cs
- SecurityManager.cs
- ToolStripContentPanelRenderEventArgs.cs
- StaticExtensionConverter.cs
- AutomationElement.cs
- DataViewManager.cs
- CodeMethodInvokeExpression.cs
- VisualTreeHelper.cs
- PopupControlService.cs
- FontFamilyConverter.cs
- SafeTokenHandle.cs
- PaginationProgressEventArgs.cs
- ContextBase.cs
- ControlTemplate.cs
- FieldAccessException.cs
- RegexCharClass.cs
- PersonalizationAdministration.cs
- RoutedPropertyChangedEventArgs.cs
- XsdCachingReader.cs
- MenuAutomationPeer.cs
- ScrollEvent.cs
- InvokeProviderWrapper.cs
- InputEventArgs.cs
- FontUnitConverter.cs
- TabItem.cs
- ExpressionWriter.cs
- HitTestDrawingContextWalker.cs
- BordersPage.cs
- PackagePartCollection.cs
- AdornerHitTestResult.cs
- PeerNearMe.cs
- LockRecoveryTask.cs
- Bold.cs
- GPPOINT.cs
- Hash.cs
- TrackingProfileDeserializationException.cs
- HttpConfigurationSystem.cs
- FileDialog.cs
- CodeRemoveEventStatement.cs
- Panel.cs
- AppSettings.cs
- BroadcastEventHelper.cs
- TextDpi.cs