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
- RowUpdatedEventArgs.cs
- Light.cs
- ConfigXmlText.cs
- SubMenuStyleCollection.cs
- HealthMonitoringSection.cs
- ApplicationDirectory.cs
- TimerElapsedEvenArgs.cs
- XmlHierarchicalDataSourceView.cs
- FixedSOMTableCell.cs
- httpserverutility.cs
- ExecutorLocksHeldException.cs
- EvidenceBase.cs
- CorrelationManager.cs
- RawKeyboardInputReport.cs
- ModuleConfigurationInfo.cs
- WorkflowQueue.cs
- parserscommon.cs
- _SpnDictionary.cs
- IdnElement.cs
- LogicalMethodInfo.cs
- ObjectDataSourceDisposingEventArgs.cs
- WizardPanel.cs
- SecureConversationSecurityTokenParameters.cs
- DiagnosticTraceSource.cs
- ObjectDataProvider.cs
- TypeNameConverter.cs
- LocalIdKeyIdentifierClause.cs
- Rect3DValueSerializer.cs
- autovalidator.cs
- ConfigurationManagerHelper.cs
- XmlDigitalSignatureProcessor.cs
- DataGridViewCheckBoxColumn.cs
- Int64AnimationBase.cs
- NullReferenceException.cs
- RuntimeConfigLKG.cs
- DataGridViewCellMouseEventArgs.cs
- HttpInputStream.cs
- ReadOnlyObservableCollection.cs
- Int64Converter.cs
- SafeNativeMemoryHandle.cs
- XmlSecureResolver.cs
- Section.cs
- ConnectionOrientedTransportChannelFactory.cs
- EventSetterHandlerConverter.cs
- WebPartEditorApplyVerb.cs
- Menu.cs
- QueueNameHelper.cs
- _NestedMultipleAsyncResult.cs
- coordinatorscratchpad.cs
- AudioBase.cs
- HighContrastHelper.cs
- OleDbInfoMessageEvent.cs
- PropertiesTab.cs
- Highlights.cs
- BaseCodeDomTreeGenerator.cs
- CultureMapper.cs
- TemplateInstanceAttribute.cs
- TextRunCache.cs
- KeyValuePairs.cs
- ProviderConnectionPointCollection.cs
- KeyBinding.cs
- UpdatePanel.cs
- HealthMonitoringSection.cs
- Vector.cs
- IProvider.cs
- FormViewModeEventArgs.cs
- UpdatePanelTriggerCollection.cs
- PackagingUtilities.cs
- TextParagraphProperties.cs
- StandardRuntimeEnumValidatorAttribute.cs
- CompleteWizardStep.cs
- SecurityBindingElementImporter.cs
- XmlCompatibilityReader.cs
- DbException.cs
- Splitter.cs
- BitVector32.cs
- MemberRelationshipService.cs
- Page.cs
- FontStretchConverter.cs
- SoapServerMessage.cs
- HwndHost.cs
- TaskCanceledException.cs
- XmlSchemaSimpleContent.cs
- XmlEventCache.cs
- WebBrowserNavigatedEventHandler.cs
- HtmlFormWrapper.cs
- PassportAuthenticationModule.cs
- ReadOnlyDataSourceView.cs
- DataObjectFieldAttribute.cs
- CompoundFileIOPermission.cs
- DataPagerCommandEventArgs.cs
- InstallerTypeAttribute.cs
- OptionUsage.cs
- QuotedPrintableStream.cs
- HitTestDrawingContextWalker.cs
- PasswordBoxAutomationPeer.cs
- HwndSourceParameters.cs
- Track.cs
- PixelFormat.cs
- X509AsymmetricSecurityKey.cs