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
- FloatUtil.cs
- NativeRightsManagementAPIsStructures.cs
- CoordinationService.cs
- ValidationErrorCollection.cs
- FontStyle.cs
- ContentPropertyAttribute.cs
- ManualResetEvent.cs
- LineGeometry.cs
- SupportingTokenSecurityTokenResolver.cs
- HGlobalSafeHandle.cs
- TextElementCollectionHelper.cs
- _BaseOverlappedAsyncResult.cs
- OleTxTransaction.cs
- SharedStream.cs
- XhtmlConformanceSection.cs
- ListDictionaryInternal.cs
- SimpleTableProvider.cs
- DescendantBaseQuery.cs
- AnnotationAuthorChangedEventArgs.cs
- DateTimeConstantAttribute.cs
- CryptoStream.cs
- XamlFigureLengthSerializer.cs
- PlatformCulture.cs
- RowBinding.cs
- followingsibling.cs
- Application.cs
- QilGenerator.cs
- PackageRelationshipCollection.cs
- CodeDirectoryCompiler.cs
- NameValueSectionHandler.cs
- Size.cs
- XsdDateTime.cs
- ErrorStyle.cs
- OperationInfo.cs
- AdvancedBindingPropertyDescriptor.cs
- NameValueCollection.cs
- ExternalException.cs
- CertificateManager.cs
- SocketElement.cs
- ApplicationTrust.cs
- BamlLocalizableResource.cs
- AtomServiceDocumentSerializer.cs
- TiffBitmapDecoder.cs
- DataGridViewTextBoxCell.cs
- DataBindingExpressionBuilder.cs
- Transform3DCollection.cs
- SqlFunctionAttribute.cs
- ConnectionStringSettings.cs
- EdmConstants.cs
- PageBuildProvider.cs
- UnmanagedBitmapWrapper.cs
- RestHandler.cs
- Pointer.cs
- TextEffectResolver.cs
- CodeMethodInvokeExpression.cs
- ListViewUpdateEventArgs.cs
- regiisutil.cs
- ResourcePermissionBase.cs
- ReachNamespaceInfo.cs
- SQLMoney.cs
- AppSecurityManager.cs
- SafeFileMappingHandle.cs
- StringConcat.cs
- IDQuery.cs
- GradientStop.cs
- MediaContextNotificationWindow.cs
- SimpleModelProvider.cs
- ColumnMapCopier.cs
- invalidudtexception.cs
- FloaterBaseParaClient.cs
- XmlDataSourceView.cs
- StorageFunctionMapping.cs
- DockPatternIdentifiers.cs
- IdleTimeoutMonitor.cs
- ControlUtil.cs
- Transform.cs
- InternalConfigSettingsFactory.cs
- ReferenceService.cs
- SimpleWebHandlerParser.cs
- ImageField.cs
- UnSafeCharBuffer.cs
- TextRunCache.cs
- EpmSourcePathSegment.cs
- ProtocolElementCollection.cs
- CriticalHandle.cs
- TemplateColumn.cs
- TableColumn.cs
- ExtenderHelpers.cs
- ExceptionUtil.cs
- SwitchAttribute.cs
- ClientConfigurationSystem.cs
- _AutoWebProxyScriptWrapper.cs
- StyleSelector.cs
- CustomErrorsSectionWrapper.cs
- CompositeCollectionView.cs
- XmlILStorageConverter.cs
- FixedDSBuilder.cs
- HtmlInputCheckBox.cs
- PropertyToken.cs
- RowUpdatingEventArgs.cs