Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Core / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- NodeFunctions.cs
- TransferMode.cs
- BamlTreeNode.cs
- ChtmlTextWriter.cs
- UTF32Encoding.cs
- GifBitmapDecoder.cs
- Size.cs
- PointF.cs
- ClientSettingsSection.cs
- DrawingAttributeSerializer.cs
- DataGridViewDataConnection.cs
- AssertFilter.cs
- httpstaticobjectscollection.cs
- ColumnResult.cs
- InternalTypeHelper.cs
- PrimarySelectionAdorner.cs
- PointUtil.cs
- FixedTextView.cs
- Options.cs
- LocalizableAttribute.cs
- CodeChecksumPragma.cs
- XmlDeclaration.cs
- CompilationUtil.cs
- MDIControlStrip.cs
- StorageComplexPropertyMapping.cs
- PathGeometry.cs
- SchemaNotation.cs
- EntityModelBuildProvider.cs
- PartialCachingAttribute.cs
- GeometryValueSerializer.cs
- DataServiceClientException.cs
- UnconditionalPolicy.cs
- ButtonBase.cs
- IsolatedStorageFileStream.cs
- ActiveXHost.cs
- GlobalItem.cs
- XNodeValidator.cs
- FlatButtonAppearance.cs
- SpecialFolderEnumConverter.cs
- MessageSecurityException.cs
- LineBreakRecord.cs
- DefinitionBase.cs
- SystemWebSectionGroup.cs
- WindowsContainer.cs
- infer.cs
- FileSystemWatcher.cs
- ArgumentDirectionHelper.cs
- UnknownExceptionActionHelper.cs
- EntityContainerEmitter.cs
- WinFormsUtils.cs
- LocalBuilder.cs
- OleDbWrapper.cs
- FormViewCommandEventArgs.cs
- CredentialCache.cs
- XmlSerializationWriter.cs
- ToolStripManager.cs
- SmtpCommands.cs
- BadImageFormatException.cs
- Permission.cs
- LabelLiteral.cs
- WebPartConnectionsCancelEventArgs.cs
- RijndaelManagedTransform.cs
- DesignSurfaceCollection.cs
- FirstMatchCodeGroup.cs
- InputChannelAcceptor.cs
- SQLCharsStorage.cs
- Cursors.cs
- UpdateCompiler.cs
- HttpProfileGroupBase.cs
- ToolboxItemCollection.cs
- MouseEvent.cs
- FontConverter.cs
- EventWaitHandle.cs
- UIInitializationException.cs
- ClientFormsAuthenticationCredentials.cs
- HttpDebugHandler.cs
- SByteStorage.cs
- SlipBehavior.cs
- GridViewCancelEditEventArgs.cs
- BoundingRectTracker.cs
- RecommendedAsConfigurableAttribute.cs
- CodeArrayIndexerExpression.cs
- SimpleBitVector32.cs
- LinkLabelLinkClickedEvent.cs
- WriteLineDesigner.xaml.cs
- ListView.cs
- __Filters.cs
- BitmapEffectOutputConnector.cs
- ItemMap.cs
- FixedElement.cs
- NativeWindow.cs
- ProviderBase.cs
- AutomationElementIdentifiers.cs
- WebRequestModuleElement.cs
- DataControlLinkButton.cs
- DataGrid.cs
- SmtpNtlmAuthenticationModule.cs
- Profiler.cs
- DocumentViewer.cs
- KeyTimeConverter.cs