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
- CachedFontFamily.cs
- HuffCodec.cs
- XmlAttributeCache.cs
- ConfigurationException.cs
- COSERVERINFO.cs
- InternalControlCollection.cs
- TextElementEditingBehaviorAttribute.cs
- Queue.cs
- SelectionRange.cs
- ExpandoClass.cs
- XmlBindingWorker.cs
- ArraySet.cs
- DBDataPermissionAttribute.cs
- CultureInfo.cs
- Ipv6Element.cs
- ViewBox.cs
- ToolStripPanelCell.cs
- StylusPointProperty.cs
- ReferentialConstraint.cs
- HostedAspNetEnvironment.cs
- FileSecurity.cs
- LocalIdKeyIdentifierClause.cs
- InternalPermissions.cs
- ValidatingReaderNodeData.cs
- CqlIdentifiers.cs
- MimeObjectFactory.cs
- TextTreeInsertUndoUnit.cs
- TextServicesDisplayAttribute.cs
- InvalidCommandTreeException.cs
- Pointer.cs
- HwndStylusInputProvider.cs
- OciLobLocator.cs
- ApplicationActivator.cs
- StylusPointPropertyUnit.cs
- MetadataArtifactLoaderCompositeResource.cs
- FontEmbeddingManager.cs
- DataSvcMapFileSerializer.cs
- OpacityConverter.cs
- CompositeCollection.cs
- ImageBrush.cs
- JsonObjectDataContract.cs
- GraphicsPathIterator.cs
- SqlExpressionNullability.cs
- StringArrayConverter.cs
- SystemResources.cs
- LabelDesigner.cs
- EntryPointNotFoundException.cs
- NavigateUrlConverter.cs
- ExpressionBindingCollection.cs
- TextServicesCompartmentContext.cs
- NetworkStream.cs
- IFlowDocumentViewer.cs
- RegexRunnerFactory.cs
- AddInDeploymentState.cs
- SoapSchemaExporter.cs
- XmlElementAttributes.cs
- XsdBuildProvider.cs
- AvTraceDetails.cs
- ProfilePropertySettings.cs
- DeflateEmulationStream.cs
- MetaForeignKeyColumn.cs
- FlowDocumentPaginator.cs
- XPathPatternBuilder.cs
- SqlDataSourceCache.cs
- ImageCollectionCodeDomSerializer.cs
- DecimalSumAggregationOperator.cs
- MailWebEventProvider.cs
- WebHeaderCollection.cs
- TextRunCache.cs
- CmsInterop.cs
- SpellCheck.cs
- UriTemplateVariablePathSegment.cs
- SqlMethodAttribute.cs
- ControlBindingsCollection.cs
- SyndicationContent.cs
- BindingExpressionBase.cs
- Stream.cs
- lengthconverter.cs
- SQLDouble.cs
- OleDbError.cs
- Padding.cs
- DashStyles.cs
- PointLight.cs
- MenuItem.cs
- EFColumnProvider.cs
- WmlCalendarAdapter.cs
- NetworkAddressChange.cs
- VScrollBar.cs
- SessionChannels.cs
- OpenTypeLayout.cs
- WorkflowInstanceExtensionCollection.cs
- SoundPlayer.cs
- SID.cs
- HwndHostAutomationPeer.cs
- DataListItemCollection.cs
- Comparer.cs
- smtppermission.cs
- TextParagraphProperties.cs
- EditorReuseAttribute.cs
- MimeTextImporter.cs