Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / fx / src / CommonUI / System / Drawing / Printing / PrinterUnitConvert.cs / 1 / 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.Left = Convert(value.Left, fromUnit, toUnit); result.Right = Convert(value.Right, fromUnit, toUnit); result.Top = Convert(value.Top, fromUnit, toUnit); result.Bottom = Convert(value.Bottom, 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.Left = Convert(value.Left, fromUnit, toUnit); result.Right = Convert(value.Right, fromUnit, toUnit); result.Top = Convert(value.Top, fromUnit, toUnit); result.Bottom = Convert(value.Bottom, 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
- Utils.cs
- AppModelKnownContentFactory.cs
- _SSPISessionCache.cs
- MappingMetadataHelper.cs
- WindowsListViewGroupHelper.cs
- CodePropertyReferenceExpression.cs
- TextTreeTextBlock.cs
- HttpModuleCollection.cs
- DataGridViewBindingCompleteEventArgs.cs
- SHA384Managed.cs
- DataGridViewImageCell.cs
- Span.cs
- SamlDoNotCacheCondition.cs
- ClientFormsIdentity.cs
- XmlDataImplementation.cs
- NativeMethods.cs
- TokenFactoryCredential.cs
- XmlSchemaObjectCollection.cs
- OleDbDataReader.cs
- smtpconnection.cs
- IconBitmapDecoder.cs
- DateTimeFormatInfoScanner.cs
- SafeLibraryHandle.cs
- WMIInterop.cs
- IndexedDataBuffer.cs
- EndPoint.cs
- TreeNode.cs
- ListItemConverter.cs
- EvidenceTypeDescriptor.cs
- GridViewDeleteEventArgs.cs
- TrimSurroundingWhitespaceAttribute.cs
- X509Certificate.cs
- InputLanguage.cs
- ManualResetEvent.cs
- DetailsViewPageEventArgs.cs
- ScrollableControlDesigner.cs
- BatchStream.cs
- FormsAuthenticationEventArgs.cs
- xml.cs
- Image.cs
- NativeWrapper.cs
- UserThread.cs
- ResourceSet.cs
- WorkflowDefinitionContext.cs
- TextTreePropertyUndoUnit.cs
- Speller.cs
- DataServiceQueryProvider.cs
- WebPartsSection.cs
- MemoryStream.cs
- SqlDataSourceAdvancedOptionsForm.cs
- CustomGrammar.cs
- OrCondition.cs
- TagMapCollection.cs
- NetworkInterface.cs
- SerialPinChanges.cs
- RijndaelManagedTransform.cs
- SortQueryOperator.cs
- Emitter.cs
- ExpressionLink.cs
- XmlToDatasetMap.cs
- NamespaceEmitter.cs
- TerminatorSinks.cs
- PageAdapter.cs
- WorkflowMarkupSerializerMapping.cs
- messageonlyhwndwrapper.cs
- NativeMethods.cs
- ConfigXmlComment.cs
- ObjectHandle.cs
- CustomErrorsSection.cs
- WriteableBitmap.cs
- RegionInfo.cs
- RubberbandSelector.cs
- EdmFunction.cs
- WeakReference.cs
- FileFormatException.cs
- TextDecorationCollectionConverter.cs
- TextTrailingWordEllipsis.cs
- EventSetter.cs
- mda.cs
- UpdateCompiler.cs
- IdentityHolder.cs
- RuleSettingsCollection.cs
- ReachFixedDocumentSerializer.cs
- TextPatternIdentifiers.cs
- DataListItem.cs
- URL.cs
- FilteredReadOnlyMetadataCollection.cs
- XmlSerializer.cs
- AncestorChangedEventArgs.cs
- ConcurrentQueue.cs
- BlobPersonalizationState.cs
- ActivityMarkupSerializationProvider.cs
- WebPartPersonalization.cs
- PiiTraceSource.cs
- DriveInfo.cs
- ReadOnlyDictionary.cs
- TemplateKey.cs
- EventLogPermissionEntryCollection.cs
- ProviderException.cs
- BasicCommandTreeVisitor.cs