69 lines
1.5 KiB
C#
69 lines
1.5 KiB
C#
using System;
|
|
using System.Drawing.Printing;
|
|
|
|
namespace GoldPrinter
|
|
{
|
|
public class PrinterSingleton
|
|
{
|
|
private static PrintDocument thePrintDocumentInstance = null;
|
|
|
|
private static PrinterMargins thePrinterMarginsInstance = null;
|
|
|
|
public static PrintDocument PrintDocument
|
|
{
|
|
get
|
|
{
|
|
return PrinterSingleton.GetPrintDocumentInstance();
|
|
}
|
|
set
|
|
{
|
|
PrinterSingleton.thePrintDocumentInstance = value;
|
|
}
|
|
}
|
|
|
|
public static PrinterMargins PrinterMargins
|
|
{
|
|
get
|
|
{
|
|
return PrinterSingleton.GetPrinterMarginsInstance();
|
|
}
|
|
set
|
|
{
|
|
PrinterSingleton.thePrinterMarginsInstance = value;
|
|
}
|
|
}
|
|
|
|
private PrinterSingleton()
|
|
{
|
|
}
|
|
|
|
public static void Reset()
|
|
{
|
|
if (PrinterSingleton.thePrintDocumentInstance != null)
|
|
{
|
|
PrinterSingleton.thePrintDocumentInstance.Dispose();
|
|
}
|
|
PrinterSingleton.thePrintDocumentInstance = null;
|
|
PrinterSingleton.thePrinterMarginsInstance = null;
|
|
}
|
|
|
|
private static PrintDocument GetPrintDocumentInstance()
|
|
{
|
|
if (PrinterSingleton.thePrintDocumentInstance == null)
|
|
{
|
|
PrinterSingleton.thePrintDocumentInstance = new PrintDocument();
|
|
}
|
|
return PrinterSingleton.thePrintDocumentInstance;
|
|
}
|
|
|
|
private static PrinterMargins GetPrinterMarginsInstance()
|
|
{
|
|
if (PrinterSingleton.thePrinterMarginsInstance == null)
|
|
{
|
|
PrinterSingleton.thePrinterMarginsInstance = new PrinterMargins(PrinterSingleton.GetPrintDocumentInstance());
|
|
}
|
|
return PrinterSingleton.thePrinterMarginsInstance;
|
|
}
|
|
}
|
|
}
|