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
- ToolStripComboBox.cs
- RichTextBoxConstants.cs
- SchemaManager.cs
- DesignBindingPicker.cs
- SourceSwitch.cs
- HtmlInputControl.cs
- _LocalDataStoreMgr.cs
- ServiceOperationParameter.cs
- CompilerTypeWithParams.cs
- SqlUDTStorage.cs
- HtmlElementCollection.cs
- DataContractJsonSerializerOperationFormatter.cs
- BitmapEncoder.cs
- WindowsStartMenu.cs
- XmlNodeChangedEventArgs.cs
- DefaultDialogButtons.cs
- SiteMapProvider.cs
- Slider.cs
- SystemUdpStatistics.cs
- ObjectDataSource.cs
- LinqDataSourceHelper.cs
- EncoderParameter.cs
- Row.cs
- DispatcherFrame.cs
- CommandBindingCollection.cs
- PenContexts.cs
- RowVisual.cs
- EventWaitHandle.cs
- TextInfo.cs
- TcpAppDomainProtocolHandler.cs
- XmlDataProvider.cs
- TextCharacters.cs
- WebPartMenu.cs
- SizeConverter.cs
- ToolStripDropDownItem.cs
- VariableQuery.cs
- ModelPropertyDescriptor.cs
- QuestionEventArgs.cs
- DataServiceQuery.cs
- RelationshipNavigation.cs
- Set.cs
- DataRowView.cs
- EventQueueState.cs
- IdentitySection.cs
- TrackBar.cs
- SafeProcessHandle.cs
- TextPointer.cs
- AssertSection.cs
- CodeThrowExceptionStatement.cs
- HttpListenerPrefixCollection.cs
- COAUTHIDENTITY.cs
- safesecurityhelperavalon.cs
- SiteMapNode.cs
- FunctionImportMapping.ReturnTypeRenameMapping.cs
- ManipulationCompletedEventArgs.cs
- WrappedKeySecurityTokenParameters.cs
- InstanceNormalEvent.cs
- DesignerTextBoxAdapter.cs
- XmlAttributeAttribute.cs
- ArgIterator.cs
- LineInfo.cs
- ItemsControl.cs
- ContentPosition.cs
- FileNotFoundException.cs
- WebBrowserPermission.cs
- ListBoxItemWrapperAutomationPeer.cs
- Asn1IntegerConverter.cs
- ReachFixedDocumentSerializer.cs
- XpsFont.cs
- VolatileEnlistmentMultiplexing.cs
- DefaultValueAttribute.cs
- FrugalList.cs
- XmlSchemaComplexContentRestriction.cs
- ClientBase.cs
- Line.cs
- httpstaticobjectscollection.cs
- AvTraceFormat.cs
- DataGridViewRowContextMenuStripNeededEventArgs.cs
- EndpointDiscoveryBehavior.cs
- ProcessRequestArgs.cs
- UrlPropertyAttribute.cs
- VolatileResourceManager.cs
- UInt64.cs
- PictureBox.cs
- AddDataControlFieldDialog.cs
- connectionpool.cs
- CornerRadius.cs
- ColorTransformHelper.cs
- MembershipSection.cs
- UInt64Storage.cs
- ObjectViewEntityCollectionData.cs
- BitStream.cs
- Fonts.cs
- AnimatedTypeHelpers.cs
- GroupLabel.cs
- TimeManager.cs
- UnsettableComboBox.cs
- _AcceptOverlappedAsyncResult.cs
- CopyNamespacesAction.cs
- DataGridViewColumnDividerDoubleClickEventArgs.cs