Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- ClientSideProviderDescription.cs
- CharacterHit.cs
- ColumnPropertiesGroup.cs
- InvokeBase.cs
- Activity.cs
- ClientRoleProvider.cs
- SpellerInterop.cs
- ReachPageContentSerializerAsync.cs
- AmbientLight.cs
- ErrorRuntimeConfig.cs
- DecimalConstantAttribute.cs
- MenuItemCollection.cs
- ExtenderControl.cs
- HyperLinkDesigner.cs
- DecoratedNameAttribute.cs
- TagNameToTypeMapper.cs
- Roles.cs
- ThreadSafeMessageFilterTable.cs
- KeyedQueue.cs
- Typography.cs
- SimpleWebHandlerParser.cs
- ComboBoxRenderer.cs
- CodeArrayIndexerExpression.cs
- SectionRecord.cs
- StringUtil.cs
- FrugalList.cs
- HostingMessageProperty.cs
- PatternMatcher.cs
- AdornerDecorator.cs
- OdbcCommandBuilder.cs
- DbConnectionOptions.cs
- DragCompletedEventArgs.cs
- RoleManagerEventArgs.cs
- ChangeInterceptorAttribute.cs
- DispatcherBuilder.cs
- ConfigurationManagerInternal.cs
- FixedSOMLineCollection.cs
- Win32KeyboardDevice.cs
- Unit.cs
- XPathExpr.cs
- MarkupWriter.cs
- SerTrace.cs
- XmlUtil.cs
- EncoderReplacementFallback.cs
- ClientTarget.cs
- StatusBar.cs
- HitTestResult.cs
- UTF7Encoding.cs
- RelatedCurrencyManager.cs
- CodeTypeOfExpression.cs
- TreeViewItemAutomationPeer.cs
- MeasureItemEvent.cs
- DataGridViewTopLeftHeaderCell.cs
- MdiWindowListItemConverter.cs
- OleDbSchemaGuid.cs
- GridViewCommandEventArgs.cs
- ListComponentEditorPage.cs
- TreeViewBindingsEditor.cs
- MaskDesignerDialog.cs
- Stack.cs
- TemplateContainer.cs
- RecordManager.cs
- DelegatingTypeDescriptionProvider.cs
- StrokeNodeOperations2.cs
- AnimationLayer.cs
- DrawingContextDrawingContextWalker.cs
- DoubleUtil.cs
- RsaKeyIdentifierClause.cs
- PermissionAttributes.cs
- BitmapPalettes.cs
- BaseDataBoundControl.cs
- HttpConfigurationSystem.cs
- RootBuilder.cs
- DoubleAnimationClockResource.cs
- EmbossBitmapEffect.cs
- WebPartAddingEventArgs.cs
- ModelFunction.cs
- StringBlob.cs
- COM2ExtendedTypeConverter.cs
- DeclarativeCatalogPart.cs
- PointConverter.cs
- XamlSerializerUtil.cs
- Rotation3DAnimation.cs
- EnvironmentPermission.cs
- PackagePart.cs
- oledbmetadatacolumnnames.cs
- WebPartTransformerCollection.cs
- DescendentsWalker.cs
- FontConverter.cs
- HtmlContainerControl.cs
- MobileControlsSectionHelper.cs
- _CacheStreams.cs
- unsafenativemethodstextservices.cs
- ManagedFilter.cs
- Function.cs
- RequestStatusBarUpdateEventArgs.cs
- SaveFileDialog.cs
- ThicknessConverter.cs
- CollectionViewProxy.cs
- XmlEntityReference.cs