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
- MethodInfo.cs
- ThaiBuddhistCalendar.cs
- WebPartManagerInternals.cs
- RoleGroup.cs
- CodeCompileUnit.cs
- StringUtil.cs
- ConfigXmlAttribute.cs
- ControlUtil.cs
- RuleProcessor.cs
- ProxyWebPart.cs
- Match.cs
- OracleConnectionString.cs
- HostingMessageProperty.cs
- Clipboard.cs
- DataGridTablesFactory.cs
- ToolStripPanelDesigner.cs
- ColumnReorderedEventArgs.cs
- SignedXml.cs
- XmlEventCache.cs
- TdsRecordBufferSetter.cs
- SharedPerformanceCounter.cs
- EventInfo.cs
- MimeTypeMapper.cs
- HttpProfileGroupBase.cs
- Logging.cs
- WebPartConnectionsDisconnectVerb.cs
- ModuleElement.cs
- CurrentTimeZone.cs
- DotNetATv1WindowsLogEntrySerializer.cs
- DescendentsWalker.cs
- TextWriter.cs
- WebPartAddingEventArgs.cs
- FormViewRow.cs
- DataGridViewCellPaintingEventArgs.cs
- ActivityAction.cs
- DetailsViewPagerRow.cs
- ObjectHandle.cs
- RowsCopiedEventArgs.cs
- WebUtil.cs
- Permission.cs
- RuleSettings.cs
- WebDisplayNameAttribute.cs
- MethodToken.cs
- CreateUserErrorEventArgs.cs
- NullableConverter.cs
- StrokeNodeOperations2.cs
- ColorConvertedBitmap.cs
- HtmlControl.cs
- XamlPointCollectionSerializer.cs
- PagedControl.cs
- CultureTable.cs
- IdleTimeoutMonitor.cs
- CodeDirectiveCollection.cs
- ProfileParameter.cs
- TagMapCollection.cs
- BitFlagsGenerator.cs
- TypeValidationEventArgs.cs
- StoreItemCollection.Loader.cs
- KnowledgeBase.cs
- AttributeProviderAttribute.cs
- SQLSingleStorage.cs
- TemplateXamlParser.cs
- XmlAnyElementAttribute.cs
- SqlBulkCopyColumnMappingCollection.cs
- PointConverter.cs
- DataGridBoundColumn.cs
- EntityCommand.cs
- ProcessThreadCollection.cs
- RegexGroup.cs
- SQLSingle.cs
- ApplicationTrust.cs
- ConsumerConnectionPointCollection.cs
- BinaryObjectInfo.cs
- EnumValAlphaComparer.cs
- ScriptingAuthenticationServiceSection.cs
- ScriptResourceInfo.cs
- SystemIcmpV4Statistics.cs
- FunctionImportElement.cs
- RegistrationServices.cs
- TriggerCollection.cs
- PackUriHelper.cs
- BindingOperations.cs
- Maps.cs
- XamlToRtfWriter.cs
- ConfigurationValidatorBase.cs
- GradientStop.cs
- BitmapEncoder.cs
- SQLInt64.cs
- ForceCopyBuildProvider.cs
- VisualBasicExpressionConverter.cs
- TransportChannelFactory.cs
- ControlPaint.cs
- CapiNative.cs
- PerfCounters.cs
- StorageComplexPropertyMapping.cs
- TextWriterTraceListener.cs
- BindingCompleteEventArgs.cs
- AsymmetricSignatureFormatter.cs
- KeyBinding.cs
- NotifyParentPropertyAttribute.cs