Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Core / System / Windows / Media / BezierSegment.cs / 1 / BezierSegment.cs
//------------------------------------------------------------------------------ // Microsoft Avalon // Copyright (c) Microsoft Corporation, 2001 // // File: BezierSegment.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.Composition; using System.Windows.Media.Animation; using System.Diagnostics; using System.Security; using System.Security.Permissions; using SR=MS.Internal.PresentationCore.SR; using SRID=MS.Internal.PresentationCore.SRID; namespace System.Windows.Media { ////// BezierSegment /// public sealed partial class BezierSegment : PathSegment { #region Constructors ////// /// public BezierSegment() : base() { } ////// /// public BezierSegment(Point point1, Point point2, Point point3, bool isStroked) { Point1 = point1; Point2 = point2; Point3 = point3; IsStroked = isStroked; } // Internal constructor supporting smooth joins between segments internal BezierSegment(Point point1, Point point2, Point point3, bool isStroked, bool isSmoothJoin) { Point1 = point1; Point2 = point2; Point3 = point3; 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 = Point3; if (matrix.IsIdentity) { figure.Segments.Add(this); } else { Point pt1 = Point1; pt1 *= matrix; Point pt2 = Point2; pt2 *= matrix; Point pt3 = current; pt3 *= matrix; figure.Segments.Add(new BezierSegment(pt1, pt2, pt3, IsStroked, IsSmoothJoin)); } } #endregion #region Resource ////// SerializeData - Serialize the contents of this Segment to the provided context. /// internal override void SerializeData(StreamGeometryContext ctx) { ctx.BezierTo(Point1, Point2, Point3, IsStroked, IsSmoothJoin); } 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, "C{1:" + format + "}{0}{2:" + format + "}{0}{3:" + format + "}", separator, Point1, Point2, Point3 ); } #endregion } } // 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
- RuleSettingsCollection.cs
- EncodedStreamFactory.cs
- GlobalProxySelection.cs
- TcpProcessProtocolHandler.cs
- DocumentGridPage.cs
- GcHandle.cs
- MailMessageEventArgs.cs
- CompoundFileIOPermission.cs
- SelectorAutomationPeer.cs
- TransformerConfigurationWizardBase.cs
- HostingEnvironmentWrapper.cs
- LayoutEditorPart.cs
- TaskbarItemInfo.cs
- StrongNameMembershipCondition.cs
- TextClipboardData.cs
- DataGridViewRowErrorTextNeededEventArgs.cs
- ConnectionProviderAttribute.cs
- ButtonField.cs
- DataRowCollection.cs
- Events.cs
- ServiceNotStartedException.cs
- HorizontalAlignConverter.cs
- BrushValueSerializer.cs
- ObjectIDGenerator.cs
- Geometry3D.cs
- LiteralDesigner.cs
- ScalarType.cs
- AdvancedBindingEditor.cs
- EntityDataSourceChangingEventArgs.cs
- ApplicationProxyInternal.cs
- UnaryExpression.cs
- EnumBuilder.cs
- FilePrompt.cs
- Marshal.cs
- WinHttpWebProxyFinder.cs
- HttpPostClientProtocol.cs
- DrawingServices.cs
- PhysicalFontFamily.cs
- MultiBindingExpression.cs
- Line.cs
- oledbmetadatacolumnnames.cs
- SafeSystemMetrics.cs
- FunctionUpdateCommand.cs
- ProfileService.cs
- StrongNameUtility.cs
- X509CertificateTrustedIssuerElementCollection.cs
- DataViewManagerListItemTypeDescriptor.cs
- ReflectTypeDescriptionProvider.cs
- bidPrivateBase.cs
- TargetControlTypeAttribute.cs
- PageStatePersister.cs
- ObjectManager.cs
- DataBindingCollectionConverter.cs
- FileFormatException.cs
- XmlSchemaComplexContent.cs
- X509LogoTypeExtension.cs
- ConfigurationPermission.cs
- NetCodeGroup.cs
- WindowsFormsHost.cs
- ItemCheckEvent.cs
- LayoutEvent.cs
- TextEditorLists.cs
- ViewValidator.cs
- ViewLoader.cs
- TabItemAutomationPeer.cs
- RegexWorker.cs
- BamlLocalizerErrorNotifyEventArgs.cs
- ErrorLog.cs
- NotifyCollectionChangedEventArgs.cs
- UnauthorizedAccessException.cs
- _NetRes.cs
- XmlSchemaSimpleContent.cs
- OutputCacheProfileCollection.cs
- SecurityContextSecurityTokenParameters.cs
- SqlTypesSchemaImporter.cs
- SystemIcmpV6Statistics.cs
- __Filters.cs
- RequestContextBase.cs
- BrowserCapabilitiesCompiler.cs
- WebPartDisplayModeEventArgs.cs
- SqlNodeAnnotation.cs
- TextServicesPropertyRanges.cs
- ChannelManager.cs
- DateTimeAutomationPeer.cs
- WrapPanel.cs
- XPathAxisIterator.cs
- StorageEntityTypeMapping.cs
- MobileTextWriter.cs
- CodeGotoStatement.cs
- DeviceContexts.cs
- Ray3DHitTestResult.cs
- XsltConvert.cs
- PersonalizationStateInfoCollection.cs
- HttpListenerRequest.cs
- DetailsView.cs
- XmlNamespaceManager.cs
- IncrementalHitTester.cs
- Preprocessor.cs
- LinkUtilities.cs
- ApplicationId.cs