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
- TypeListConverter.cs
- Terminate.cs
- DataGridTextBoxColumn.cs
- CacheSection.cs
- Transform3D.cs
- DtrList.cs
- WorkflowInlining.cs
- RootBuilder.cs
- MobileControlBuilder.cs
- TransactionManager.cs
- FacetDescriptionElement.cs
- ToolboxItemCollection.cs
- UserControlCodeDomTreeGenerator.cs
- SafeEventLogReadHandle.cs
- NamedPipeHostedTransportConfiguration.cs
- TextTrailingCharacterEllipsis.cs
- ACE.cs
- ConnectionStringSettingsCollection.cs
- ListViewDeletedEventArgs.cs
- Rect3D.cs
- PropertyRef.cs
- ValidationResult.cs
- MessageProtectionOrder.cs
- DocumentPageViewAutomationPeer.cs
- xdrvalidator.cs
- SignatureResourcePool.cs
- ObjectItemAssemblyLoader.cs
- RequestTimeoutManager.cs
- ProtectedConfigurationProviderCollection.cs
- EncodingInfo.cs
- RequestDescription.cs
- SectionInput.cs
- MenuItemStyle.cs
- ZipFileInfo.cs
- FastEncoderWindow.cs
- NameValueSectionHandler.cs
- ComponentGlyph.cs
- TableNameAttribute.cs
- VarRemapper.cs
- CacheMemory.cs
- UnmanagedMemoryStreamWrapper.cs
- XmlHelper.cs
- CaretElement.cs
- SqlTransaction.cs
- XmlSchemaInfo.cs
- NameScopePropertyAttribute.cs
- TextShapeableCharacters.cs
- PropVariant.cs
- MouseCaptureWithinProperty.cs
- Serializer.cs
- EntityDataSourceWrapperCollection.cs
- FontWeightConverter.cs
- DockingAttribute.cs
- EventLogPermissionEntryCollection.cs
- TTSVoice.cs
- InheritedPropertyChangedEventArgs.cs
- EndpointAddress10.cs
- MetadataCacheItem.cs
- ListViewItemMouseHoverEvent.cs
- parserscommon.cs
- DataListItemCollection.cs
- Activator.cs
- ValueTable.cs
- HttpValueCollection.cs
- MinMaxParagraphWidth.cs
- AccessControlEntry.cs
- ClientSettingsStore.cs
- GraphicsState.cs
- TreeNodeStyleCollection.cs
- RequestCacheManager.cs
- RuntimeEnvironment.cs
- DrawListViewColumnHeaderEventArgs.cs
- PrinterSettings.cs
- VideoDrawing.cs
- QilInvoke.cs
- DrawListViewItemEventArgs.cs
- ExecutionContext.cs
- DataSourceHelper.cs
- XomlCompilerResults.cs
- DBSqlParserTable.cs
- BitmapSource.cs
- TabItemWrapperAutomationPeer.cs
- DataControlCommands.cs
- ToolBar.cs
- CustomExpression.cs
- LiteralTextContainerControlBuilder.cs
- HostDesigntimeLicenseContext.cs
- DodSequenceMerge.cs
- SimplePropertyEntry.cs
- GraphicsPathIterator.cs
- TokenBasedSet.cs
- InputScopeConverter.cs
- AutomationPeer.cs
- DPAPIProtectedConfigurationProvider.cs
- Size.cs
- RangeValidator.cs
- PeerUnsafeNativeMethods.cs
- SourceFileBuildProvider.cs
- FormViewModeEventArgs.cs
- ComMethodElement.cs