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
- TypePropertyEditor.cs
- WebBrowserEvent.cs
- RadioButton.cs
- FontStyleConverter.cs
- DataGridView.cs
- RegexCaptureCollection.cs
- MetadataAssemblyHelper.cs
- MetadataExchangeBindings.cs
- ModelItemDictionary.cs
- NameNode.cs
- DbConnectionPoolGroup.cs
- TimeoutTimer.cs
- OAVariantLib.cs
- NullableLongMinMaxAggregationOperator.cs
- PageThemeParser.cs
- SafeRightsManagementEnvironmentHandle.cs
- PointConverter.cs
- TypeDependencyAttribute.cs
- RawStylusInputReport.cs
- PnrpPeerResolver.cs
- MemoryFailPoint.cs
- CodeVariableReferenceExpression.cs
- DirectionalLight.cs
- XamlClipboardData.cs
- TdsParser.cs
- TraceProvider.cs
- DropShadowBitmapEffect.cs
- XmlFormatReaderGenerator.cs
- XmlQueryType.cs
- DocumentAutomationPeer.cs
- HMACSHA256.cs
- PassportAuthenticationModule.cs
- TemplateXamlTreeBuilder.cs
- securitymgrsite.cs
- OptimalBreakSession.cs
- XhtmlBasicControlAdapter.cs
- FileDetails.cs
- EventDescriptor.cs
- Lease.cs
- ListViewItem.cs
- DataGridViewCellCollection.cs
- Utilities.cs
- SqlResolver.cs
- ExpressionBinding.cs
- ApplicationDirectory.cs
- DispatcherTimer.cs
- TrustSection.cs
- Matrix.cs
- ResourceReferenceKeyNotFoundException.cs
- Underline.cs
- CodeTypeDeclaration.cs
- DataGridDefaultColumnWidthTypeConverter.cs
- DataControlCommands.cs
- XamlUtilities.cs
- QueryResult.cs
- ObjectStateManagerMetadata.cs
- NonVisualControlAttribute.cs
- WebDescriptionAttribute.cs
- DataGridColumnReorderingEventArgs.cs
- EntityProxyFactory.cs
- GridItem.cs
- oledbmetadatacollectionnames.cs
- DoWorkEventArgs.cs
- SortFieldComparer.cs
- LinqDataSourceHelper.cs
- COM2PictureConverter.cs
- CompoundFileStreamReference.cs
- EndpointDiscoveryMetadata11.cs
- TextTabProperties.cs
- httpserverutility.cs
- WsrmMessageInfo.cs
- NameValueFileSectionHandler.cs
- SoapExtensionTypeElementCollection.cs
- TypeSystem.cs
- AssemblyInfo.cs
- TableItemStyle.cs
- X509Utils.cs
- HttpWriter.cs
- SecurityTokenRequirement.cs
- Pts.cs
- TabletCollection.cs
- CategoryNameCollection.cs
- EntityDataSourceChangingEventArgs.cs
- BufferedGraphics.cs
- ClientSettingsStore.cs
- DataSourceCacheDurationConverter.cs
- DesignSurfaceManager.cs
- DataRelationPropertyDescriptor.cs
- Types.cs
- BitmapFrameEncode.cs
- ProcessInputEventArgs.cs
- Missing.cs
- PageStatePersister.cs
- AsnEncodedData.cs
- DiscoveryClientOutputChannel.cs
- DataSetMappper.cs
- InteropAutomationProvider.cs
- ViewStateException.cs
- DataGridColumnHeaderCollection.cs
- PropertyGridCommands.cs