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
- StringWriter.cs
- BaseComponentEditor.cs
- CrossAppDomainChannel.cs
- MissingMethodException.cs
- XXXInfos.cs
- DataGridViewButtonColumn.cs
- ZipIOExtraField.cs
- ErrorHandler.cs
- ListBindingConverter.cs
- RegionInfo.cs
- MatrixTransform3D.cs
- ToolStripSystemRenderer.cs
- SelectedCellsChangedEventArgs.cs
- LogFlushAsyncResult.cs
- DisposableCollectionWrapper.cs
- PeerObject.cs
- LinqDataSourceInsertEventArgs.cs
- UTF7Encoding.cs
- ProfileService.cs
- TextAdaptor.cs
- DesignerDataTable.cs
- WaitHandle.cs
- ImageConverter.cs
- DataIdProcessor.cs
- SecurityKeyUsage.cs
- Events.cs
- XmlBaseReader.cs
- MeshGeometry3D.cs
- WebPartConnectionCollection.cs
- Function.cs
- ServiceContractViewControl.cs
- itemelement.cs
- ContractReference.cs
- HexParser.cs
- SettingsPropertyIsReadOnlyException.cs
- LocalizationParserHooks.cs
- CodeMethodReturnStatement.cs
- RoleManagerEventArgs.cs
- TextBoxBaseDesigner.cs
- StructureChangedEventArgs.cs
- Setter.cs
- SchemaComplexType.cs
- ResourcesChangeInfo.cs
- XmlAutoDetectWriter.cs
- BinaryUtilClasses.cs
- GroupQuery.cs
- DictionaryKeyPropertyAttribute.cs
- StatusBarDrawItemEvent.cs
- DSASignatureFormatter.cs
- CryptographicAttribute.cs
- ResourceSetExpression.cs
- Equal.cs
- Accessible.cs
- OrderedDictionary.cs
- DesignTimeTemplateParser.cs
- VariableQuery.cs
- NativeWindow.cs
- DataSourceControlBuilder.cs
- CatalogZone.cs
- ReturnEventArgs.cs
- BamlLocalizationDictionary.cs
- TableItemStyle.cs
- EventWaitHandle.cs
- DependencyPropertyValueSerializer.cs
- KnownTypesHelper.cs
- QilGeneratorEnv.cs
- XsltFunctions.cs
- InvokeSchedule.cs
- ConstructorExpr.cs
- followingquery.cs
- XmlSchemaSimpleType.cs
- RawKeyboardInputReport.cs
- WebPartTransformer.cs
- ResourceIDHelper.cs
- KeyboardDevice.cs
- CqlWriter.cs
- ActivityPreviewDesigner.cs
- EdmType.cs
- ScaleTransform3D.cs
- FSWPathEditor.cs
- DatagridviewDisplayedBandsData.cs
- Line.cs
- Padding.cs
- PlatformCulture.cs
- PrintDocument.cs
- SharedPersonalizationStateInfo.cs
- GestureRecognitionResult.cs
- HScrollBar.cs
- TextEditorContextMenu.cs
- NullEntityWrapper.cs
- TimeSpan.cs
- IPAddress.cs
- TypographyProperties.cs
- DeclaredTypeValidator.cs
- DrawingBrush.cs
- CodeTypeDelegate.cs
- BufferedStream.cs
- QilExpression.cs
- RuntimeResourceSet.cs
- OutputCacheEntry.cs