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 / 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
- QueryBranchOp.cs
- Solver.cs
- ClientRuntimeConfig.cs
- RSAOAEPKeyExchangeDeformatter.cs
- PasswordDeriveBytes.cs
- errorpatternmatcher.cs
- _BasicClient.cs
- UserControlCodeDomTreeGenerator.cs
- NamedPermissionSet.cs
- MenuItem.cs
- FormsAuthenticationCredentials.cs
- ByteAnimation.cs
- WebPartConnection.cs
- SqlCacheDependencyDatabaseCollection.cs
- ListControlStringCollectionEditor.cs
- ForceCopyBuildProvider.cs
- IWorkflowDebuggerService.cs
- TypeToken.cs
- WindowsRebar.cs
- UIntPtr.cs
- UntrustedRecipientException.cs
- MULTI_QI.cs
- XmlSchemaAppInfo.cs
- OleStrCAMarshaler.cs
- UrlMapping.cs
- ModelMemberCollection.cs
- DiscoveryClientDocuments.cs
- BookmarkScopeHandle.cs
- unsafenativemethodstextservices.cs
- RTTrackingProfile.cs
- TextBoxAutomationPeer.cs
- ResolvedKeyFrameEntry.cs
- UriScheme.cs
- IPAddress.cs
- HitTestParameters.cs
- PostBackTrigger.cs
- SendAgentStatusRequest.cs
- StringAttributeCollection.cs
- CounterSample.cs
- RequestCacheManager.cs
- NetworkInterface.cs
- JournalEntryListConverter.cs
- StructuredType.cs
- WebPartMovingEventArgs.cs
- HtmlTableCell.cs
- AutoResizedEvent.cs
- FontFamily.cs
- XmlImplementation.cs
- ConnectionString.cs
- NetNamedPipeSecurity.cs
- CharacterMetricsDictionary.cs
- FontResourceCache.cs
- OleDbCommand.cs
- ScriptControlDescriptor.cs
- PropertyEntry.cs
- ComponentDesigner.cs
- BufferedGraphicsManager.cs
- FormatConvertedBitmap.cs
- DataRelationPropertyDescriptor.cs
- BookmarkTable.cs
- SqlUtils.cs
- GlyphCache.cs
- PageWrapper.cs
- StylusPointPropertyInfoDefaults.cs
- ListView.cs
- KeyValueConfigurationCollection.cs
- RedirectionProxy.cs
- ZipIOFileItemStream.cs
- RelationshipWrapper.cs
- CachedFontFace.cs
- DtdParser.cs
- _ConnectStream.cs
- ConstrainedDataObject.cs
- GeneralTransform3DGroup.cs
- SafeNativeMethods.cs
- ServiceNameCollection.cs
- PersonalizationStateQuery.cs
- SoapSchemaExporter.cs
- BoundPropertyEntry.cs
- DetailsViewCommandEventArgs.cs
- ConfigXmlWhitespace.cs
- EntityDataSourceWrapper.cs
- _CommandStream.cs
- MatrixAnimationUsingKeyFrames.cs
- Marshal.cs
- CreatingCookieEventArgs.cs
- SafeEventLogWriteHandle.cs
- ExecutionProperties.cs
- DataGridViewCellPaintingEventArgs.cs
- DataGridViewSortCompareEventArgs.cs
- ComponentChangedEvent.cs
- HttpCookieCollection.cs
- DrawingAttributesDefaultValueFactory.cs
- WebServiceErrorEvent.cs
- XmlAttributeOverrides.cs
- PeerCollaborationPermission.cs
- DataServiceBehavior.cs
- ExpressionBinding.cs
- ObjRef.cs
- VersionPair.cs