Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / 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. // Copyright (c) Microsoft Corporation. All rights reserved./// 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
- SocketAddress.cs
- CustomErrorCollection.cs
- AppDomainAttributes.cs
- TrustSection.cs
- ApplicationActivator.cs
- coordinatorscratchpad.cs
- ItemCheckedEvent.cs
- BridgeDataRecord.cs
- CodeDomConfigurationHandler.cs
- BrowserCapabilitiesFactory.cs
- DataGridColumnCollection.cs
- DispatcherObject.cs
- SerializationHelper.cs
- ListBoxAutomationPeer.cs
- AlignmentXValidation.cs
- EntityDataSourceWrapperCollection.cs
- RelationshipDetailsCollection.cs
- SplineQuaternionKeyFrame.cs
- PlatformCulture.cs
- X509WindowsSecurityToken.cs
- BinaryCommonClasses.cs
- MaskDescriptors.cs
- AlphaSortedEnumConverter.cs
- KnownColorTable.cs
- WCFModelStrings.Designer.cs
- AndCondition.cs
- TerminatorSinks.cs
- WinEventWrap.cs
- Mouse.cs
- RotationValidation.cs
- SetIterators.cs
- XPathNodeHelper.cs
- IEnumerable.cs
- RectKeyFrameCollection.cs
- VariableBinder.cs
- XmlSerializationWriter.cs
- InsufficientExecutionStackException.cs
- ToolStripComboBox.cs
- InternalRelationshipCollection.cs
- VersionedStreamOwner.cs
- MatrixCamera.cs
- Helpers.cs
- WebCategoryAttribute.cs
- TextTreePropertyUndoUnit.cs
- DependencyProperty.cs
- ControlValuePropertyAttribute.cs
- MemoryRecordBuffer.cs
- Pen.cs
- ParameterCollection.cs
- MiniCustomAttributeInfo.cs
- TimeZone.cs
- FaultHandlingFilter.cs
- WorkflowApplicationTerminatedException.cs
- OutputScopeManager.cs
- BitStream.cs
- InfoCardSymmetricCrypto.cs
- DuplexChannelFactory.cs
- FullTextBreakpoint.cs
- Simplifier.cs
- DatePickerAutomationPeer.cs
- EncryptedXml.cs
- TemplateEditingVerb.cs
- XmlILOptimizerVisitor.cs
- ServiceTimeoutsElement.cs
- KerberosRequestorSecurityToken.cs
- UrlPropertyAttribute.cs
- VideoDrawing.cs
- SystemUdpStatistics.cs
- StrokeFIndices.cs
- Label.cs
- DispatcherExceptionFilterEventArgs.cs
- PerfProviderCollection.cs
- IntPtr.cs
- Compiler.cs
- CaseStatement.cs
- SqlLiftIndependentRowExpressions.cs
- PanelDesigner.cs
- ExpressionBuilder.cs
- CompiledRegexRunner.cs
- SQLBinaryStorage.cs
- EventToken.cs
- DataList.cs
- WebControlParameterProxy.cs
- FormattedTextSymbols.cs
- DoubleKeyFrameCollection.cs
- Input.cs
- RestHandlerFactory.cs
- CodeSnippetTypeMember.cs
- CreateParams.cs
- AppSettingsReader.cs
- LiteralDesigner.cs
- StringCollection.cs
- CacheModeValueSerializer.cs
- PopOutPanel.cs
- ContainerFilterService.cs
- PartEditor.cs
- UITypeEditor.cs
- AttributeQuery.cs
- ViewBox.cs
- Message.cs