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
- ServiceOperation.cs
- XPathAncestorIterator.cs
- QilBinary.cs
- WindowAutomationPeer.cs
- SByteConverter.cs
- TreeNodeSelectionProcessor.cs
- CatalogPartChrome.cs
- PlainXmlWriter.cs
- coordinatorscratchpad.cs
- NameTable.cs
- TrackingExtract.cs
- DataMemberConverter.cs
- LineBreakRecord.cs
- Brush.cs
- ServiceContractListItemList.cs
- CookieProtection.cs
- Base64Decoder.cs
- Comparer.cs
- SeparatorAutomationPeer.cs
- TextFormatterImp.cs
- ContextMarshalException.cs
- RowSpanVector.cs
- Normalization.cs
- MimeMultiPart.cs
- PolygonHotSpot.cs
- ConfigurationStrings.cs
- SqlUtils.cs
- MobileUserControlDesigner.cs
- SQLDecimalStorage.cs
- HtmlInputButton.cs
- GridItemCollection.cs
- SQLRoleProvider.cs
- AssemblyInfo.cs
- DataSetUtil.cs
- DesignerCommandAdapter.cs
- TypeCodeDomSerializer.cs
- Int64KeyFrameCollection.cs
- HtmlContainerControl.cs
- FullTextBreakpoint.cs
- ZipIOCentralDirectoryDigitalSignature.cs
- WebChannelFactory.cs
- DefaultBindingPropertyAttribute.cs
- Style.cs
- ValidationResult.cs
- SoapTypeAttribute.cs
- _NetRes.cs
- VersionConverter.cs
- DataServiceQueryProvider.cs
- XslCompiledTransform.cs
- ExpressionVisitor.cs
- DataSourceCacheDurationConverter.cs
- ObjectParameterCollection.cs
- UITypeEditor.cs
- TypeNameConverter.cs
- UnionCqlBlock.cs
- WebPartsSection.cs
- QueryGeneratorBase.cs
- ItemsControl.cs
- SQLBytesStorage.cs
- CursorConverter.cs
- SrgsToken.cs
- WindowsToolbarItemAsMenuItem.cs
- NativeRecognizer.cs
- MetaModel.cs
- WebRequestModuleElementCollection.cs
- DataGridCellClipboardEventArgs.cs
- FixedSOMLineRanges.cs
- TableCellsCollectionEditor.cs
- HttpListenerElement.cs
- MulticastOption.cs
- XmlSchemaComplexContentRestriction.cs
- LinqDataSourceInsertEventArgs.cs
- InternalConfigRoot.cs
- MsmqIntegrationBinding.cs
- UpdatePanel.cs
- PreservationFileWriter.cs
- GcSettings.cs
- DataGridViewToolTip.cs
- TextOutput.cs
- PeerNameRegistration.cs
- MemberProjectedSlot.cs
- Msec.cs
- NativeMethodsCLR.cs
- QilInvokeLateBound.cs
- WsdlHelpGeneratorElement.cs
- FixedSchema.cs
- FontDifferentiator.cs
- AssociatedControlConverter.cs
- CodeMemberProperty.cs
- BamlRecordWriter.cs
- WebPartDescriptionCollection.cs
- DoubleLinkList.cs
- HelpProvider.cs
- CircleHotSpot.cs
- MultipartIdentifier.cs
- CollectionBuilder.cs
- XPathDocumentBuilder.cs
- ResourcePart.cs
- SafeLocalMemHandle.cs
- TreeNodeBindingDepthConverter.cs