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
- DeclaredTypeValidatorAttribute.cs
- TraceInternal.cs
- PassportAuthenticationModule.cs
- ProtocolsConfiguration.cs
- ZipIOModeEnforcingStream.cs
- WindowInteractionStateTracker.cs
- CutCopyPasteHelper.cs
- SharedPersonalizationStateInfo.cs
- SoapSchemaMember.cs
- CellCreator.cs
- CreateUserWizard.cs
- ConnectionManagementElement.cs
- SByteConverter.cs
- KeyValueConfigurationCollection.cs
- PlacementWorkspace.cs
- SafeBuffer.cs
- FrameworkPropertyMetadata.cs
- LayoutUtils.cs
- ConnectionString.cs
- ValueTypeFixupInfo.cs
- ExpressionPrefixAttribute.cs
- PageContentAsyncResult.cs
- LoginView.cs
- ReachIDocumentPaginatorSerializer.cs
- brushes.cs
- DataGridViewCellFormattingEventArgs.cs
- WebZone.cs
- Scheduling.cs
- UriTemplateQueryValue.cs
- AttributeEmitter.cs
- X509ChainElement.cs
- DispatchChannelSink.cs
- ToolBarButtonClickEvent.cs
- ADMembershipProvider.cs
- SqlConnectionString.cs
- BooleanConverter.cs
- RealizationDrawingContextWalker.cs
- SelectionHighlightInfo.cs
- ConfigXmlComment.cs
- LogicalExpr.cs
- XmlQuerySequence.cs
- VisualBasicSettingsConverter.cs
- DecodeHelper.cs
- DEREncoding.cs
- Binding.cs
- NameValuePermission.cs
- AttributeData.cs
- AccessDataSourceWizardForm.cs
- GregorianCalendar.cs
- fixedPageContentExtractor.cs
- DataSourceHelper.cs
- FeatureSupport.cs
- ComponentResourceManager.cs
- ActivityXRefConverter.cs
- ColorAnimationBase.cs
- HMACSHA384.cs
- ToolStripSeparatorRenderEventArgs.cs
- TextTreeText.cs
- QueryCacheManager.cs
- UnSafeCharBuffer.cs
- AutomationIdentifier.cs
- StreamUpdate.cs
- ProfileParameter.cs
- ExtentKey.cs
- CustomCategoryAttribute.cs
- ELinqQueryState.cs
- Translator.cs
- SiteMapNodeItem.cs
- DummyDataSource.cs
- DelegatingConfigHost.cs
- SwitchAttribute.cs
- SyndicationItemFormatter.cs
- GetWinFXPath.cs
- FileDialog_Vista.cs
- BrowserDefinitionCollection.cs
- KeyGestureConverter.cs
- BaseCodePageEncoding.cs
- MessageQueuePermission.cs
- DesigntimeLicenseContext.cs
- basenumberconverter.cs
- FontUnitConverter.cs
- WindowInteractionStateTracker.cs
- ReleaseInstanceMode.cs
- DbConnectionInternal.cs
- OdbcException.cs
- AvTraceDetails.cs
- WindowsSlider.cs
- WebServiceParameterData.cs
- CheckBoxList.cs
- Link.cs
- Misc.cs
- DiagnosticStrings.cs
- DataSourceCache.cs
- localization.cs
- StreamWriter.cs
- BamlTreeUpdater.cs
- PropertyValidationContext.cs
- ComponentDispatcher.cs
- MessageDecoder.cs
- webbrowsersite.cs