Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / wpf / src / Core / CSharp / MS / Internal / Ink / Quad.cs / 1 / Quad.cs
//------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------- using System; using System.Windows; using System.Windows.Media; using System.Collections; using System.Collections.Generic; using System.Collections.ObjectModel; using MS.Utility; using SR=MS.Internal.PresentationCore.SR; using SRID=MS.Internal.PresentationCore.SRID; namespace MS.Internal.Ink { ////// A helper structure used in StrokeNode and StrokeNodeOperation implementations /// to store endpoints of the quad connecting two nodes of a stroke. /// The vertices of a quad are supposed to be clockwise with points A and D located /// on the begin node and B and C on the end one. /// internal struct Quad { #region Statics private static Quad s_empty = new Quad(new Point(0, 0), new Point(0, 0), new Point(0, 0), new Point(0, 0)); #endregion #region API ///Returns the static object representing an empty (unitialized) quad internal static Quad Empty { get { return s_empty; } } ///Constructor internal Quad(Point a, Point b, Point c, Point d) { _A = a; _B = b; _C = c; _D = d; } ///The A vertex of the quad internal Point A { get { return _A; } set { _A = value; } } ///The B vertex of the quad internal Point B { get { return _B; } set { _B = value; } } ///The C vertex of the quad internal Point C { get { return _C; } set { _C = value; } } ///The D vertex of the quad internal Point D { get { return _D; } set { _D = value; } } // Returns quad's vertex by index where A is of the index 0, B - is 1, etc internal Point this[int index] { get { switch (index) { case 0: return _A; case 1: return _B; case 2: return _C; case 3: return _D; default: throw new IndexOutOfRangeException("index"); } } } ///Tells whether the quad is invalid (empty) internal bool IsEmpty { get { return (_A == _B) && (_C == _D); } } internal void GetPoints(ListpointBuffer) { pointBuffer.Add(_A); pointBuffer.Add(_B); pointBuffer.Add(_C); pointBuffer.Add(_D); } /// Returns the bounds of the quad internal Rect Bounds { get { return IsEmpty ? Rect.Empty : Rect.Union(new Rect(_A, _B), new Rect(_C, _D)); } } #endregion #region Fields private Point _A; private Point _B; private Point _C; private Point _D; #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; using System.Collections; using System.Collections.Generic; using System.Collections.ObjectModel; using MS.Utility; using SR=MS.Internal.PresentationCore.SR; using SRID=MS.Internal.PresentationCore.SRID; namespace MS.Internal.Ink { ////// A helper structure used in StrokeNode and StrokeNodeOperation implementations /// to store endpoints of the quad connecting two nodes of a stroke. /// The vertices of a quad are supposed to be clockwise with points A and D located /// on the begin node and B and C on the end one. /// internal struct Quad { #region Statics private static Quad s_empty = new Quad(new Point(0, 0), new Point(0, 0), new Point(0, 0), new Point(0, 0)); #endregion #region API ///Returns the static object representing an empty (unitialized) quad internal static Quad Empty { get { return s_empty; } } ///Constructor internal Quad(Point a, Point b, Point c, Point d) { _A = a; _B = b; _C = c; _D = d; } ///The A vertex of the quad internal Point A { get { return _A; } set { _A = value; } } ///The B vertex of the quad internal Point B { get { return _B; } set { _B = value; } } ///The C vertex of the quad internal Point C { get { return _C; } set { _C = value; } } ///The D vertex of the quad internal Point D { get { return _D; } set { _D = value; } } // Returns quad's vertex by index where A is of the index 0, B - is 1, etc internal Point this[int index] { get { switch (index) { case 0: return _A; case 1: return _B; case 2: return _C; case 3: return _D; default: throw new IndexOutOfRangeException("index"); } } } ///Tells whether the quad is invalid (empty) internal bool IsEmpty { get { return (_A == _B) && (_C == _D); } } internal void GetPoints(ListpointBuffer) { pointBuffer.Add(_A); pointBuffer.Add(_B); pointBuffer.Add(_C); pointBuffer.Add(_D); } /// Returns the bounds of the quad internal Rect Bounds { get { return IsEmpty ? Rect.Empty : Rect.Union(new Rect(_A, _B), new Rect(_C, _D)); } } #endregion #region Fields private Point _A; private Point _B; private Point _C; private Point _D; #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
- RC2CryptoServiceProvider.cs
- SqlDataSourceConfigureSelectPanel.cs
- RootNamespaceAttribute.cs
- FileInfo.cs
- RuntimeArgumentHandle.cs
- XmlSchemaAttributeGroupRef.cs
- CorrelationExtension.cs
- ScriptControlDescriptor.cs
- StoreContentChangedEventArgs.cs
- NativeCppClassAttribute.cs
- EndPoint.cs
- ClosableStream.cs
- TemplateKey.cs
- XmlEncoding.cs
- CodeGenerationManager.cs
- XPathNodePointer.cs
- SoapTransportImporter.cs
- SoapHelper.cs
- ComplexType.cs
- Library.cs
- RuleSettings.cs
- InfiniteTimeSpanConverter.cs
- ContextQuery.cs
- GenerateTemporaryTargetAssembly.cs
- RemoteWebConfigurationHost.cs
- DbParameterCollectionHelper.cs
- MessageQueueEnumerator.cs
- XmlSerializerAssemblyAttribute.cs
- NativeMethods.cs
- XsdDuration.cs
- precedingsibling.cs
- TextEvent.cs
- WebRequestModuleElementCollection.cs
- SectionInput.cs
- PrintingPermission.cs
- DetailsViewRow.cs
- PlatformNotSupportedException.cs
- CacheDependency.cs
- FormCollection.cs
- ServiceBehaviorAttribute.cs
- ObjectComplexPropertyMapping.cs
- TreeViewDesigner.cs
- sqlser.cs
- _UncName.cs
- PermissionToken.cs
- NullEntityWrapper.cs
- IIS7WorkerRequest.cs
- List.cs
- ItemCheckedEvent.cs
- SmtpAuthenticationManager.cs
- PictureBox.cs
- DropTarget.cs
- complextypematerializer.cs
- WebCategoryAttribute.cs
- SmuggledIUnknown.cs
- datacache.cs
- WebBrowserContainer.cs
- CancellationTokenSource.cs
- Dispatcher.cs
- DoWorkEventArgs.cs
- Identity.cs
- SoapIgnoreAttribute.cs
- HostingEnvironmentSection.cs
- recordstatescratchpad.cs
- Int32Storage.cs
- HttpCookiesSection.cs
- MemberJoinTreeNode.cs
- StrokeNode.cs
- SqlInternalConnectionTds.cs
- ConfigurationLocation.cs
- StrokeRenderer.cs
- PinnedBufferMemoryStream.cs
- KerberosRequestorSecurityToken.cs
- LockRecursionException.cs
- SerializationInfoEnumerator.cs
- Int16Converter.cs
- MailWebEventProvider.cs
- StreamSecurityUpgradeInitiator.cs
- bidPrivateBase.cs
- OdbcStatementHandle.cs
- SqlConnection.cs
- MoveSizeWinEventHandler.cs
- WSIdentityFaultException.cs
- TextAction.cs
- validation.cs
- coordinatorfactory.cs
- XPathNodeInfoAtom.cs
- HtmlHead.cs
- Int32CollectionConverter.cs
- XmlSiteMapProvider.cs
- KeyGesture.cs
- XsltContext.cs
- SmtpNetworkElement.cs
- TailPinnedEventArgs.cs
- SqlDataSourceCommandEventArgs.cs
- TextBlock.cs
- XmlElement.cs
- VirtualPath.cs
- WindowsTab.cs
- DateTimePicker.cs