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
- ApplicationSettingsBase.cs
- JapaneseLunisolarCalendar.cs
- SocketElement.cs
- RawUIStateInputReport.cs
- RelationshipWrapper.cs
- SortKey.cs
- DialogResultConverter.cs
- localization.cs
- WindowsUserNameSecurityTokenAuthenticator.cs
- DataGridComponentEditor.cs
- WebColorConverter.cs
- XPSSignatureDefinition.cs
- WindowsFormsHelpers.cs
- SqlDataRecord.cs
- ManagementObjectSearcher.cs
- FillBehavior.cs
- WebScriptEndpointElement.cs
- XmlTypeAttribute.cs
- RemoteDebugger.cs
- METAHEADER.cs
- NoneExcludedImageIndexConverter.cs
- SqlClientPermission.cs
- WebPartAddingEventArgs.cs
- SelectionProcessor.cs
- DataSetMappper.cs
- DbConnectionPool.cs
- ControlTemplate.cs
- WebServiceHostFactory.cs
- XPathScanner.cs
- SerializationEventsCache.cs
- ServerTooBusyException.cs
- DataGridTextBox.cs
- BoundingRectTracker.cs
- RoutedEventConverter.cs
- FlowLayout.cs
- TreeBuilderBamlTranslator.cs
- ProgressBarBrushConverter.cs
- Request.cs
- PersonalizationState.cs
- AutoCompleteStringCollection.cs
- IdentityReference.cs
- XmlSchemaAttribute.cs
- dataprotectionpermission.cs
- TypeExtension.cs
- RbTree.cs
- BitmapDownload.cs
- OleDbMetaDataFactory.cs
- WorkflowOperationBehavior.cs
- ListViewGroupItemCollection.cs
- UIElement.cs
- QilVisitor.cs
- Selector.cs
- BindingMAnagerBase.cs
- VisualProxy.cs
- PropertyItemInternal.cs
- DataException.cs
- SelectorItemAutomationPeer.cs
- BitmapEffectCollection.cs
- ElementInit.cs
- EventSourceCreationData.cs
- GradientSpreadMethodValidation.cs
- BindingOperations.cs
- WsdlWriter.cs
- CodeSubDirectory.cs
- RecognizedWordUnit.cs
- InstanceDescriptor.cs
- AccessControlList.cs
- LinkLabel.cs
- GeneralTransformGroup.cs
- CodeGen.cs
- WebPart.cs
- MarkupExtensionParser.cs
- ImageCreator.cs
- ConfigXmlReader.cs
- CodeNamespace.cs
- MailMessage.cs
- ValidatedControlConverter.cs
- WebPartConnectVerb.cs
- TransformerInfo.cs
- Vector3D.cs
- VisualStyleElement.cs
- MetaModel.cs
- SupportingTokenProviderSpecification.cs
- XamlSerializerUtil.cs
- MenuCommandService.cs
- GeneralTransformCollection.cs
- TextElementEditingBehaviorAttribute.cs
- FormatException.cs
- SchemaInfo.cs
- SchemaMerger.cs
- TokenFactoryBase.cs
- PeerNode.cs
- Label.cs
- HttpCapabilitiesEvaluator.cs
- PackageDigitalSignature.cs
- Type.cs
- AppDomainFactory.cs
- StatusCommandUI.cs
- DecimalAnimationUsingKeyFrames.cs
- DataRowExtensions.cs