Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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
- HttpApplicationFactory.cs
- Formatter.cs
- KnowledgeBase.cs
- NeutralResourcesLanguageAttribute.cs
- InstanceKeyNotReadyException.cs
- ExtensibleClassFactory.cs
- ThreadExceptionDialog.cs
- SectionUpdates.cs
- WinInetCache.cs
- MenuStrip.cs
- SymLanguageVendor.cs
- TimeEnumHelper.cs
- ByteStorage.cs
- RelatedView.cs
- FieldDescriptor.cs
- XmlCharCheckingWriter.cs
- SymbolMethod.cs
- GeneralTransform3DGroup.cs
- DataSourceListEditor.cs
- MetadataUtilsSmi.cs
- BaseDataBoundControl.cs
- TextSelectionHelper.cs
- ProfileManager.cs
- TraceSwitch.cs
- SqlTrackingWorkflowInstance.cs
- RenderData.cs
- webeventbuffer.cs
- HttpResponseHeader.cs
- WindowsIPAddress.cs
- UserNameSecurityToken.cs
- VirtualizedItemProviderWrapper.cs
- HitTestParameters3D.cs
- HtmlToClrEventProxy.cs
- XslException.cs
- ConfigurationStrings.cs
- JavaScriptString.cs
- HttpConfigurationContext.cs
- LoginUtil.cs
- BoolExpression.cs
- ObjectDataSourceMethodEditor.cs
- DbMetaDataFactory.cs
- CngKey.cs
- ObjectDataSourceDisposingEventArgs.cs
- LinkConverter.cs
- DocumentationServerProtocol.cs
- COM2ICategorizePropertiesHandler.cs
- HelpProvider.cs
- FormsAuthenticationConfiguration.cs
- TypedTableBaseExtensions.cs
- _NegoStream.cs
- GeometryModel3D.cs
- XmlSchemaChoice.cs
- StringHelper.cs
- InputMethodStateTypeInfo.cs
- RecommendedAsConfigurableAttribute.cs
- MarkupCompilePass2.cs
- ToolStripItemDesigner.cs
- Array.cs
- ReferenceConverter.cs
- LinearKeyFrames.cs
- XmlDataSourceView.cs
- EmptyCollection.cs
- UntypedNullExpression.cs
- SelectionChangedEventArgs.cs
- NativeWindow.cs
- DataViewManager.cs
- References.cs
- VerificationException.cs
- CompositeScriptReference.cs
- Label.cs
- TraceContextEventArgs.cs
- OrderedEnumerableRowCollection.cs
- ByteStack.cs
- CustomUserNameSecurityTokenAuthenticator.cs
- ComboBoxRenderer.cs
- GeneralTransform3DCollection.cs
- LabelAutomationPeer.cs
- ThousandthOfEmRealDoubles.cs
- WindowsGraphics2.cs
- MailBnfHelper.cs
- AssemblyInfo.cs
- RootProfilePropertySettingsCollection.cs
- UpdateException.cs
- UnmanagedMemoryAccessor.cs
- ChainOfDependencies.cs
- SplitterCancelEvent.cs
- Point3DConverter.cs
- DataGridViewTextBoxColumn.cs
- PolicyException.cs
- ObjectNavigationPropertyMapping.cs
- XmlValidatingReader.cs
- ConstructorBuilder.cs
- XmlAttributeOverrides.cs
- DesignerOptionService.cs
- ErrorActivity.cs
- TypeBuilder.cs
- NotEqual.cs
- CapabilitiesSection.cs
- FrameworkContentElementAutomationPeer.cs
- XmlSignatureManifest.cs