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
- DataControlImageButton.cs
- WorkBatch.cs
- GetPageCompletedEventArgs.cs
- AsyncOperation.cs
- AnyReturnReader.cs
- StyleReferenceConverter.cs
- BaseConfigurationRecord.cs
- PriorityBinding.cs
- CombinedGeometry.cs
- TagMapInfo.cs
- NameValueSectionHandler.cs
- AnimationClockResource.cs
- QilPatternVisitor.cs
- HostingEnvironmentWrapper.cs
- XmlSchemaDatatype.cs
- SymbolEqualComparer.cs
- FillRuleValidation.cs
- BackgroundFormatInfo.cs
- QilVisitor.cs
- ActivityPreviewDesigner.cs
- HostedHttpContext.cs
- X509ChainPolicy.cs
- UnsafeNativeMethods.cs
- ProfileService.cs
- XmlSchemaProviderAttribute.cs
- FieldNameLookup.cs
- DataGridViewColumnCollectionDialog.cs
- TileBrush.cs
- HtmlTitle.cs
- WhitespaceRule.cs
- DynamicRendererThreadManager.cs
- ProfileEventArgs.cs
- TypeListConverter.cs
- RuntimeHandles.cs
- Vector3DValueSerializer.cs
- XmlNodeComparer.cs
- JsonQNameDataContract.cs
- OdbcEnvironmentHandle.cs
- WebServiceErrorEvent.cs
- WebDisplayNameAttribute.cs
- Latin1Encoding.cs
- InvalidDataException.cs
- CqlErrorHelper.cs
- ModelFunctionTypeElement.cs
- FuncCompletionCallbackWrapper.cs
- HatchBrush.cs
- UnsafeNativeMethods.cs
- Events.cs
- DependencySource.cs
- ObjectQueryState.cs
- TableLayoutStyle.cs
- FunctionImportMapping.cs
- DbException.cs
- InstanceKey.cs
- CompilationLock.cs
- PersianCalendar.cs
- URLIdentityPermission.cs
- UnionExpr.cs
- DiagnosticTraceSource.cs
- LogEntryUtils.cs
- DynamicFilter.cs
- DependencyPropertyKey.cs
- EventListener.cs
- MimeParameter.cs
- XmlBoundElement.cs
- Vector3D.cs
- Executor.cs
- StrokeCollectionDefaultValueFactory.cs
- VectorAnimationUsingKeyFrames.cs
- ProfileEventArgs.cs
- Msec.cs
- BamlResourceDeserializer.cs
- UserMapPath.cs
- AbsoluteQuery.cs
- GlyphRunDrawing.cs
- COM2EnumConverter.cs
- _ListenerRequestStream.cs
- cookiecontainer.cs
- ToolStripComboBox.cs
- SystemInfo.cs
- SoapInteropTypes.cs
- XmlAnyElementAttributes.cs
- MultipleViewProviderWrapper.cs
- HttpCachePolicyElement.cs
- SoapTransportImporter.cs
- _AutoWebProxyScriptEngine.cs
- BitmapDownload.cs
- FloaterParaClient.cs
- HtmlHead.cs
- XPathDocumentIterator.cs
- RoleBoolean.cs
- StaticSiteMapProvider.cs
- ScrollBarAutomationPeer.cs
- XhtmlBasicPhoneCallAdapter.cs
- DataGridViewBand.cs
- Stylus.cs
- _PooledStream.cs
- EditorBrowsableAttribute.cs
- CustomUserNameSecurityTokenAuthenticator.cs
- SecurityAppliedMessage.cs