Applied patch #11078 - DEVMODE creation in wxWindowsPrintNativeData::TransferFrom plus SetQuality to dpi

by Martin Perktold


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@62064 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Julian Smart
2009-09-24 09:52:26 +00:00
parent b105aac221
commit ee18a103b3
2 changed files with 117 additions and 6 deletions

View File

@@ -650,6 +650,52 @@ private:
DECLARE_NO_COPY_CLASS(GlobalPtrLock)
};
// smart pointer like class using OpenPrinter and ClosePrinter
class WinPrinter
{
public:
// default ctor
WinPrinter()
{
m_hPrinter = (HANDLE)NULL;
}
WinPrinter( const wxString& printerName )
{
Open( printerName );
}
~WinPrinter()
{
Close();
}
BOOL Open( const wxString& printerName, LPPRINTER_DEFAULTS pDefault=(LPPRINTER_DEFAULTS)NULL )
{
Close();
return OpenPrinter( (LPTSTR)printerName.wx_str(), &m_hPrinter, pDefault );
}
BOOL Close()
{
BOOL result = TRUE;
if( m_hPrinter )
{
result = ClosePrinter( m_hPrinter );
m_hPrinter = (HANDLE)NULL;
}
return result;
}
operator HANDLE() { return m_hPrinter; }
operator bool() { return m_hPrinter != (HANDLE)NULL; }
private:
HANDLE m_hPrinter;
wxDECLARE_NO_COPY_CLASS(WinPrinter);
};
// register the class when it is first needed and unregister it in dtor
class ClassRegistrar
{