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
- EditorZoneDesigner.cs
- EntryIndex.cs
- SqlComparer.cs
- ConfigXmlAttribute.cs
- _LoggingObject.cs
- VisualBrush.cs
- _SSPISessionCache.cs
- CodeDomSerializerException.cs
- ButtonBase.cs
- StringResourceManager.cs
- TextWriter.cs
- DSASignatureDeformatter.cs
- ValueSerializer.cs
- UnknownBitmapEncoder.cs
- OdbcException.cs
- CodePageEncoding.cs
- Argument.cs
- InputQueueChannelAcceptor.cs
- StyleXamlParser.cs
- StrictModeSecurityHeaderElementInferenceEngine.cs
- RootBuilder.cs
- InfiniteTimeSpanConverter.cs
- CopyNodeSetAction.cs
- ServiceEndpointElementCollection.cs
- DesignerDataColumn.cs
- Button.cs
- JpegBitmapDecoder.cs
- DataGridViewCellParsingEventArgs.cs
- DetailsViewDeleteEventArgs.cs
- ListSortDescriptionCollection.cs
- StylusPointPropertyInfoDefaults.cs
- EmbeddedObject.cs
- XmlJsonReader.cs
- keycontainerpermission.cs
- OciLobLocator.cs
- RecordBuilder.cs
- FieldAccessException.cs
- HashHelpers.cs
- UpdatableWrapper.cs
- DocumentOrderQuery.cs
- SimpleLine.cs
- Converter.cs
- FlatButtonAppearance.cs
- storepermission.cs
- SHA1.cs
- TextFindEngine.cs
- ToolStripPanelSelectionGlyph.cs
- DbConnectionHelper.cs
- DefaultBindingPropertyAttribute.cs
- DefaultValueTypeConverter.cs
- PreviewKeyDownEventArgs.cs
- LayoutDump.cs
- _Rfc2616CacheValidators.cs
- Rect3D.cs
- DataObjectEventArgs.cs
- SendMailErrorEventArgs.cs
- HijriCalendar.cs
- DataGridLinkButton.cs
- MD5.cs
- Repeater.cs
- DataGridViewImageCell.cs
- WebConfigurationHost.cs
- CustomError.cs
- TdsParameterSetter.cs
- SqlXml.cs
- MeshGeometry3D.cs
- HyperLinkField.cs
- NameValuePermission.cs
- Converter.cs
- GeometryGroup.cs
- SiteOfOriginContainer.cs
- MetafileHeaderWmf.cs
- QueryOutputWriter.cs
- SHA512Managed.cs
- BufferedReadStream.cs
- LinqDataSourceView.cs
- TemplateColumn.cs
- TextProviderWrapper.cs
- OdbcHandle.cs
- HtmlCalendarAdapter.cs
- Decimal.cs
- LinqDataSourceContextEventArgs.cs
- TextEditorSelection.cs
- AlignmentXValidation.cs
- DataGridViewColumnConverter.cs
- DefaultWorkflowTransactionService.cs
- ConsoleTraceListener.cs
- ISAPIWorkerRequest.cs
- BezierSegment.cs
- RoleGroupCollection.cs
- UInt16.cs
- TagPrefixAttribute.cs
- DynamicEntity.cs
- ConnectionStringsExpressionEditor.cs
- Line.cs
- SqlUserDefinedTypeAttribute.cs
- TokenBasedSet.cs
- XmlSchemaExternal.cs
- TimeSpanMinutesConverter.cs
- WindowsImpersonationContext.cs