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
- DrawingGroupDrawingContext.cs
- TextDecorationUnitValidation.cs
- WebPartConnection.cs
- SplitterEvent.cs
- ClientUtils.cs
- WebSysDisplayNameAttribute.cs
- DocumentSequenceHighlightLayer.cs
- KnownTypesProvider.cs
- XmlLanguage.cs
- Size.cs
- DecimalStorage.cs
- BitmapEffectState.cs
- SourceSwitch.cs
- coordinator.cs
- WinInet.cs
- XmlSerializerAssemblyAttribute.cs
- InkPresenter.cs
- ActiveXSite.cs
- SchemaHelper.cs
- PointValueSerializer.cs
- PropertyIDSet.cs
- VisualBasicImportReference.cs
- DataServiceClientException.cs
- control.ime.cs
- LinkConverter.cs
- WorkflowInlining.cs
- Regex.cs
- XmlCharCheckingWriter.cs
- OleDbDataReader.cs
- ButtonBaseAutomationPeer.cs
- SafeLibraryHandle.cs
- Button.cs
- PageSettings.cs
- ElementNotAvailableException.cs
- MsmqIntegrationProcessProtocolHandler.cs
- MessageHeaders.cs
- InputScope.cs
- XmlChildEnumerator.cs
- ObjectListTitleAttribute.cs
- TracingConnectionInitiator.cs
- SqlParameterCollection.cs
- FormatVersion.cs
- XmlValidatingReader.cs
- RemoteWebConfigurationHostServer.cs
- SafeNativeMethodsOther.cs
- CodeLabeledStatement.cs
- Proxy.cs
- XmlImplementation.cs
- LocatorBase.cs
- EdmTypeAttribute.cs
- CannotUnloadAppDomainException.cs
- MasterPageCodeDomTreeGenerator.cs
- WizardForm.cs
- ArrayExtension.cs
- XmlHierarchicalDataSourceView.cs
- ComNativeDescriptor.cs
- FormsAuthenticationUser.cs
- AssemblyCache.cs
- WebServiceHost.cs
- RootBrowserWindowProxy.cs
- ExitEventArgs.cs
- SerializerWriterEventHandlers.cs
- SslStream.cs
- HostedAspNetEnvironment.cs
- DesignOnlyAttribute.cs
- SynchronizedInputAdaptor.cs
- SqlLiftWhereClauses.cs
- WSFederationHttpBindingElement.cs
- InputProviderSite.cs
- ContainerParaClient.cs
- FrameworkElementAutomationPeer.cs
- SerializationException.cs
- ActiveDocumentEvent.cs
- SecuritySessionSecurityTokenProvider.cs
- TaskbarItemInfo.cs
- ExceptionNotification.cs
- UnsafeNativeMethods.cs
- ContentPresenter.cs
- ValueProviderWrapper.cs
- ClientApiGenerator.cs
- wgx_sdk_version.cs
- DnsPermission.cs
- RIPEMD160Managed.cs
- CustomErrorsSectionWrapper.cs
- EntityModelBuildProvider.cs
- DetailsViewInsertedEventArgs.cs
- ObjectStateEntryDbDataRecord.cs
- AbstractSvcMapFileLoader.cs
- XamlBuildTaskServices.cs
- UInt16.cs
- SectionVisual.cs
- PagesSection.cs
- ToolStripRendererSwitcher.cs
- SrgsOneOf.cs
- DictionaryKeyPropertyAttribute.cs
- DeclarationUpdate.cs
- ReadOnlyActivityGlyph.cs
- RemotingConfiguration.cs
- SafeFileHandle.cs
- ResourceReader.cs