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
- DoubleAnimationUsingKeyFrames.cs
- wgx_exports.cs
- GB18030Encoding.cs
- MimeBasePart.cs
- MessagingActivityHelper.cs
- RegexReplacement.cs
- TemplateBindingExpressionConverter.cs
- SQLDateTime.cs
- ViewSimplifier.cs
- CharAnimationUsingKeyFrames.cs
- SqlDataRecord.cs
- CompensatableTransactionScopeActivityDesigner.cs
- WinEventWrap.cs
- ListViewSortEventArgs.cs
- PeerService.cs
- SmtpNegotiateAuthenticationModule.cs
- SessionStateItemCollection.cs
- Matrix.cs
- ValidationRuleCollection.cs
- DataBinder.cs
- StatusBarPanelClickEvent.cs
- DataGridTablesFactory.cs
- Processor.cs
- DocumentApplication.cs
- PagesChangedEventArgs.cs
- CatalogPartDesigner.cs
- ToolStripDropDownClosedEventArgs.cs
- RuntimeConfig.cs
- PrintPreviewDialog.cs
- TextRange.cs
- IPAddressCollection.cs
- FormsAuthenticationUserCollection.cs
- StorageMappingItemLoader.cs
- Int16AnimationUsingKeyFrames.cs
- ActivityDesigner.cs
- NativeCompoundFileAPIs.cs
- TabPageDesigner.cs
- Wildcard.cs
- SQlBooleanStorage.cs
- IQueryable.cs
- AsyncOperation.cs
- NotifyCollectionChangedEventArgs.cs
- CompiledQuery.cs
- DataStreams.cs
- BaseTemplateCodeDomTreeGenerator.cs
- TypeUnloadedException.cs
- ManagementObjectSearcher.cs
- DrawingGroupDrawingContext.cs
- PeerCredentialElement.cs
- OptionUsage.cs
- SystemSounds.cs
- Root.cs
- ControlOperationInvoker.cs
- ClaimTypes.cs
- MarshalByValueComponent.cs
- Converter.cs
- CodeRemoveEventStatement.cs
- MetadataItemEmitter.cs
- LockCookie.cs
- _SpnDictionary.cs
- HtmlInputFile.cs
- AddInControllerImpl.cs
- PatternMatcher.cs
- NumberFormatter.cs
- RIPEMD160.cs
- InstanceCreationEditor.cs
- TypedElement.cs
- XmlTextReaderImplHelpers.cs
- ColumnWidthChangingEvent.cs
- TextBoxAutomationPeer.cs
- DoubleCollectionValueSerializer.cs
- PointF.cs
- IndicFontClient.cs
- DataServiceProviderMethods.cs
- DataExchangeServiceBinder.cs
- ComplexPropertyEntry.cs
- RegistryDataKey.cs
- EncodingNLS.cs
- RsaSecurityToken.cs
- IntSecurity.cs
- HtmlPageAdapter.cs
- SecurityElement.cs
- BaseCollection.cs
- TemplateNameScope.cs
- ValidationError.cs
- TimeSpanMinutesOrInfiniteConverter.cs
- DesignTimeParseData.cs
- SchemaType.cs
- UnSafeCharBuffer.cs
- WebPartConnectionsCancelVerb.cs
- CodeVariableReferenceExpression.cs
- JoinTreeSlot.cs
- MachineKeyConverter.cs
- Int16AnimationBase.cs
- XmlToDatasetMap.cs
- ExtenderProvidedPropertyAttribute.cs
- SQLUtility.cs
- SQLDecimal.cs
- SmtpLoginAuthenticationModule.cs
- AVElementHelper.cs