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
- HttpDictionary.cs
- DataBoundControlAdapter.cs
- ChtmlTextWriter.cs
- CompiledAction.cs
- WCFModelStrings.Designer.cs
- ForceCopyBuildProvider.cs
- FormatterServices.cs
- ToolStripSystemRenderer.cs
- ToolboxBitmapAttribute.cs
- ReachDocumentSequenceSerializer.cs
- ADMembershipProvider.cs
- SQLBytes.cs
- StateElement.cs
- SqlParameterizer.cs
- RC2.cs
- StartUpEventArgs.cs
- SubMenuStyleCollection.cs
- InputReferenceExpression.cs
- PresentationAppDomainManager.cs
- ACE.cs
- ProgressBar.cs
- ReaderWriterLockWrapper.cs
- DSASignatureFormatter.cs
- VoiceObjectToken.cs
- OdbcPermission.cs
- WebBrowser.cs
- TextInfo.cs
- IPAddressCollection.cs
- TraceListener.cs
- QueryCacheKey.cs
- ZipPackage.cs
- OperationPickerDialog.cs
- Bezier.cs
- RegexGroup.cs
- ConfigurationSection.cs
- WindowsTab.cs
- IsolationInterop.cs
- FileSystemWatcher.cs
- MissingFieldException.cs
- XmlTextWriter.cs
- HtmlElement.cs
- UnsafeCollabNativeMethods.cs
- ConstraintManager.cs
- SettingsPropertyIsReadOnlyException.cs
- CellPartitioner.cs
- DesignTable.cs
- WebPartActionVerb.cs
- WebRequestModulesSection.cs
- PointCollection.cs
- RealizedColumnsBlock.cs
- EventLogLink.cs
- WindowInteractionStateTracker.cs
- GetPageCompletedEventArgs.cs
- ResourceKey.cs
- CharStorage.cs
- TableLayout.cs
- TypeSource.cs
- ProviderMetadata.cs
- CustomPeerResolverService.cs
- ErrorHandler.cs
- DebugView.cs
- XmlTextReaderImpl.cs
- BitmapEffectrendercontext.cs
- ECDiffieHellmanCng.cs
- ServiceManager.cs
- PopupEventArgs.cs
- PanelDesigner.cs
- MarkupWriter.cs
- ServicesUtilities.cs
- CustomError.cs
- SecurityPolicySection.cs
- Console.cs
- RegexParser.cs
- WebBrowserNavigatingEventHandler.cs
- COM2PropertyDescriptor.cs
- DocumentGridPage.cs
- FirewallWrapper.cs
- CursorConverter.cs
- DbXmlEnabledProviderManifest.cs
- MultiSelectRootGridEntry.cs
- HashJoinQueryOperatorEnumerator.cs
- ZipIORawDataFileBlock.cs
- SystemIPGlobalStatistics.cs
- GenericTransactionFlowAttribute.cs
- RIPEMD160.cs
- Effect.cs
- TextTreePropertyUndoUnit.cs
- ContextMenuAutomationPeer.cs
- SoapObjectReader.cs
- DoWorkEventArgs.cs
- objectquery_tresulttype.cs
- Label.cs
- DataRecordInfo.cs
- CompoundFileIOPermission.cs
- FlowchartStart.xaml.cs
- GridViewSortEventArgs.cs
- Stylesheet.cs
- CompositeCollection.cs
- WindowsScrollBarBits.cs
- WebPartExportVerb.cs