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
- precedingquery.cs
- FormatterServices.cs
- ThreadTrace.cs
- LinkUtilities.cs
- SiteMapNodeItemEventArgs.cs
- PageHandlerFactory.cs
- PropertyDescriptorComparer.cs
- WmlListAdapter.cs
- ByteAnimationUsingKeyFrames.cs
- HScrollBar.cs
- _NestedMultipleAsyncResult.cs
- SqlUtil.cs
- FixedElement.cs
- SerializerDescriptor.cs
- KnowledgeBase.cs
- SqlDataSourceFilteringEventArgs.cs
- HtmlTableCell.cs
- IdentityNotMappedException.cs
- ContractBase.cs
- PropertyOverridesDialog.cs
- HttpFileCollection.cs
- DesignerValidationSummaryAdapter.cs
- AssemblyHash.cs
- PolyQuadraticBezierSegmentFigureLogic.cs
- SqlBinder.cs
- HttpConfigurationSystem.cs
- DataPagerFieldItem.cs
- HelpInfo.cs
- RSAPKCS1SignatureFormatter.cs
- SymLanguageType.cs
- ExeConfigurationFileMap.cs
- BaseDataBoundControl.cs
- BitHelper.cs
- SQLRoleProvider.cs
- HttpCookie.cs
- DoWorkEventArgs.cs
- SqlCacheDependency.cs
- DbExpressionRules.cs
- DropSource.cs
- TraceContext.cs
- PerformanceCounterTraceRecord.cs
- PageThemeBuildProvider.cs
- ReferenceConverter.cs
- SessionPageStateSection.cs
- TypedElement.cs
- VoiceObjectToken.cs
- ContextStack.cs
- Frame.cs
- DetailsViewPageEventArgs.cs
- InternalConfigRoot.cs
- TextContainerChangeEventArgs.cs
- MDIClient.cs
- FlatButtonAppearance.cs
- SecurityTokenTypes.cs
- ZipPackage.cs
- CallbackHandler.cs
- XsltException.cs
- Cursor.cs
- RootProfilePropertySettingsCollection.cs
- RuleInfoComparer.cs
- ThreadExceptionDialog.cs
- PopupControlService.cs
- InvalidDataException.cs
- _NetRes.cs
- UserInitiatedNavigationPermission.cs
- ConstructorBuilder.cs
- CodeGenerator.cs
- Listbox.cs
- DirectoryNotFoundException.cs
- ScriptingSectionGroup.cs
- UDPClient.cs
- URLIdentityPermission.cs
- ResourceType.cs
- HtmlControlPersistable.cs
- OleDbConnectionFactory.cs
- WizardPanel.cs
- Util.cs
- XsltConvert.cs
- HelpHtmlBuilder.cs
- BlurEffect.cs
- ResolveNameEventArgs.cs
- ListBox.cs
- objectresult_tresulttype.cs
- Section.cs
- LoginView.cs
- UIHelper.cs
- XmlSchemaSimpleTypeRestriction.cs
- ConfigurationFileMap.cs
- GlobalItem.cs
- InstanceValue.cs
- DLinqTableProvider.cs
- NamespaceDecl.cs
- DataGridViewCellFormattingEventArgs.cs
- UriScheme.cs
- PagePropertiesChangingEventArgs.cs
- CharacterShapingProperties.cs
- DataGridViewSortCompareEventArgs.cs
- XmlSchemaSimpleContent.cs
- XmlSchemaDocumentation.cs
- XPathNavigatorReader.cs