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
- Calendar.cs
- OutOfMemoryException.cs
- UnionCqlBlock.cs
- BypassElement.cs
- XsdCachingReader.cs
- TableDetailsCollection.cs
- Byte.cs
- KeyValuePairs.cs
- HandlerMappingMemo.cs
- UnsafeNativeMethodsTablet.cs
- NameValueSectionHandler.cs
- UInt16.cs
- ConnectionInterfaceCollection.cs
- XmlText.cs
- AsyncOperationLifetimeManager.cs
- securitycriticaldataformultiplegetandset.cs
- UriTemplateMatch.cs
- OdbcFactory.cs
- ReplacementText.cs
- NullableIntSumAggregationOperator.cs
- DetailsViewRow.cs
- SimpleWebHandlerParser.cs
- SByte.cs
- OleDbErrorCollection.cs
- ViewValidator.cs
- Matrix3DStack.cs
- ConstrainedGroup.cs
- CommonObjectSecurity.cs
- TableLayoutPanel.cs
- Panel.cs
- DriveNotFoundException.cs
- AppliesToBehaviorDecisionTable.cs
- LassoSelectionBehavior.cs
- AsyncStreamReader.cs
- ConfigurationValue.cs
- HtmlFormWrapper.cs
- FlowDocumentPage.cs
- Matrix3DValueSerializer.cs
- returneventsaver.cs
- ErrorEventArgs.cs
- FormViewRow.cs
- DocumentPaginator.cs
- CompiledRegexRunnerFactory.cs
- DateRangeEvent.cs
- TimelineGroup.cs
- SafeRegistryHandle.cs
- DataKeyCollection.cs
- TextRangeBase.cs
- ITreeGenerator.cs
- ConfigErrorGlyph.cs
- ArrowControl.xaml.cs
- CollectionBuilder.cs
- HelpEvent.cs
- OdbcConnectionOpen.cs
- AuthenticateEventArgs.cs
- PageFunction.cs
- _SslSessionsCache.cs
- AQNBuilder.cs
- OutputCacheProfile.cs
- DebugView.cs
- login.cs
- Scene3D.cs
- AsynchronousChannel.cs
- InstanceBehavior.cs
- XslTransformFileEditor.cs
- HttpListenerResponse.cs
- EntityContainerEmitter.cs
- ShapeTypeface.cs
- FaultReasonText.cs
- CapabilitiesUse.cs
- PrtTicket_Base.cs
- Parameter.cs
- DataGridTableStyleMappingNameEditor.cs
- EventListener.cs
- URI.cs
- BaseCollection.cs
- OleDbRowUpdatingEvent.cs
- WebPartCancelEventArgs.cs
- RegexCompilationInfo.cs
- DbParameterCollectionHelper.cs
- PeerDefaultCustomResolverClient.cs
- StringBuilder.cs
- RegexGroup.cs
- TextTreeUndoUnit.cs
- TreeNodeStyle.cs
- MultilineStringEditor.cs
- UnaryNode.cs
- PackWebRequestFactory.cs
- BamlBinaryWriter.cs
- ComplexPropertyEntry.cs
- MethodExpr.cs
- PreviewPrintController.cs
- DataRelationCollection.cs
- TableProviderWrapper.cs
- GridPatternIdentifiers.cs
- CounterCreationDataCollection.cs
- ChildTable.cs
- RootDesignerSerializerAttribute.cs
- ListViewSelectEventArgs.cs
- NotSupportedException.cs