Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Core / CSharp / MS / Internal / Ink / ContourSegment.cs / 1305600 / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- LayoutEngine.cs
- AspCompat.cs
- CatalogPartChrome.cs
- NameValueCollection.cs
- PieceNameHelper.cs
- PerformanceCountersElement.cs
- CqlQuery.cs
- TypeCodeDomSerializer.cs
- InvokeWebService.cs
- TextBox.cs
- SystemNetworkInterface.cs
- EventSinkHelperWriter.cs
- ModuleBuilderData.cs
- ParameterCollection.cs
- MessageHeader.cs
- AssemblyInfo.cs
- AutomationPropertyInfo.cs
- InvokePatternIdentifiers.cs
- IPipelineRuntime.cs
- ButtonFlatAdapter.cs
- ObjectSet.cs
- WSFederationHttpSecurityMode.cs
- MethodCallExpression.cs
- FileFormatException.cs
- CompiledRegexRunner.cs
- ExpandCollapsePattern.cs
- Floater.cs
- ItemContainerProviderWrapper.cs
- DataViewSetting.cs
- StreamAsIStream.cs
- SqlMethodCallConverter.cs
- InteropAutomationProvider.cs
- TypeConstant.cs
- DynamicMetaObject.cs
- DiscardableAttribute.cs
- TableDetailsCollection.cs
- MissingMethodException.cs
- Pair.cs
- cookiecontainer.cs
- StyleCollection.cs
- UriExt.cs
- CustomErrorsSectionWrapper.cs
- MessagingActivityHelper.cs
- EventHandlersDesigner.cs
- SoapExtension.cs
- BufferModesCollection.cs
- ReflectionHelper.cs
- TransformationRules.cs
- validation.cs
- ToolStripLabel.cs
- AlternationConverter.cs
- CapacityStreamGeometryContext.cs
- XmlFormatExtensionPointAttribute.cs
- ProfileModule.cs
- TextEditorMouse.cs
- DefaultValueAttribute.cs
- TaskbarItemInfo.cs
- Metadata.cs
- PathSegmentCollection.cs
- TextParagraphCache.cs
- ContentAlignmentEditor.cs
- KeyboardDevice.cs
- PersonalizationProvider.cs
- SecurityException.cs
- MouseGesture.cs
- InvocationExpression.cs
- DataGridViewTextBoxCell.cs
- SeekableReadStream.cs
- EntityProviderServices.cs
- VoiceChangeEventArgs.cs
- GridLength.cs
- ManagementQuery.cs
- NativeWrapper.cs
- FrameSecurityDescriptor.cs
- SchemaImporterExtensionsSection.cs
- IteratorFilter.cs
- UrlPropertyAttribute.cs
- StrongNameIdentityPermission.cs
- Keyboard.cs
- WhitespaceSignificantCollectionAttribute.cs
- ListViewCancelEventArgs.cs
- BindingWorker.cs
- TabRenderer.cs
- DrawingContext.cs
- XmlDeclaration.cs
- PromptBuilder.cs
- SetState.cs
- SvcMapFileLoader.cs
- IconConverter.cs
- InputEventArgs.cs
- XmlSchemaComplexContentRestriction.cs
- StorageSetMapping.cs
- MetabaseServerConfig.cs
- Blend.cs
- DataMemberAttribute.cs
- SqlConnectionString.cs
- QilParameter.cs
- XComponentModel.cs
- TypeDependencyAttribute.cs
- SamlNameIdentifierClaimResource.cs