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
- EmptyEnumerator.cs
- Util.cs
- ControlTemplate.cs
- ProfileSettings.cs
- ByteConverter.cs
- SqlDataReaderSmi.cs
- ObjectStateEntryDbUpdatableDataRecord.cs
- X509Certificate2.cs
- Misc.cs
- SqlXmlStorage.cs
- PropertyInformation.cs
- ISFClipboardData.cs
- FrameworkPropertyMetadata.cs
- CodeLabeledStatement.cs
- ModelUtilities.cs
- ILGen.cs
- LicenseProviderAttribute.cs
- BamlResourceDeserializer.cs
- FigureParaClient.cs
- PersistNameAttribute.cs
- DuplicateDetector.cs
- ComponentCommands.cs
- FixedHighlight.cs
- WebConfigurationFileMap.cs
- LogPolicy.cs
- PrimitiveXmlSerializers.cs
- FixedNode.cs
- TextFragmentEngine.cs
- HTMLTextWriter.cs
- ModelTreeEnumerator.cs
- EmbeddedMailObjectsCollection.cs
- Cursors.cs
- RecordBuilder.cs
- ValidatingReaderNodeData.cs
- RSAProtectedConfigurationProvider.cs
- FlowDocumentView.cs
- ServiceBehaviorElement.cs
- Brush.cs
- Size3D.cs
- WindowsGraphics2.cs
- SafeNativeMethodsCLR.cs
- LoadedOrUnloadedOperation.cs
- PageSettings.cs
- DataColumnChangeEvent.cs
- SortAction.cs
- DataGridViewIntLinkedList.cs
- RedirectionProxy.cs
- MsmqHostedTransportManager.cs
- SystemWebSectionGroup.cs
- PackageRelationshipSelector.cs
- UiaCoreTypesApi.cs
- WindowsScrollBar.cs
- DateTimeFormatInfoScanner.cs
- InvalidateEvent.cs
- MultilineStringConverter.cs
- ControlHelper.cs
- WorkflowPageSetupDialog.cs
- SmiMetaData.cs
- SqlUnionizer.cs
- MemberMaps.cs
- LinqDataSourceView.cs
- FamilyCollection.cs
- SelectionRange.cs
- FilteredAttributeCollection.cs
- UniqueEventHelper.cs
- CompensateDesigner.cs
- UntrustedRecipientException.cs
- ServiceObjectContainer.cs
- DataKey.cs
- ResXResourceWriter.cs
- ExternalException.cs
- Maps.cs
- LinqDataSourceDeleteEventArgs.cs
- SQLDecimalStorage.cs
- TextEndOfParagraph.cs
- PermissionListSet.cs
- ReadOnlyAttribute.cs
- ToolZone.cs
- Camera.cs
- ProgressBarAutomationPeer.cs
- ContextMenu.cs
- ErrorEventArgs.cs
- TextTreeNode.cs
- ProfileSettingsCollection.cs
- BuildDependencySet.cs
- unsafeIndexingFilterStream.cs
- ConfigXmlComment.cs
- DataQuery.cs
- SimpleApplicationHost.cs
- TextServicesDisplayAttributePropertyRanges.cs
- AutomationProperty.cs
- CDSsyncETWBCLProvider.cs
- DataGridHelper.cs
- SmiEventSink_Default.cs
- OperandQuery.cs
- SchemaImporterExtension.cs
- FeatureManager.cs
- TcpChannelHelper.cs
- SafeCloseHandleCritical.cs
- GenericEnumerator.cs