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
- EditorBrowsableAttribute.cs
- OrderedDictionary.cs
- TypeConverter.cs
- MetadataExporter.cs
- RepeatBehaviorConverter.cs
- ClientSettingsSection.cs
- ReadOnlyDictionary.cs
- SingleConverter.cs
- RequestCachingSection.cs
- ScriptingProfileServiceSection.cs
- NonVisualControlAttribute.cs
- ProxyHelper.cs
- LogicalExpr.cs
- PackageRelationshipCollection.cs
- ViewBase.cs
- WindowsAuthenticationModule.cs
- Validator.cs
- DoubleAnimation.cs
- ReservationNotFoundException.cs
- SqlConnectionString.cs
- HyperlinkAutomationPeer.cs
- CancelEventArgs.cs
- ConfigDefinitionUpdates.cs
- AssemblyHash.cs
- RawStylusInputCustomDataList.cs
- ProtocolsSection.cs
- MetadataCollection.cs
- BuildDependencySet.cs
- TabItemAutomationPeer.cs
- MediaEntryAttribute.cs
- SelectorAutomationPeer.cs
- UrlMappingCollection.cs
- ByteStreamGeometryContext.cs
- TypeTypeConverter.cs
- DataColumnMappingCollection.cs
- HasCopySemanticsAttribute.cs
- ThreadStaticAttribute.cs
- ConnectionsZone.cs
- XmlSchemaObjectCollection.cs
- MsmqBindingElementBase.cs
- OracleTransaction.cs
- Transform3D.cs
- FileRecordSequenceHelper.cs
- BitArray.cs
- StyleHelper.cs
- NavigationWindowAutomationPeer.cs
- SecurityState.cs
- QueryCacheKey.cs
- MenuTracker.cs
- XmlDataSourceView.cs
- QuaternionValueSerializer.cs
- XmlSequenceWriter.cs
- BindingExpressionUncommonField.cs
- DataGridViewCell.cs
- SqlEnums.cs
- QueryStringConverter.cs
- DataServices.cs
- UpdatePanelTriggerCollection.cs
- TextProperties.cs
- DocumentPageViewAutomationPeer.cs
- GenericWebPart.cs
- ErrorStyle.cs
- XmlValidatingReaderImpl.cs
- VSWCFServiceContractGenerator.cs
- InputManager.cs
- CodeDelegateCreateExpression.cs
- BrowserCapabilitiesCompiler.cs
- UnsafeNativeMethods.cs
- RuntimeResourceSet.cs
- MultiBindingExpression.cs
- TextServicesHost.cs
- RelationshipNavigation.cs
- ProvideValueServiceProvider.cs
- MembershipUser.cs
- RtfControls.cs
- ListDependantCardsRequest.cs
- DrawingImage.cs
- MexHttpsBindingCollectionElement.cs
- autovalidator.cs
- XPathPatternBuilder.cs
- AnchorEditor.cs
- ValidatedControlConverter.cs
- TableLayoutRowStyleCollection.cs
- CrossAppDomainChannel.cs
- TabControlEvent.cs
- ImageSource.cs
- Baml2006ReaderContext.cs
- QuaternionAnimationBase.cs
- InfiniteTimeSpanConverter.cs
- CapiNative.cs
- AxParameterData.cs
- Effect.cs
- HandlerFactoryWrapper.cs
- CheckBoxAutomationPeer.cs
- MTConfigUtil.cs
- ReferentialConstraintRoleElement.cs
- WorkItem.cs
- InputScope.cs
- InternalBase.cs
- AutoCompleteStringCollection.cs