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
- ZoneLinkButton.cs
- TextRange.cs
- FunctionQuery.cs
- MemoryPressure.cs
- TextBoxLine.cs
- ByteStack.cs
- MenuRendererClassic.cs
- IApplicationTrustManager.cs
- ProfileInfo.cs
- ServiceTimeoutsBehavior.cs
- UDPClient.cs
- SegmentInfo.cs
- NotCondition.cs
- AssociationSet.cs
- InternalPermissions.cs
- DispatcherHookEventArgs.cs
- mansign.cs
- XmlSerializerSection.cs
- DownloadProgressEventArgs.cs
- SafeArrayRankMismatchException.cs
- ViewCellRelation.cs
- BindingRestrictions.cs
- ContentDisposition.cs
- DetailsViewPagerRow.cs
- ListBoxItemWrapperAutomationPeer.cs
- DataRelation.cs
- TreeNodeClickEventArgs.cs
- FunctionDefinition.cs
- SystemIcmpV6Statistics.cs
- OdbcEnvironment.cs
- WhitespaceRuleReader.cs
- PersonalizableAttribute.cs
- Vertex.cs
- LinkGrep.cs
- HMACSHA512.cs
- RelationshipWrapper.cs
- SizeFConverter.cs
- PerspectiveCamera.cs
- FileStream.cs
- SqlConnection.cs
- _DigestClient.cs
- SqlBulkCopyColumnMappingCollection.cs
- XMLSchema.cs
- AssemblyHelper.cs
- NativeRightsManagementAPIsStructures.cs
- ObjectDataSourceDisposingEventArgs.cs
- RSAOAEPKeyExchangeFormatter.cs
- Missing.cs
- ImageFormatConverter.cs
- IsolatedStorageFilePermission.cs
- WindowsScrollBar.cs
- Semaphore.cs
- WriteLineDesigner.xaml.cs
- SelectionChangedEventArgs.cs
- EditorPartDesigner.cs
- ProgressBar.cs
- SatelliteContractVersionAttribute.cs
- SoapReflectionImporter.cs
- FilterQuery.cs
- SmtpFailedRecipientsException.cs
- TextEditor.cs
- NamespaceEmitter.cs
- AstNode.cs
- SyncOperationState.cs
- TypedRowHandler.cs
- WebPartExportVerb.cs
- ListenerElementsCollection.cs
- WebResourceAttribute.cs
- WebHostScriptMappingsInstallComponent.cs
- ColorInterpolationModeValidation.cs
- EnumerableCollectionView.cs
- InkPresenter.cs
- ScrollBar.cs
- _SSPISessionCache.cs
- ReferenceConverter.cs
- LedgerEntry.cs
- ServiceDescriptionSerializer.cs
- TypeUsageBuilder.cs
- FrameworkElementFactory.cs
- CapabilitiesRule.cs
- SelectQueryOperator.cs
- Transform3D.cs
- Simplifier.cs
- ThreadAbortException.cs
- FakeModelItemImpl.cs
- SqlNode.cs
- RowToFieldTransformer.cs
- StreamUpdate.cs
- CodeMemberProperty.cs
- JsonWriter.cs
- COM2IVsPerPropertyBrowsingHandler.cs
- LinqDataSourceUpdateEventArgs.cs
- ScrollItemPatternIdentifiers.cs
- ContentElement.cs
- LockRenewalTask.cs
- Policy.cs
- PersonalizationProviderHelper.cs
- SEHException.cs
- FormViewDeleteEventArgs.cs
- x509store.cs