Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Core / CSharp / MS / Internal / Ink / Quad.cs / 1305600 / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- NegatedCellConstant.cs
- BinaryCommonClasses.cs
- ConnectorSelectionGlyph.cs
- SettingsBase.cs
- TextTrailingWordEllipsis.cs
- CompilerGeneratedAttribute.cs
- ThreadAbortException.cs
- VideoDrawing.cs
- Substitution.cs
- KnownBoxes.cs
- XPathSelfQuery.cs
- CommandField.cs
- HttpSocketManager.cs
- dbdatarecord.cs
- HttpModuleActionCollection.cs
- MdImport.cs
- ObfuscateAssemblyAttribute.cs
- AmbientLight.cs
- ISCIIEncoding.cs
- RouteItem.cs
- FrugalList.cs
- AttachmentService.cs
- ObjectViewEntityCollectionData.cs
- GridViewDeleteEventArgs.cs
- CultureInfoConverter.cs
- CompositeControl.cs
- BuildManager.cs
- DataGridViewToolTip.cs
- WebRequestModulesSection.cs
- BulletChrome.cs
- SafeCryptHandles.cs
- TypeSystemProvider.cs
- CompareInfo.cs
- WindowsRebar.cs
- XmlDocumentSerializer.cs
- SmiEventSink_Default.cs
- ValidationError.cs
- LineBreakRecord.cs
- Model3DGroup.cs
- ManagementObject.cs
- MultiSelectRootGridEntry.cs
- FixedSOMImage.cs
- Tokenizer.cs
- ArgumentNullException.cs
- HtmlImage.cs
- ContainerCodeDomSerializer.cs
- DataGridTable.cs
- serverconfig.cs
- ColorTransformHelper.cs
- MachineKeySection.cs
- PathSegmentCollection.cs
- LoginCancelEventArgs.cs
- HTMLTextWriter.cs
- TransferMode.cs
- PersonalizationState.cs
- _BaseOverlappedAsyncResult.cs
- COM2ColorConverter.cs
- AccessibleObject.cs
- NotifyIcon.cs
- QueryableDataSource.cs
- DocumentApplicationJournalEntry.cs
- PropertyDescriptorGridEntry.cs
- StringInfo.cs
- DelegatedStream.cs
- HtmlFormWrapper.cs
- _HeaderInfoTable.cs
- URL.cs
- FocusTracker.cs
- TokenBasedSetEnumerator.cs
- DbSetClause.cs
- RegisteredScript.cs
- WebControlParameterProxy.cs
- ApplicationHost.cs
- PlaceHolder.cs
- QuaternionAnimationUsingKeyFrames.cs
- basenumberconverter.cs
- InstanceOwnerQueryResult.cs
- _ConnectStream.cs
- BindingCollection.cs
- EditingCommands.cs
- RequestCachePolicyConverter.cs
- SoapCodeExporter.cs
- Tuple.cs
- SortQuery.cs
- QueryOperatorEnumerator.cs
- UIPropertyMetadata.cs
- Matrix.cs
- TabControlEvent.cs
- DebuggerAttributes.cs
- ProcessInputEventArgs.cs
- FontFaceLayoutInfo.cs
- Decoder.cs
- Encoder.cs
- ZipIORawDataFileBlock.cs
- MLangCodePageEncoding.cs
- DataTableClearEvent.cs
- CreateUserErrorEventArgs.cs
- AttributeCollection.cs
- ResourcePermissionBaseEntry.cs
- OrthographicCamera.cs