public static Size Convert (Size value, PrinterUnit fromUnit, PrinterUnit toUnit) { return new Size( Convert(value.Width, fromUnit, toUnit), Convert(value.Height, fromUnit, toUnit)); }
private static void UpdateSettings(NativeMethods.PAGESETUPDLG data, PageSettings pageSettings, PrinterSettings printerSettings) { // SetHDevMode demands AllPrintingAndUnmanagedCode Permission : Since we are calling that function we should Assert the permision, IntSecurity.AllPrintingAndUnmanagedCode.Assert(); try { pageSettings.SetHdevmode(data.hDevMode); if (printerSettings != null) { printerSettings.SetHdevmode(data.hDevMode); printerSettings.SetHdevnames(data.hDevNames); } } finally { CodeAccessPermission.RevertAssert(); } Margins newMargins = new Margins(); newMargins.Left = data.marginLeft; newMargins.Top = data.marginTop; newMargins.Right = data.marginRight; newMargins.Bottom = data.marginBottom; PrinterUnit fromUnit = ((data.Flags & NativeMethods.PSD_INHUNDREDTHSOFMILLIMETERS) != 0) ? PrinterUnit.HundredthsOfAMillimeter : PrinterUnit.ThousandthsOfAnInch; pageSettings.Margins = PrinterUnitConvert.Convert(newMargins, fromUnit, PrinterUnit.Display); }
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); }
public static double Convert(double value, PrinterUnit fromUnit, PrinterUnit toUnit) { double num = UnitsPerDisplay(fromUnit); double num2 = UnitsPerDisplay(toUnit); return((value * num2) / num); }
private static void UpdateSettings(System.Windows.Forms.NativeMethods.PAGESETUPDLG data, System.Drawing.Printing.PageSettings pageSettings, System.Drawing.Printing.PrinterSettings printerSettings) { System.Windows.Forms.IntSecurity.AllPrintingAndUnmanagedCode.Assert(); try { pageSettings.SetHdevmode(data.hDevMode); if (printerSettings != null) { printerSettings.SetHdevmode(data.hDevMode); printerSettings.SetHdevnames(data.hDevNames); } } finally { CodeAccessPermission.RevertAssert(); } Margins margins = new Margins { Left = data.marginLeft, Top = data.marginTop, Right = data.marginRight, Bottom = data.marginBottom }; PrinterUnit fromUnit = ((data.Flags & 8) != 0) ? PrinterUnit.HundredthsOfAMillimeter : PrinterUnit.ThousandthsOfAnInch; pageSettings.Margins = PrinterUnitConvert.Convert(margins, fromUnit, PrinterUnit.Display); }
public PageSetup() { aryKey = new object[PARAMCOUNT]; Initialize(null); printUnit = PrinterUnit.Display; MaxCharsOfCyCell = 0; }
public PageSetup(PrinterUnit PrintUnit, PrintDocument printDoc) { aryKey = new object[PARAMCOUNT]; Initialize(printDoc); printUnit = PrintUnit; MaxCharsOfCyCell = 0; }
/// <summary> /// Converts the value, in fromUnit units, to toUnit units. /// </summary> public static double Convert(double value, PrinterUnit fromUnit, PrinterUnit toUnit) { double fromUnitsPerDisplay = UnitsPerDisplay(fromUnit); double toUnitsPerDisplay = UnitsPerDisplay(toUnit); return(value * toUnitsPerDisplay / fromUnitsPerDisplay); }
/// <summary> /// Converts the value, in fromUnit units, to toUnit units. /// </summary> public static Point Convert(Point value, PrinterUnit fromUnit, PrinterUnit toUnit) { return(new Point( Convert(value.X, fromUnit, toUnit), Convert(value.Y, fromUnit, toUnit) )); }
/// <summary> /// Converts the value, in fromUnit units, to toUnit units. /// </summary> public static Size Convert(Size value, PrinterUnit fromUnit, PrinterUnit toUnit) { return(new Size( Convert(value.Width, fromUnit, toUnit), Convert(value.Height, fromUnit, toUnit) )); }
/// <include file='doc\PrinterUnitConvert.uex' path='docs/doc[@for="PrinterUnitConvert.Convert4"]/*' /> /// <devdoc> /// <para> /// Converts the value, in fromUnit units, to toUnit units. /// </para> /// </devdoc> 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) ); }
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))); }
public static Margins Convert (Margins value, PrinterUnit fromUnit, PrinterUnit toUnit) { return(new Margins (Convert(value.Left, fromUnit, toUnit), Convert(value.Right, fromUnit, toUnit), Convert(value.Top, fromUnit, toUnit), Convert(value.Bottom, fromUnit, toUnit))); }
/// <summary> /// Convert rectangle from unit to unit /// </summary> /// <param name="r">Rectangle to convert</param> /// <param name="source">Source unit</param> /// <param name="dest">Dest unit</param> /// <returns>Rectangle converted</returns> public static RectangleF Convert(RectangleF r, PrinterUnit source, PrinterUnit dest) { float l = (float)PrinterUnitConvert.Convert(r.Left, source, dest); float t = (float)PrinterUnitConvert.Convert(r.Top, source, dest); float w = (float)PrinterUnitConvert.Convert(r.Width, source, dest); float h = (float)PrinterUnitConvert.Convert(r.Height, source, dest); return(new RectangleF(l, t, w, h)); }
public static int Convert(int value, PrinterUnit fromUnit, PrinterUnit toUnit) { double rslt; rslt = Convert((double)value, fromUnit, toUnit); return((int)Math.Round(rslt)); }
/// <summary> /// Convert paper size from unit to unit /// </summary> /// <param name="paperSize">Paper size to convert</param> /// <param name="source">Source unit</param> /// <param name="dest">Dest unit</param> /// <returns>Paper size converted</returns> public static PaperSize Convert(PaperSize paperSize, PrinterUnit source, PrinterUnit dest) { int w = PrinterUnitConvert.Convert(paperSize.Width, source, dest); int h = PrinterUnitConvert.Convert(paperSize.Height, source, dest); PaperSize ret = new PaperSize(paperSize.PaperName, w, h); ret.RawKind = paperSize.RawKind; return(ret); }
public static int Convert (int value, PrinterUnit fromUnit, PrinterUnit toUnit) { #if CONFIG_EXTENDED_NUMERICS return((int)Math.Round (Convert((double)value, fromUnit, toUnit))); #else return((int) (Convert((double)value, fromUnit, toUnit) + 0.5)); #endif }
/// <summary> /// Converts the value, in fromUnit units, to toUnit units. /// </summary> public static Margins Convert(Margins value, PrinterUnit fromUnit, PrinterUnit toUnit) { Margins result = new Margins(); result.DoubleLeft = Convert(value.DoubleLeft, fromUnit, toUnit); result.DoubleRight = Convert(value.DoubleRight, fromUnit, toUnit); result.DoubleTop = Convert(value.DoubleTop, fromUnit, toUnit); result.DoubleBottom = Convert(value.DoubleBottom, fromUnit, toUnit); return(result); }
public static double Convert (double value, PrinterUnit fromUnit, PrinterUnit toUnit) { switch (fromUnit) { case PrinterUnit.Display: switch (toUnit) { case PrinterUnit.Display: return value; case PrinterUnit.ThousandthsOfAnInch: return value * 10; case PrinterUnit.HundredthsOfAMillimeter: return value * 25.4; case PrinterUnit.TenthsOfAMillimeter: return value * 2.54; } break; case PrinterUnit.ThousandthsOfAnInch: switch (toUnit) { case PrinterUnit.Display: return value / 10; case PrinterUnit.ThousandthsOfAnInch: return value; case PrinterUnit.HundredthsOfAMillimeter: return value * 2.54; case PrinterUnit.TenthsOfAMillimeter: return value * 0.254; } break; case PrinterUnit.HundredthsOfAMillimeter: switch (toUnit) { case PrinterUnit.Display: return value / 25.4; case PrinterUnit.ThousandthsOfAnInch: return value / 2.54; case PrinterUnit.HundredthsOfAMillimeter: return value; case PrinterUnit.TenthsOfAMillimeter: return value / 10; } break; case PrinterUnit.TenthsOfAMillimeter: switch (toUnit) { case PrinterUnit.Display: return value / 2.54; case PrinterUnit.ThousandthsOfAnInch: return value / 0.254; case PrinterUnit.HundredthsOfAMillimeter: return value * 10; case PrinterUnit.TenthsOfAMillimeter: return value; } break; } // should never happen throw new NotImplementedException(); }
private static double UnitsPerDisplay(PrinterUnit unit) { switch (unit) { case PrinterUnit.Display: return 1.0; case PrinterUnit.ThousandthsOfAnInch: return 10.0; case PrinterUnit.HundredthsOfAMillimeter: return 25.4; case PrinterUnit.TenthsOfAMillimeter: return 2.54; } return 1.0; }
private static double UnitsPerDisplay(PrinterUnit unit) { switch (unit) { case PrinterUnit.Display: return(1.0); case PrinterUnit.ThousandthsOfAnInch: return(10.0); case PrinterUnit.HundredthsOfAMillimeter: return(25.4); case PrinterUnit.TenthsOfAMillimeter: return(2.54); } return(1.0); }
private static void UpdateSettings(NativeMethods.PAGESETUPDLG data, PageSettings pageSettings, PrinterSettings printerSettings) { pageSettings.SetHdevmode(data.hDevMode); if (printerSettings != null) { printerSettings.SetHdevmode(data.hDevMode); printerSettings.SetHdevnames(data.hDevNames); } Margins newMargins = new Margins(); newMargins.Left = data.marginLeft; newMargins.Top = data.marginTop; newMargins.Right = data.marginRight; newMargins.Bottom = data.marginBottom; PrinterUnit fromUnit = ((data.Flags & NativeMethods.PSD_INHUNDREDTHSOFMILLIMETERS) != 0) ? PrinterUnit.HundredthsOfAMillimeter : PrinterUnit.ThousandthsOfAnInch; pageSettings.Margins = PrinterUnitConvert.Convert(newMargins, fromUnit, PrinterUnit.Display); }
public static double Convert(double value, PrinterUnit fromUnit, PrinterUnit toUnit) { switch (fromUnit) { case PrinterUnit.Display: switch (toUnit) { case PrinterUnit.Display: return(value); case PrinterUnit.ThousandthsOfAnInch: return(value * 10); case PrinterUnit.HundredthsOfAMillimeter: return(value * 25.4); case PrinterUnit.TenthsOfAMillimeter: return(value * 2.54); } break; case PrinterUnit.ThousandthsOfAnInch: switch (toUnit) { case PrinterUnit.Display: return(value / 10); case PrinterUnit.ThousandthsOfAnInch: return(value); case PrinterUnit.HundredthsOfAMillimeter: return(value * 2.54); case PrinterUnit.TenthsOfAMillimeter: return(value * 0.254); } break; case PrinterUnit.HundredthsOfAMillimeter: switch (toUnit) { case PrinterUnit.Display: return(value / 25.4); case PrinterUnit.ThousandthsOfAnInch: return(value / 2.54); case PrinterUnit.HundredthsOfAMillimeter: return(value); case PrinterUnit.TenthsOfAMillimeter: return(value / 10); } break; case PrinterUnit.TenthsOfAMillimeter: switch (toUnit) { case PrinterUnit.Display: return(value / 2.54); case PrinterUnit.ThousandthsOfAnInch: return(value / 0.254); case PrinterUnit.HundredthsOfAMillimeter: return(value * 10); case PrinterUnit.TenthsOfAMillimeter: return(value); } break; } // should never happen throw new NotImplementedException(); }
/// <include file='doc\PrinterUnitConvert.uex' path='docs/doc[@for="PrinterUnitConvert.Convert1"]/*' /> /// <devdoc> /// <para> /// Converts the value, in fromUnit units, to toUnit units. /// </para> /// </devdoc> public static int Convert(int value, PrinterUnit fromUnit, PrinterUnit toUnit) { return(int) Math.Round(Convert((double)value, fromUnit, toUnit)); }
/// <summary> /// Convert rectangle from unit to unit /// </summary> /// <param name="r">Rectangle to convert</param> /// <param name="source">Source unit</param> /// <param name="dest">Dest unit</param> /// <returns>Rectangle converted</returns> public static Rectangle Convert(Rectangle r, PrinterUnit source, PrinterUnit dest) { return(PrinterUnitConvert.Convert(r, source, dest)); }
public void Convert_Int_ReturnsExpected(PrinterUnit fromUnit, PrinterUnit toUnit, int expectedResult) { var converted = PrinterUnitConvert.Convert(100, fromUnit, toUnit); Assert.Equal(expectedResult, converted); }
public void Convert_Rectangle_ReturnsExpected(PrinterUnit fromUnit, PrinterUnit toUnit, int expectedLeftValue, int expectedRightValue) { var converted = PrinterUnitConvert.Convert(new Rectangle(100, 1000, 100, 1000), fromUnit, toUnit); Assert.Equal(new Rectangle(expectedLeftValue, expectedRightValue, expectedLeftValue, expectedRightValue), converted); }
protected override bool RunDialog(IntPtr hwndOwner) { System.Windows.Forms.NativeMethods.PAGESETUPDLG pagesetupdlg; bool flag2; System.Windows.Forms.IntSecurity.SafePrinting.Demand(); System.Windows.Forms.NativeMethods.WndProc proc = new System.Windows.Forms.NativeMethods.WndProc(this.HookProc); if (this.pageSettings == null) { throw new ArgumentException(System.Windows.Forms.SR.GetString("PSDcantShowWithoutPage")); } pagesetupdlg = new System.Windows.Forms.NativeMethods.PAGESETUPDLG { lStructSize = Marshal.SizeOf(pagesetupdlg), Flags = this.GetFlags(), hwndOwner = hwndOwner, lpfnPageSetupHook = proc }; PrinterUnit thousandthsOfAnInch = PrinterUnit.ThousandthsOfAnInch; if (this.EnableMetric) { StringBuilder lpLCData = new StringBuilder(2); if ((UnsafeNativeMethods.GetLocaleInfo(System.Windows.Forms.NativeMethods.LOCALE_USER_DEFAULT, 13, lpLCData, lpLCData.Capacity) > 0) && (int.Parse(lpLCData.ToString(), CultureInfo.InvariantCulture) == 0)) { thousandthsOfAnInch = PrinterUnit.HundredthsOfAMillimeter; } } if (this.MinMargins != null) { Margins margins = PrinterUnitConvert.Convert(this.MinMargins, PrinterUnit.Display, thousandthsOfAnInch); pagesetupdlg.minMarginLeft = margins.Left; pagesetupdlg.minMarginTop = margins.Top; pagesetupdlg.minMarginRight = margins.Right; pagesetupdlg.minMarginBottom = margins.Bottom; } if (this.pageSettings.Margins != null) { Margins margins2 = PrinterUnitConvert.Convert(this.pageSettings.Margins, PrinterUnit.Display, thousandthsOfAnInch); pagesetupdlg.marginLeft = margins2.Left; pagesetupdlg.marginTop = margins2.Top; pagesetupdlg.marginRight = margins2.Right; pagesetupdlg.marginBottom = margins2.Bottom; } pagesetupdlg.marginLeft = Math.Max(pagesetupdlg.marginLeft, pagesetupdlg.minMarginLeft); pagesetupdlg.marginTop = Math.Max(pagesetupdlg.marginTop, pagesetupdlg.minMarginTop); pagesetupdlg.marginRight = Math.Max(pagesetupdlg.marginRight, pagesetupdlg.minMarginRight); pagesetupdlg.marginBottom = Math.Max(pagesetupdlg.marginBottom, pagesetupdlg.minMarginBottom); System.Drawing.Printing.PrinterSettings settings = (this.printerSettings == null) ? this.pageSettings.PrinterSettings : this.printerSettings; System.Windows.Forms.IntSecurity.AllPrintingAndUnmanagedCode.Assert(); try { pagesetupdlg.hDevMode = settings.GetHdevmode(this.pageSettings); pagesetupdlg.hDevNames = settings.GetHdevnames(); } finally { CodeAccessPermission.RevertAssert(); } try { if (!UnsafeNativeMethods.PageSetupDlg(pagesetupdlg)) { return(false); } UpdateSettings(pagesetupdlg, this.pageSettings, this.printerSettings); flag2 = true; } finally { UnsafeNativeMethods.GlobalFree(new HandleRef(pagesetupdlg, pagesetupdlg.hDevMode)); UnsafeNativeMethods.GlobalFree(new HandleRef(pagesetupdlg, pagesetupdlg.hDevNames)); } return(flag2); }
// Methods public static double Convert(double value, PrinterUnit fromUnit, PrinterUnit toUnit) {}
// Convert from one unit to another. public static double Convert (double value, PrinterUnit fromUnit, PrinterUnit toUnit) { switch (fromUnit) { case PrinterUnit.Display: { switch (toUnit) { case PrinterUnit.Display: break; case PrinterUnit.ThousandthsOfAnInch: { value /= 10.0; } break; case PrinterUnit.HundredthsOfAMillimeter: { value *= 0.00254; } break; case PrinterUnit.TenthsOfAMillimeter: { value *= 0.0254; } break; } } break; case PrinterUnit.ThousandthsOfAnInch: { switch (toUnit) { case PrinterUnit.Display: { value *= 10.0; } break; case PrinterUnit.ThousandthsOfAnInch: break; case PrinterUnit.HundredthsOfAMillimeter: { value *= 0.000254; } break; case PrinterUnit.TenthsOfAMillimeter: { value *= 0.00254; } break; } } break; case PrinterUnit.HundredthsOfAMillimeter: { switch (toUnit) { case PrinterUnit.Display: { value /= 0.00254; } break; case PrinterUnit.ThousandthsOfAnInch: { value /= 0.000254; } break; case PrinterUnit.HundredthsOfAMillimeter: break; case PrinterUnit.TenthsOfAMillimeter: { value /= 10.0; } break; } } break; case PrinterUnit.TenthsOfAMillimeter: { switch (toUnit) { case PrinterUnit.Display: { value = value / 0.0254; } break; case PrinterUnit.ThousandthsOfAnInch: { value = value / 0.00254; } break; case PrinterUnit.HundredthsOfAMillimeter: { value *= 10.0; } break; case PrinterUnit.TenthsOfAMillimeter: break; } } break; } return(value); }
// Convert from one unit to another. public static double Convert (double value, PrinterUnit fromUnit, PrinterUnit toUnit) { switch(fromUnit) { case PrinterUnit.Display: { switch(toUnit) { case PrinterUnit.Display: break; case PrinterUnit.ThousandthsOfAnInch: { value /= 10.0; } break; case PrinterUnit.HundredthsOfAMillimeter: { value *= 0.00254; } break; case PrinterUnit.TenthsOfAMillimeter: { value *= 0.0254; } break; } } break; case PrinterUnit.ThousandthsOfAnInch: { switch(toUnit) { case PrinterUnit.Display: { value *= 10.0; } break; case PrinterUnit.ThousandthsOfAnInch: break; case PrinterUnit.HundredthsOfAMillimeter: { value *= 0.000254; } break; case PrinterUnit.TenthsOfAMillimeter: { value *= 0.00254; } break; } } break; case PrinterUnit.HundredthsOfAMillimeter: { switch(toUnit) { case PrinterUnit.Display: { value /= 0.00254; } break; case PrinterUnit.ThousandthsOfAnInch: { value /= 0.000254; } break; case PrinterUnit.HundredthsOfAMillimeter: break; case PrinterUnit.TenthsOfAMillimeter: { value /= 10.0; } break; } } break; case PrinterUnit.TenthsOfAMillimeter: { switch(toUnit) { case PrinterUnit.Display: { value = value / 0.0254; } break; case PrinterUnit.ThousandthsOfAnInch: { value = value / 0.00254; } break; case PrinterUnit.HundredthsOfAMillimeter: { value *= 10.0; } break; case PrinterUnit.TenthsOfAMillimeter: break; } } break; } return value; }
/// <include file='doc\PrinterUnitConvert.uex' path='docs/doc[@for="PrinterUnitConvert.Convert"]/*' /> /// <devdoc> /// <para> /// Converts the value, in fromUnit units, to toUnit units. /// </para> /// </devdoc> public static double Convert(double value, PrinterUnit fromUnit, PrinterUnit toUnit) { double fromUnitsPerDisplay = UnitsPerDisplay(fromUnit); double toUnitsPerDisplay = UnitsPerDisplay(toUnit); return value * toUnitsPerDisplay / fromUnitsPerDisplay; }
public static int Convert (int value, PrinterUnit fromUnit, PrinterUnit toUnit) { double rslt; rslt = Convert ((double) value, fromUnit, toUnit); return (int) Math.Round (rslt); }
public static Margins Convert (Margins value, PrinterUnit fromUnit, PrinterUnit toUnit) { return new Margins( Convert(value.Left, fromUnit, toUnit), Convert(value.Right, fromUnit, toUnit), Convert(value.Top, fromUnit, toUnit), Convert(value.Bottom, fromUnit, toUnit)); }
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; }
public static int Convert(int value, PrinterUnit fromUnit, PrinterUnit toUnit) {}
/// <summary> /// Converts the value, in fromUnit units, to toUnit units. /// </summary> public static int Convert(int value, PrinterUnit fromUnit, PrinterUnit toUnit) { return((int)Math.Round(Convert((double)value, fromUnit, toUnit))); }
/// <include file='doc\PageSetupDialog.uex' path='docs/doc[@for="PageSetupDialog.RunDialog"]/*' /> /// <devdoc> /// </devdoc> /// <internalonly/> protected override bool RunDialog(IntPtr hwndOwner) { IntSecurity.SafePrinting.Demand(); NativeMethods.WndProc hookProcPtr = new NativeMethods.WndProc(this.HookProc); if (pageSettings == null) { throw new ArgumentException(SR.GetString(SR.PSDcantShowWithoutPage)); } NativeMethods.PAGESETUPDLG data = new NativeMethods.PAGESETUPDLG(); data.lStructSize = Marshal.SizeOf(data); data.Flags = GetFlags(); data.hwndOwner = hwndOwner; data.lpfnPageSetupHook = hookProcPtr; if (MinMargins != null) { PrinterUnit toUnit = PrinterUnit.ThousandthsOfAnInch; Margins margins = PrinterUnitConvert.Convert(MinMargins, PrinterUnit.Display, toUnit); data.minMarginLeft = margins.Left; data.minMarginTop = margins.Top; data.minMarginRight = margins.Right; data.minMarginBottom = margins.Bottom; } if (pageSettings.Margins != null) { PrinterUnit toUnit = PrinterUnit.ThousandthsOfAnInch; Margins margins = PrinterUnitConvert.Convert(pageSettings.Margins, PrinterUnit.Display, toUnit); data.marginLeft = margins.Left; data.marginTop = margins.Top; data.marginRight = margins.Right; data.marginBottom = margins.Bottom; } // Ensure that the margins are >= minMargins. // This is a requirement of the PAGESETUPDLG structure. // data.marginLeft = Math.Max(data.marginLeft, data.minMarginLeft); data.marginTop = Math.Max(data.marginTop, data.minMarginTop); data.marginRight = Math.Max(data.marginRight, data.minMarginRight); data.marginBottom = Math.Max(data.marginBottom, data.minMarginBottom); PrinterSettings printer = (printerSettings == null) ? pageSettings.PrinterSettings : printerSettings; IntSecurity.AllPrinting.Assert(); try { data.hDevMode = printer.GetHdevmode(pageSettings); data.hDevNames = printer.GetHdevnames(); } finally { CodeAccessPermission.RevertAssert(); } try { bool status = UnsafeNativeMethods.PageSetupDlg(data); if (!status) { // Debug.WriteLine(Windows.CommonDialogErrorToString(Windows.CommDlgExtendedError())); return(false); } UpdateSettings(data, pageSettings, printerSettings); // yes, printerSettings, not printer return(true); } finally { UnsafeNativeMethods.GlobalFree(new HandleRef(data, data.hDevMode)); UnsafeNativeMethods.GlobalFree(new HandleRef(data, data.hDevNames)); } }
public static double Convert(double value, PrinterUnit fromUnit, PrinterUnit toUnit) { double num = UnitsPerDisplay(fromUnit); double num2 = UnitsPerDisplay(toUnit); return ((value * num2) / num); }
public void Convert_Margins_ReturnsExpected(PrinterUnit fromUnit, PrinterUnit toUnit, int expectedLeft, int expectedRight, int expectedTop, int expectedBottom) { var converted = PrinterUnitConvert.Convert(new Margins(100, 1000, 100, 1000), fromUnit, toUnit); Assert.Equal(new Margins(expectedLeft, expectedRight, expectedTop, expectedBottom), converted); }
public static Point Convert (Point value, PrinterUnit fromUnit, PrinterUnit toUnit) { return new Point( Convert(value.X, fromUnit, toUnit), Convert(value.Y, fromUnit, toUnit)); }
public void Convert_Point_ReturnsExpected(PrinterUnit fromUnit, PrinterUnit toUnit, int expectedX, int expectedY) { var converted = PrinterUnitConvert.Convert(new Point(100, 1000), fromUnit, toUnit); Assert.Equal(new Point(expectedX, expectedY), converted); }
public static Margins Convert(Margins value, PrinterUnit fromUnit, PrinterUnit toUnit) {}
public static System.Drawing.Point Convert(System.Drawing.Point value, PrinterUnit fromUnit, PrinterUnit toUnit) {}
/// <summary> /// Convert margins from unit to unit /// </summary> /// <param name="m">Source margins</param> /// <param name="source">Source unit</param> /// <param name="dest">Dest unit</param> /// <returns>Margins converted</returns> public static Margins Convert(Margins m, PrinterUnit source, PrinterUnit dest) { return(PrinterUnitConvert.Convert(m, source, dest)); }
public static Margins Convert(Margins value, PrinterUnit fromUnit, PrinterUnit toUnit) { return new Margins { DoubleLeft = Convert(value.DoubleLeft, fromUnit, toUnit), DoubleRight = Convert(value.DoubleRight, fromUnit, toUnit), DoubleTop = Convert(value.DoubleTop, fromUnit, toUnit), DoubleBottom = Convert(value.DoubleBottom, fromUnit, toUnit) }; }
public static System.Drawing.Size Convert(System.Drawing.Size value, PrinterUnit fromUnit, PrinterUnit toUnit) {}
public static System.Drawing.Rectangle Convert(System.Drawing.Rectangle value, PrinterUnit fromUnit, PrinterUnit toUnit) {}
/// <include file='doc\PrinterUnitConvert.uex' path='docs/doc[@for="PrinterUnitConvert.Convert5"]/*' /> /// <devdoc> /// <para> /// Converts the value, in fromUnit units, to toUnit units. /// </para> /// </devdoc> public static Margins Convert(Margins value, PrinterUnit fromUnit, PrinterUnit toUnit) { Margins result = new Margins(); result.DoubleLeft = Convert(value.DoubleLeft, fromUnit, toUnit); result.DoubleRight = Convert(value.DoubleRight, fromUnit, toUnit); result.DoubleTop = Convert(value.DoubleTop, fromUnit, toUnit); result.DoubleBottom = Convert(value.DoubleBottom, fromUnit, toUnit); return result; }
protected override bool RunDialog(IntPtr hwndOwner) { NativeMethods.WndProc hookProcPtr = new NativeMethods.WndProc(HookProc); if (pageSettings == null) { throw new ArgumentException(SR.PSDcantShowWithoutPage); } NativeMethods.PAGESETUPDLG data = new NativeMethods.PAGESETUPDLG(); data.lStructSize = Marshal.SizeOf(data); data.Flags = GetFlags(); data.hwndOwner = hwndOwner; data.lpfnPageSetupHook = hookProcPtr; PrinterUnit toUnit = PrinterUnit.ThousandthsOfAnInch; // Below was a breaking change from RTM and EVERETT even though this was a correct FIX. // EnableMetric is a new Whidbey property which we allow the users to choose between the AutoConversion or not. if (EnableMetric) { //take the Units of Measurement while determining the PrinterUnits... // StringBuilder sb = new StringBuilder(2); int result = UnsafeNativeMethods.GetLocaleInfo(NativeMethods.LOCALE_USER_DEFAULT, NativeMethods.LOCALE_IMEASURE, sb, sb.Capacity); if (result > 0 && int.Parse(sb.ToString(), CultureInfo.InvariantCulture) == 0) { toUnit = PrinterUnit.HundredthsOfAMillimeter; } } if (MinMargins != null) { Margins margins = PrinterUnitConvert.Convert(MinMargins, PrinterUnit.Display, toUnit); data.minMarginLeft = margins.Left; data.minMarginTop = margins.Top; data.minMarginRight = margins.Right; data.minMarginBottom = margins.Bottom; } if (pageSettings.Margins != null) { Margins margins = PrinterUnitConvert.Convert(pageSettings.Margins, PrinterUnit.Display, toUnit); data.marginLeft = margins.Left; data.marginTop = margins.Top; data.marginRight = margins.Right; data.marginBottom = margins.Bottom; } // Ensure that the margins are >= minMargins. // This is a requirement of the PAGESETUPDLG structure. // data.marginLeft = Math.Max(data.marginLeft, data.minMarginLeft); data.marginTop = Math.Max(data.marginTop, data.minMarginTop); data.marginRight = Math.Max(data.marginRight, data.minMarginRight); data.marginBottom = Math.Max(data.marginBottom, data.minMarginBottom); PrinterSettings printer = printerSettings ?? pageSettings.PrinterSettings; data.hDevMode = printer.GetHdevmode(pageSettings); data.hDevNames = printer.GetHdevnames(); try { bool status = UnsafeNativeMethods.PageSetupDlg(data); if (!status) { // Debug.WriteLine(Windows.CommonDialogErrorToString(Windows.CommDlgExtendedError())); return(false); } UpdateSettings(data, pageSettings, printerSettings); // yes, printerSettings, not printer return(true); } finally { UnsafeNativeMethods.GlobalFree(new HandleRef(data, data.hDevMode)); UnsafeNativeMethods.GlobalFree(new HandleRef(data, data.hDevNames)); } }
public static int Convert (int value, PrinterUnit fromUnit, PrinterUnit toUnit) { #if CONFIG_EXTENDED_NUMERICS return (int)Math.Round (Convert((double)value, fromUnit, toUnit)); #else return (int) (Convert((double)value, fromUnit, toUnit) + 0.5); #endif }