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
- CompositeClientFormatter.cs
- UnsafeNativeMethods.cs
- ToolStripCollectionEditor.cs
- SQLRoleProvider.cs
- ExtractedStateEntry.cs
- StreamGeometry.cs
- Int16Converter.cs
- DataListItem.cs
- CacheModeConverter.cs
- XmlUrlResolver.cs
- PersistNameAttribute.cs
- PageCatalogPart.cs
- PageCatalogPart.cs
- ValueQuery.cs
- BindingManagerDataErrorEventArgs.cs
- Unit.cs
- DataRowComparer.cs
- AutomationPeer.cs
- EditorAttribute.cs
- DialogWindow.cs
- PropertyConverter.cs
- Environment.cs
- SecurityTokenParametersEnumerable.cs
- Types.cs
- PatternMatcher.cs
- AssociatedControlConverter.cs
- ApplicationSecurityInfo.cs
- PageBuildProvider.cs
- WsdlHelpGeneratorElement.cs
- ObjectAssociationEndMapping.cs
- CodePageEncoding.cs
- WebPartPersonalization.cs
- ProxyWebPartConnectionCollection.cs
- SecurityManager.cs
- XmlSchemaImporter.cs
- AnnotationResourceChangedEventArgs.cs
- Number.cs
- TextInfo.cs
- MailFileEditor.cs
- TreeViewDataItemAutomationPeer.cs
- User.cs
- WebPartConnectionCollection.cs
- AuthenticatedStream.cs
- Variable.cs
- CodeNamespaceCollection.cs
- XmlSchemaSimpleTypeRestriction.cs
- TypeLoader.cs
- TextClipboardData.cs
- DefaultValueConverter.cs
- SqlTransaction.cs
- BindableTemplateBuilder.cs
- ButtonBase.cs
- ObjectManager.cs
- ProxyHwnd.cs
- QueryableFilterUserControl.cs
- DateTimeSerializationSection.cs
- CollectionDataContract.cs
- TextComposition.cs
- GetPageNumberCompletedEventArgs.cs
- ConnectionDemuxer.cs
- MobileListItemCollection.cs
- NetSectionGroup.cs
- PartialClassGenerationTaskInternal.cs
- NullableFloatAverageAggregationOperator.cs
- ValueSerializerAttribute.cs
- CodeNamespaceImport.cs
- ExtendedPropertyDescriptor.cs
- MediaScriptCommandRoutedEventArgs.cs
- Atom10ItemFormatter.cs
- DifferencingCollection.cs
- ViewService.cs
- DeploymentSection.cs
- ServicesUtilities.cs
- DesignerLoader.cs
- SvcMapFileSerializer.cs
- NetSectionGroup.cs
- CodeConditionStatement.cs
- AssemblyContextControlItem.cs
- Operand.cs
- XMLSyntaxException.cs
- FlowLayoutPanel.cs
- SynchronizedDispatch.cs
- WorkflowValidationFailedException.cs
- EventProviderWriter.cs
- ValueTypeFixupInfo.cs
- EnumerableCollectionView.cs
- ConfigurationPermission.cs
- Figure.cs
- DecimalAnimationUsingKeyFrames.cs
- AliasGenerator.cs
- ResourceExpressionBuilder.cs
- FillErrorEventArgs.cs
- ComponentSerializationService.cs
- DateTimeConverter.cs
- LoopExpression.cs
- HyperLinkDesigner.cs
- TransactionInformation.cs
- SqlReferenceCollection.cs
- AutomationPropertyInfo.cs
- SlotInfo.cs