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
- RedistVersionInfo.cs
- ListViewGroupItemCollection.cs
- ProfileModule.cs
- EntityContainer.cs
- Iis7Helper.cs
- InvokerUtil.cs
- KeysConverter.cs
- BoundColumn.cs
- KeyEvent.cs
- XmlSerializerSection.cs
- TextEditorMouse.cs
- IProvider.cs
- SoapRpcServiceAttribute.cs
- VirtualPath.cs
- SqlConnectionStringBuilder.cs
- SAPICategories.cs
- ScriptControlDescriptor.cs
- QueueTransferProtocol.cs
- TileBrush.cs
- ResourceCodeDomSerializer.cs
- DataReaderContainer.cs
- ContractBase.cs
- DataBindingCollectionConverter.cs
- Trigger.cs
- CancellationState.cs
- StatusBarPanel.cs
- ObjectDataSourceFilteringEventArgs.cs
- DispatchWrapper.cs
- OleStrCAMarshaler.cs
- WebColorConverter.cs
- KnownTypesHelper.cs
- WebPartManager.cs
- TaskSchedulerException.cs
- BaseDataBoundControlDesigner.cs
- StreamResourceInfo.cs
- SwitchAttribute.cs
- RC2.cs
- _AutoWebProxyScriptWrapper.cs
- DateTimeOffsetConverter.cs
- FileUpload.cs
- EventProxy.cs
- ArrayList.cs
- ErrorHandler.cs
- HandleCollector.cs
- SqlGatherConsumedAliases.cs
- TextInfo.cs
- SQLString.cs
- WindowsIdentity.cs
- TextEmbeddedObject.cs
- ObjectItemAttributeAssemblyLoader.cs
- DependentTransaction.cs
- CodeSubDirectoriesCollection.cs
- ResXBuildProvider.cs
- SharedDp.cs
- CodeGroup.cs
- PrintingPermissionAttribute.cs
- ReadOnlyCollection.cs
- AspNetHostingPermission.cs
- ContentDisposition.cs
- ContainerFilterService.cs
- ASCIIEncoding.cs
- SchemaImporterExtensionElement.cs
- DateTimeStorage.cs
- ToolStripLocationCancelEventArgs.cs
- TablePatternIdentifiers.cs
- InlineUIContainer.cs
- CacheAxisQuery.cs
- PeerNearMe.cs
- EntityConnection.cs
- CatalogPartChrome.cs
- BadImageFormatException.cs
- WorkflowApplication.cs
- SubclassTypeValidatorAttribute.cs
- ProfileSettingsCollection.cs
- RewritingValidator.cs
- x509store.cs
- ProviderSettings.cs
- ImmutablePropertyDescriptorGridEntry.cs
- QualifiedCellIdBoolean.cs
- PartialTrustVisibleAssembliesSection.cs
- DataGridViewImageColumn.cs
- ReadContentAsBinaryHelper.cs
- SHA256Managed.cs
- PropertyConverter.cs
- StringExpressionSet.cs
- ListViewItemMouseHoverEvent.cs
- RegexGroupCollection.cs
- BinaryUtilClasses.cs
- ActivationArguments.cs
- SettingsAttributes.cs
- DetailsViewCommandEventArgs.cs
- OutputCacheModule.cs
- NeutralResourcesLanguageAttribute.cs
- NamedElement.cs
- mediaclock.cs
- ArrayElementGridEntry.cs
- IncrementalReadDecoders.cs
- GPPOINT.cs
- EllipseGeometry.cs
- ForEachAction.cs