Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / wpf / src / Core / CSharp / System / Windows / Media / QuadraticBezierSegment.cs / 1 / QuadraticBezierSegment.cs
//------------------------------------------------------------------------------ // Microsoft Avalon // Copyright (c) Microsoft Corporation, 2001 // // File: QuadraticBezierSegment.cs //----------------------------------------------------------------------------- using System; using MS.Internal; using MS.Internal.PresentationCore; using System.ComponentModel; using System.ComponentModel.Design.Serialization; using System.Reflection; using System.Collections; using System.Text; using System.Globalization; using System.Windows.Media; using System.Windows; using System.Text.RegularExpressions; using System.Windows.Media.Animation; using System.Windows.Media.Composition; using System.Diagnostics; using System.Security; using SR=MS.Internal.PresentationCore.SR; using SRID=MS.Internal.PresentationCore.SRID; namespace System.Windows.Media { ////// QuadraticBezierSegment /// public sealed partial class QuadraticBezierSegment : PathSegment { #region Constructors ////// /// public QuadraticBezierSegment() { } ////// /// public QuadraticBezierSegment(Point point1, Point point2, bool isStroked) { Point1 = point1; Point2 = point2; IsStroked = isStroked; } ////// /// internal QuadraticBezierSegment(Point point1, Point point2, bool isStroked, bool isSmoothJoin) { Point1 = point1; Point2 = point2; IsStroked = isStroked; IsSmoothJoin = isSmoothJoin; } #endregion #region AddToFigure internal override void AddToFigure( Matrix matrix, // The transformation matrid PathFigure figure, // The figure to add to ref Point current) // Out: Segment endpoint, not transformed { current = Point2; if (matrix.IsIdentity) { figure.Segments.Add(this); } else { Point pt1 = Point1; pt1 *= matrix; Point pt2 = current; pt2 *= matrix; figure.Segments.Add(new QuadraticBezierSegment(pt1, pt2, IsStroked, IsSmoothJoin)); } } #endregion #region Resource ////// SerializeData - Serialize the contents of this Segment to the provided context. /// internal override void SerializeData(StreamGeometryContext ctx) { ctx.QuadraticBezierTo(Point1, Point2, IsStroked, IsSmoothJoin); } #endregion internal override bool IsCurved() { return true; } ////// Creates a string representation of this object based on the format string /// and IFormatProvider passed in. /// If the provider is null, the CurrentCulture is used. /// See the documentation for IFormattable for more information. /// ////// A string representation of this object. /// internal override string ConvertToString(string format, IFormatProvider provider) { // Helper to get the numeric list separator for a given culture. char separator = MS.Internal.TokenizerHelper.GetNumericListSeparator(provider); return String.Format(provider, "Q{1:" + format + "}{0}{2:" + format + "}", separator, Point1, Point2); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. //------------------------------------------------------------------------------ // Microsoft Avalon // Copyright (c) Microsoft Corporation, 2001 // // File: QuadraticBezierSegment.cs //----------------------------------------------------------------------------- using System; using MS.Internal; using MS.Internal.PresentationCore; using System.ComponentModel; using System.ComponentModel.Design.Serialization; using System.Reflection; using System.Collections; using System.Text; using System.Globalization; using System.Windows.Media; using System.Windows; using System.Text.RegularExpressions; using System.Windows.Media.Animation; using System.Windows.Media.Composition; using System.Diagnostics; using System.Security; using SR=MS.Internal.PresentationCore.SR; using SRID=MS.Internal.PresentationCore.SRID; namespace System.Windows.Media { ////// QuadraticBezierSegment /// public sealed partial class QuadraticBezierSegment : PathSegment { #region Constructors ////// /// public QuadraticBezierSegment() { } ////// /// public QuadraticBezierSegment(Point point1, Point point2, bool isStroked) { Point1 = point1; Point2 = point2; IsStroked = isStroked; } ////// /// internal QuadraticBezierSegment(Point point1, Point point2, bool isStroked, bool isSmoothJoin) { Point1 = point1; Point2 = point2; IsStroked = isStroked; IsSmoothJoin = isSmoothJoin; } #endregion #region AddToFigure internal override void AddToFigure( Matrix matrix, // The transformation matrid PathFigure figure, // The figure to add to ref Point current) // Out: Segment endpoint, not transformed { current = Point2; if (matrix.IsIdentity) { figure.Segments.Add(this); } else { Point pt1 = Point1; pt1 *= matrix; Point pt2 = current; pt2 *= matrix; figure.Segments.Add(new QuadraticBezierSegment(pt1, pt2, IsStroked, IsSmoothJoin)); } } #endregion #region Resource ////// SerializeData - Serialize the contents of this Segment to the provided context. /// internal override void SerializeData(StreamGeometryContext ctx) { ctx.QuadraticBezierTo(Point1, Point2, IsStroked, IsSmoothJoin); } #endregion internal override bool IsCurved() { return true; } ////// Creates a string representation of this object based on the format string /// and IFormatProvider passed in. /// If the provider is null, the CurrentCulture is used. /// See the documentation for IFormattable for more information. /// ////// A string representation of this object. /// internal override string ConvertToString(string format, IFormatProvider provider) { // Helper to get the numeric list separator for a given culture. char separator = MS.Internal.TokenizerHelper.GetNumericListSeparator(provider); return String.Format(provider, "Q{1:" + format + "}{0}{2:" + format + "}", separator, Point1, Point2); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- EventLogger.cs
- GroupBoxAutomationPeer.cs
- _Semaphore.cs
- InkCanvasAutomationPeer.cs
- BridgeDataReader.cs
- GridViewColumnHeaderAutomationPeer.cs
- ThrowHelper.cs
- XmlQueryTypeFactory.cs
- ComponentResourceKeyConverter.cs
- UnsafeNativeMethods.cs
- DatatypeImplementation.cs
- BufferBuilder.cs
- XmlBinaryReader.cs
- TypeViewSchema.cs
- ObjectDataSourceEventArgs.cs
- TypeConstant.cs
- BindingCollection.cs
- CodeAttributeDeclarationCollection.cs
- UnicastIPAddressInformationCollection.cs
- InputLangChangeEvent.cs
- MonitorWrapper.cs
- ParallelLoopState.cs
- TargetInvocationException.cs
- WinCategoryAttribute.cs
- Inflater.cs
- SortedDictionary.cs
- PointAnimationUsingPath.cs
- WarningException.cs
- DataListCommandEventArgs.cs
- DBParameter.cs
- PenContext.cs
- HTMLTextWriter.cs
- StaticContext.cs
- SystemIPGlobalProperties.cs
- ToolStripSeparatorRenderEventArgs.cs
- TypeElementCollection.cs
- LayoutTable.cs
- DragEventArgs.cs
- VariableElement.cs
- XmlSchemaComplexContentRestriction.cs
- ParseHttpDate.cs
- UnlockInstanceCommand.cs
- WebSysDefaultValueAttribute.cs
- MonitoringDescriptionAttribute.cs
- MethodCallConverter.cs
- ForeignConstraint.cs
- SmiContextFactory.cs
- ReadWriteObjectLock.cs
- ConfigurationSectionCollection.cs
- QilTargetType.cs
- KoreanCalendar.cs
- SqlBooleanMismatchVisitor.cs
- Bookmark.cs
- HostDesigntimeLicenseContext.cs
- IUnknownConstantAttribute.cs
- SoapTypeAttribute.cs
- XpsPartBase.cs
- CanExecuteRoutedEventArgs.cs
- HttpFormatExtensions.cs
- AnonymousIdentificationModule.cs
- ReachSerializationUtils.cs
- FactoryGenerator.cs
- Stacktrace.cs
- DataColumnCollection.cs
- BaseDataListComponentEditor.cs
- ApplicationGesture.cs
- FloaterBaseParagraph.cs
- InlinedAggregationOperator.cs
- SqlComparer.cs
- MembershipSection.cs
- SafeViewOfFileHandle.cs
- RootNamespaceAttribute.cs
- ButtonBase.cs
- DigestComparer.cs
- ListControl.cs
- NegatedConstant.cs
- Opcode.cs
- HtmlDocument.cs
- ConstructorNeedsTagAttribute.cs
- AdRotator.cs
- DirtyTextRange.cs
- CapacityStreamGeometryContext.cs
- COM2PropertyDescriptor.cs
- TemplateBaseAction.cs
- InternalTypeHelper.cs
- GenericAuthenticationEventArgs.cs
- PermissionAttributes.cs
- EffectiveValueEntry.cs
- OperationContext.cs
- ContentPathSegment.cs
- BaseAsyncResult.cs
- ipaddressinformationcollection.cs
- TemplateGroupCollection.cs
- EdmItemError.cs
- BasePropertyDescriptor.cs
- CommonProperties.cs
- TextBoxRenderer.cs
- CharEnumerator.cs
- DisplayMemberTemplateSelector.cs
- ServiceObjectContainer.cs