Code:
/ 4.0 / 4.0 / 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. //------------------------------------------------------------------------ //// 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
- PartialTrustHelpers.cs
- FilterableData.cs
- SafeFreeMibTable.cs
- CryptoStream.cs
- DefaultPrintController.cs
- HttpException.cs
- WebScriptEnablingBehavior.cs
- PhoneCall.cs
- Stackframe.cs
- SEHException.cs
- SignHashRequest.cs
- IntegerValidator.cs
- IChannel.cs
- SqlIdentifier.cs
- ActivationArguments.cs
- ActivityBuilderHelper.cs
- SelectionProcessor.cs
- BackoffTimeoutHelper.cs
- OptimalBreakSession.cs
- XmlAttributeAttribute.cs
- HtmlInputFile.cs
- KeyValuePairs.cs
- TextBounds.cs
- handlecollector.cs
- ControlIdConverter.cs
- HwndAppCommandInputProvider.cs
- AttachedPropertyBrowsableAttribute.cs
- StreamSecurityUpgradeAcceptorAsyncResult.cs
- FontClient.cs
- Stopwatch.cs
- KeyManager.cs
- OdbcConnectionOpen.cs
- ChangePassword.cs
- SourceFileBuildProvider.cs
- PageBreakRecord.cs
- BlurBitmapEffect.cs
- RsaKeyIdentifierClause.cs
- DataGridGeneralPage.cs
- ToolStripDropDownButton.cs
- ImageSourceValueSerializer.cs
- AsyncStreamReader.cs
- Int32Collection.cs
- TargetConverter.cs
- SafeCryptHandles.cs
- XmlNamespaceMappingCollection.cs
- EntityReference.cs
- MarkupWriter.cs
- EntityFrameworkVersions.cs
- CollectionChangeEventArgs.cs
- HttpCachePolicyWrapper.cs
- Substitution.cs
- DataGridViewCellStyleConverter.cs
- DisplayMemberTemplateSelector.cs
- Converter.cs
- RuntimeWrappedException.cs
- DeviceContext2.cs
- SecurityTokenProvider.cs
- FixedTextSelectionProcessor.cs
- DataGridToolTip.cs
- Parallel.cs
- ProgressBar.cs
- ComponentResourceKey.cs
- OdbcEnvironment.cs
- PatternMatcher.cs
- DataGridViewLinkCell.cs
- StoryFragments.cs
- SQLMoney.cs
- DesignerObject.cs
- ColumnMapTranslator.cs
- PrimitiveCodeDomSerializer.cs
- View.cs
- SafeFileMapViewHandle.cs
- WebBrowserHelper.cs
- CalendarAutomationPeer.cs
- FilterUserControlBase.cs
- CatalogZone.cs
- ParameterBuilder.cs
- OLEDB_Enum.cs
- FileLogRecordStream.cs
- CheckBoxStandardAdapter.cs
- _DigestClient.cs
- ConfigXmlAttribute.cs
- RuleSettings.cs
- ProxySimple.cs
- X509Certificate2.cs
- NativeMethods.cs
- XmlNodeList.cs
- InputMethod.cs
- XmlNamespaceManager.cs
- dtdvalidator.cs
- HtmlInputImage.cs
- RadioButtonRenderer.cs
- SmtpFailedRecipientException.cs
- QueryOpeningEnumerator.cs
- XmlTextReader.cs
- sqlpipe.cs
- RegexCompilationInfo.cs
- WindowsScroll.cs
- PrinterUnitConvert.cs
- TraceContext.cs