Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Core / CSharp / System / Windows / Media / QuadraticBezierSegment.cs / 1305600 / 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
- ResourceDescriptionAttribute.cs
- SizeFConverter.cs
- TraceHwndHost.cs
- XmlEncodedRawTextWriter.cs
- SqlUtil.cs
- ToolBarButtonClickEvent.cs
- FunctionUpdateCommand.cs
- ProxyWebPartManagerDesigner.cs
- ConnectionConsumerAttribute.cs
- LocalTransaction.cs
- BooleanAnimationUsingKeyFrames.cs
- BindStream.cs
- TableDesigner.cs
- RoutingBehavior.cs
- QueueProcessor.cs
- ObjectAnimationUsingKeyFrames.cs
- CodeTypeMemberCollection.cs
- TextSimpleMarkerProperties.cs
- Int64Converter.cs
- DataViewSettingCollection.cs
- Baml2006ReaderSettings.cs
- XmlRawWriter.cs
- MoveSizeWinEventHandler.cs
- SqlDataSourceCache.cs
- SiblingIterators.cs
- SchemaMerger.cs
- ELinqQueryState.cs
- ClassImporter.cs
- WebServicesInteroperability.cs
- MimeObjectFactory.cs
- KnownBoxes.cs
- XsdBuilder.cs
- NativeCppClassAttribute.cs
- DataServiceException.cs
- Keywords.cs
- ConfigurationValidatorBase.cs
- CornerRadius.cs
- StyleCollectionEditor.cs
- PeerNearMe.cs
- SqlConnectionString.cs
- GridSplitterAutomationPeer.cs
- DocumentViewerHelper.cs
- CompoundFileIOPermission.cs
- SqlEnums.cs
- CryptoConfig.cs
- TraceSource.cs
- ExtensionWindowHeader.cs
- System.Data.OracleClient_BID.cs
- XmlEntityReference.cs
- SqlWebEventProvider.cs
- PocoEntityKeyStrategy.cs
- AddInActivator.cs
- DetailsViewDeletedEventArgs.cs
- CompensationParticipant.cs
- Figure.cs
- CatalogZoneAutoFormat.cs
- OperationPerformanceCounters.cs
- RubberbandSelector.cs
- LineGeometry.cs
- RadioButtonList.cs
- NotConverter.cs
- PaginationProgressEventArgs.cs
- WebServiceAttribute.cs
- DocumentViewerHelper.cs
- Int32KeyFrameCollection.cs
- DataGridViewRowHeaderCell.cs
- KeyPressEvent.cs
- XmlCharType.cs
- StructuredCompositeActivityDesigner.cs
- DescendantBaseQuery.cs
- DrawingGroup.cs
- OneToOneMappingSerializer.cs
- PixelFormat.cs
- RegexMatch.cs
- HttpListener.cs
- CompositeDuplexBindingElementImporter.cs
- DataPagerField.cs
- DataView.cs
- _NTAuthentication.cs
- KeyedHashAlgorithm.cs
- UnauthorizedAccessException.cs
- ResXResourceWriter.cs
- FormatterConverter.cs
- CommandSet.cs
- SessionStateUtil.cs
- PolygonHotSpot.cs
- BaseCodeDomTreeGenerator.cs
- Drawing.cs
- WindowsFormsSectionHandler.cs
- ResourceKey.cs
- WindowVisualStateTracker.cs
- DrawingContextWalker.cs
- StringComparer.cs
- CustomValidator.cs
- KeyValuePairs.cs
- HtmlSelect.cs
- JoinSymbol.cs
- ListBox.cs
- TypeConstant.cs
- PrintPreviewGraphics.cs