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
- Transform.cs
- DataControlFieldHeaderCell.cs
- ProxyWebPartManager.cs
- Encoder.cs
- BlurEffect.cs
- Mappings.cs
- FixedDocumentPaginator.cs
- Content.cs
- OledbConnectionStringbuilder.cs
- EventData.cs
- TextFormatterHost.cs
- XamlPointCollectionSerializer.cs
- GridViewHeaderRowPresenterAutomationPeer.cs
- ParallelLoopState.cs
- ReadOnlyDictionary.cs
- RequestSecurityTokenResponse.cs
- OverflowException.cs
- AsymmetricAlgorithm.cs
- SecurityException.cs
- SqlDataAdapter.cs
- SHA384Managed.cs
- Msec.cs
- DoWorkEventArgs.cs
- FollowerQueueCreator.cs
- EventMappingSettingsCollection.cs
- Window.cs
- Pair.cs
- RowToFieldTransformer.cs
- DocumentSchemaValidator.cs
- ContractMapping.cs
- safemediahandle.cs
- SiteMapNode.cs
- WebRequestModuleElement.cs
- Transform.cs
- CodeAttributeArgumentCollection.cs
- InputLanguage.cs
- XPathMultyIterator.cs
- BitmapMetadataEnumerator.cs
- ScrollData.cs
- DelimitedListTraceListener.cs
- remotingproxy.cs
- HttpWebRequest.cs
- OdbcEnvironmentHandle.cs
- IndependentAnimationStorage.cs
- GeneralTransformGroup.cs
- AssemblyFilter.cs
- SerializerProvider.cs
- FormViewPageEventArgs.cs
- Timer.cs
- CheckableControlBaseAdapter.cs
- MonthChangedEventArgs.cs
- MsmqAppDomainProtocolHandler.cs
- SqlDataRecord.cs
- MediaPlayer.cs
- Int32RectConverter.cs
- Duration.cs
- ThumbAutomationPeer.cs
- ContentType.cs
- HtmlLink.cs
- ButtonColumn.cs
- FormattedText.cs
- PagePropertiesChangingEventArgs.cs
- TextSchema.cs
- BufferModeSettings.cs
- Menu.cs
- CustomLineCap.cs
- SqlUnionizer.cs
- FixedDocumentPaginator.cs
- FormViewUpdateEventArgs.cs
- PassportPrincipal.cs
- CompensatableSequenceActivity.cs
- MissingManifestResourceException.cs
- ConfigurationPropertyAttribute.cs
- SslStream.cs
- ServiceMetadataPublishingElement.cs
- StorageTypeMapping.cs
- WorkflowPageSetupDialog.cs
- DataGridToolTip.cs
- Buffer.cs
- designeractionbehavior.cs
- SqlReorderer.cs
- StrokeCollection.cs
- AVElementHelper.cs
- TransformValueSerializer.cs
- DbInsertCommandTree.cs
- DbCommandTree.cs
- AddInStore.cs
- ObjectViewQueryResultData.cs
- SvcFileManager.cs
- TouchesCapturedWithinProperty.cs
- XmlnsCache.cs
- LoginCancelEventArgs.cs
- WindowsTooltip.cs
- ServiceModelDictionary.cs
- InteropBitmapSource.cs
- cookiecontainer.cs
- HttpCookieCollection.cs
- _AutoWebProxyScriptEngine.cs
- MouseGestureConverter.cs
- DbBuffer.cs