Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / CommonUI / System / Drawing / Printing / PrinterUnitConvert.cs / 1407647 / PrinterUnitConvert.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Drawing.Printing { using System.Runtime.InteropServices; using System.Diagnostics; using System; using System.Drawing; using System.ComponentModel; using Microsoft.Win32; ////// /// public sealed class PrinterUnitConvert { private PrinterUnitConvert() { } ////// Specifies a series of conversion methods that are /// useful when interoperating with the raw Win32 printing API. /// This class cannot be inherited. /// ////// /// public static double Convert(double value, PrinterUnit fromUnit, PrinterUnit toUnit) { double fromUnitsPerDisplay = UnitsPerDisplay(fromUnit); double toUnitsPerDisplay = UnitsPerDisplay(toUnit); return value * toUnitsPerDisplay / fromUnitsPerDisplay; } ////// Converts the value, in fromUnit units, to toUnit units. /// ////// /// public static int Convert(int value, PrinterUnit fromUnit, PrinterUnit toUnit) { return(int) Math.Round(Convert((double)value, fromUnit, toUnit)); } ////// Converts the value, in fromUnit units, to toUnit units. /// ////// /// public static Point Convert(Point value, PrinterUnit fromUnit, PrinterUnit toUnit) { return new Point( Convert(value.X, fromUnit, toUnit), Convert(value.Y, fromUnit, toUnit) ); } ////// Converts the value, in fromUnit units, to toUnit units. /// ////// /// public static Size Convert(Size value, PrinterUnit fromUnit, PrinterUnit toUnit) { return new Size( Convert(value.Width, fromUnit, toUnit), Convert(value.Height, fromUnit, toUnit) ); } ////// Converts the value, in fromUnit units, to toUnit units. /// ////// /// public static Rectangle Convert(Rectangle value, PrinterUnit fromUnit, PrinterUnit toUnit) { return new Rectangle( Convert(value.X, fromUnit, toUnit), Convert(value.Y, fromUnit, toUnit), Convert(value.Width, fromUnit, toUnit), Convert(value.Height, fromUnit, toUnit) ); } ////// Converts the value, in fromUnit units, to toUnit units. /// ////// /// public static Margins Convert(Margins value, PrinterUnit fromUnit, PrinterUnit toUnit) { Margins result = new Margins(); result.DoubleLeft = Convert(value.DoubleLeft, fromUnit, toUnit); result.DoubleRight = Convert(value.DoubleRight, fromUnit, toUnit); result.DoubleTop = Convert(value.DoubleTop, fromUnit, toUnit); result.DoubleBottom = Convert(value.DoubleBottom, fromUnit, toUnit); return result; } private static double UnitsPerDisplay(PrinterUnit unit) { double result; switch (unit) { case PrinterUnit.Display: result = 1.0; break; case PrinterUnit.ThousandthsOfAnInch: result = 10.0; break; case PrinterUnit.HundredthsOfAMillimeter: result = 25.4; break; case PrinterUnit.TenthsOfAMillimeter: result = 2.54; break; default: Debug.Fail("Unknown PrinterUnit " + unit); result = 1.0; break; } return result; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ ///// Converts the value, in fromUnit units, to toUnit units. /// ///// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Drawing.Printing { using System.Runtime.InteropServices; using System.Diagnostics; using System; using System.Drawing; using System.ComponentModel; using Microsoft.Win32; ////// /// public sealed class PrinterUnitConvert { private PrinterUnitConvert() { } ////// Specifies a series of conversion methods that are /// useful when interoperating with the raw Win32 printing API. /// This class cannot be inherited. /// ////// /// public static double Convert(double value, PrinterUnit fromUnit, PrinterUnit toUnit) { double fromUnitsPerDisplay = UnitsPerDisplay(fromUnit); double toUnitsPerDisplay = UnitsPerDisplay(toUnit); return value * toUnitsPerDisplay / fromUnitsPerDisplay; } ////// Converts the value, in fromUnit units, to toUnit units. /// ////// /// public static int Convert(int value, PrinterUnit fromUnit, PrinterUnit toUnit) { return(int) Math.Round(Convert((double)value, fromUnit, toUnit)); } ////// Converts the value, in fromUnit units, to toUnit units. /// ////// /// public static Point Convert(Point value, PrinterUnit fromUnit, PrinterUnit toUnit) { return new Point( Convert(value.X, fromUnit, toUnit), Convert(value.Y, fromUnit, toUnit) ); } ////// Converts the value, in fromUnit units, to toUnit units. /// ////// /// public static Size Convert(Size value, PrinterUnit fromUnit, PrinterUnit toUnit) { return new Size( Convert(value.Width, fromUnit, toUnit), Convert(value.Height, fromUnit, toUnit) ); } ////// Converts the value, in fromUnit units, to toUnit units. /// ////// /// public static Rectangle Convert(Rectangle value, PrinterUnit fromUnit, PrinterUnit toUnit) { return new Rectangle( Convert(value.X, fromUnit, toUnit), Convert(value.Y, fromUnit, toUnit), Convert(value.Width, fromUnit, toUnit), Convert(value.Height, fromUnit, toUnit) ); } ////// Converts the value, in fromUnit units, to toUnit units. /// ////// /// public static Margins Convert(Margins value, PrinterUnit fromUnit, PrinterUnit toUnit) { Margins result = new Margins(); result.DoubleLeft = Convert(value.DoubleLeft, fromUnit, toUnit); result.DoubleRight = Convert(value.DoubleRight, fromUnit, toUnit); result.DoubleTop = Convert(value.DoubleTop, fromUnit, toUnit); result.DoubleBottom = Convert(value.DoubleBottom, fromUnit, toUnit); return result; } private static double UnitsPerDisplay(PrinterUnit unit) { double result; switch (unit) { case PrinterUnit.Display: result = 1.0; break; case PrinterUnit.ThousandthsOfAnInch: result = 10.0; break; case PrinterUnit.HundredthsOfAMillimeter: result = 25.4; break; case PrinterUnit.TenthsOfAMillimeter: result = 2.54; break; default: Debug.Fail("Unknown PrinterUnit " + unit); result = 1.0; break; } return result; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007./// Converts the value, in fromUnit units, to toUnit units. /// ///
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SafeNativeMethodsCLR.cs
- ReachUIElementCollectionSerializer.cs
- ImageListStreamer.cs
- ActivityMarkupSerializer.cs
- XmlAnyAttributeAttribute.cs
- ObfuscationAttribute.cs
- TypedDataSetSchemaImporterExtension.cs
- RoutingSection.cs
- VisualTreeHelper.cs
- Region.cs
- XmlDocumentSerializer.cs
- PriorityQueue.cs
- ColorAnimation.cs
- cookieexception.cs
- IUnknownConstantAttribute.cs
- SchemaComplexType.cs
- FrameworkRichTextComposition.cs
- TextBoxLine.cs
- RSACryptoServiceProvider.cs
- SpellerStatusTable.cs
- ExceptionUtil.cs
- Matrix3D.cs
- ObjectSet.cs
- AlternateView.cs
- _DomainName.cs
- ObjectTypeMapping.cs
- DataGridCellClipboardEventArgs.cs
- ProcessHostMapPath.cs
- BitmapDownload.cs
- HttpCacheVary.cs
- TemplateInstanceAttribute.cs
- CompositionAdorner.cs
- ItemChangedEventArgs.cs
- EncryptionUtility.cs
- LinqMaximalSubtreeNominator.cs
- PackUriHelper.cs
- StrokeNodeOperations.cs
- FamilyTypefaceCollection.cs
- DtcInterfaces.cs
- EncoderParameters.cs
- TdsEnums.cs
- LambdaCompiler.Unary.cs
- UTF7Encoding.cs
- ConditionalAttribute.cs
- TaskFormBase.cs
- SafeThemeHandle.cs
- SQLDoubleStorage.cs
- XmlNodeChangedEventArgs.cs
- WorkflowExecutor.cs
- CodeDefaultValueExpression.cs
- ContextDataSourceContextData.cs
- PingReply.cs
- Dump.cs
- safesecurityhelperavalon.cs
- TrimSurroundingWhitespaceAttribute.cs
- BeginEvent.cs
- TransformerConfigurationWizardBase.cs
- SignatureHelper.cs
- TextSerializer.cs
- BindingUtils.cs
- FrameworkReadOnlyPropertyMetadata.cs
- HScrollProperties.cs
- HtmlDocument.cs
- ResourceAttributes.cs
- CommonXSendMessage.cs
- DuplexChannelFactory.cs
- HatchBrush.cs
- StrokeNodeEnumerator.cs
- LinearKeyFrames.cs
- ImageSourceTypeConverter.cs
- StylusPointProperties.cs
- FormViewRow.cs
- SourceChangedEventArgs.cs
- DbParameterHelper.cs
- MimeObjectFactory.cs
- NullRuntimeConfig.cs
- SafeNativeMethods.cs
- DiscoveryDocumentSerializer.cs
- ExportOptions.cs
- Adorner.cs
- ResolvedKeyFrameEntry.cs
- OutOfMemoryException.cs
- CannotUnloadAppDomainException.cs
- BooleanKeyFrameCollection.cs
- WebPartUserCapability.cs
- ClientScriptItem.cs
- XmlNamespaceDeclarationsAttribute.cs
- WebPartDescription.cs
- CollectionViewProxy.cs
- NullPackagingPolicy.cs
- DbExpressionBuilder.cs
- DataListCommandEventArgs.cs
- Wildcard.cs
- WindowsStatusBar.cs
- BitmapData.cs
- PointLightBase.cs
- TimeSpanSecondsConverter.cs
- ContainerParaClient.cs
- wgx_exports.cs
- TraceHandlerErrorFormatter.cs