| File: System\Drawing\Printing\PrinterResolution.cs | Web Access |
| Project: src\winforms\src\System.Drawing.Common\src\System.Drawing.Common.csproj (System.Drawing.Common) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.ComponentModel; namespace System.Drawing.Printing; /// <summary> /// Retrieves the resolution supported by a printer. /// </summary> public partial class PrinterResolution { private PrinterResolutionKind _kind; /// <summary> /// Initializes a new instance of the <see cref='PrinterResolution'/> class with default properties. /// </summary> public PrinterResolution() { _kind = PrinterResolutionKind.Custom; } internal PrinterResolution(PrinterResolutionKind kind, int x, int y) { _kind = kind; X = x; Y = y; } /// <summary> /// Gets a value indicating the kind of printer resolution. /// </summary> public PrinterResolutionKind Kind { get => _kind; set { if (value is < PrinterResolutionKind.High or > PrinterResolutionKind.Custom) { throw new InvalidEnumArgumentException(nameof(value), (int)value, typeof(PrinterResolutionKind)); } _kind = value; } } /// <summary> /// Gets the printer resolution in the horizontal direction, in dots per inch. /// </summary> public int X { get; set; } /// <summary> /// Gets the printer resolution in the vertical direction, in dots per inch. /// </summary> public int Y { get; set; } public override string ToString() => _kind != PrinterResolutionKind.Custom ? $"[PrinterResolution {Kind}]" : FormattableString.Invariant($"[PrinterResolution X={X} Y={Y}]"); }