X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/7c74e7fe1de14f32dcd6f3c9cdd727de540bbd0e..069d0f27ef7d87fd337e6baad1c5f4c7223ed693:/src/common/cmndata.cpp diff --git a/src/common/cmndata.cpp b/src/common/cmndata.cpp index 045ff85556..c818294206 100644 --- a/src/common/cmndata.cpp +++ b/src/common/cmndata.cpp @@ -72,20 +72,19 @@ #endif #endif // MSW -#if !USE_SHARED_LIBRARY #if wxUSE_PRINTING_ARCHITECTURE IMPLEMENT_DYNAMIC_CLASS(wxPrintData, wxObject) IMPLEMENT_DYNAMIC_CLASS(wxPrintDialogData, wxObject) IMPLEMENT_DYNAMIC_CLASS(wxPageSetupDialogData, wxObject) #endif // wxUSE_PRINTING_ARCHITECTURE + IMPLEMENT_DYNAMIC_CLASS(wxFontData, wxObject) IMPLEMENT_DYNAMIC_CLASS(wxColourData, wxObject) -#endif #ifdef __WXMAC__ -#define mm2pt 2.83464566929 -#define pt2mm 0.352777777778 -#endif + #define mm2pt 2.83464566929 + #define pt2mm 0.352777777778 +#endif // Mac // ============================================================================ // implementation @@ -172,7 +171,7 @@ wxPrintData::wxPrintData() #ifdef __WXMSW__ m_devMode = NULL; #elif defined( __WXMAC__ ) - m_macPrintInfo = NULL ; + m_macPrintInfo = NULL ; #endif m_printOrientation = wxPORTRAIT; m_printNoCopies = 1; @@ -204,7 +203,7 @@ wxPrintData::wxPrintData(const wxPrintData& printData) #ifdef __WXMSW__ m_devMode = NULL; #elif defined( __WXMAC__ ) - m_macPrintInfo = NULL ; + m_macPrintInfo = NULL ; #endif (*this) = printData; } @@ -216,14 +215,14 @@ wxPrintData::~wxPrintData() if (hDevMode ) GlobalFree(hDevMode); #elif defined(__WXMAC__) - if ( m_macPrintInfo ) - ::DisposeHandle( (Handle) m_macPrintInfo ) ; + if ( m_macPrintInfo ) + ::DisposeHandle( (Handle) m_macPrintInfo ) ; #endif } #if defined(__WXMSW__) // && defined(__WIN32__) -#ifdef __WIN32__ +#if defined(__WXDEBUG__) && defined(__WIN32__) static wxString wxGetPrintDlgError() { DWORD err = CommDlgExtendedError(); @@ -316,7 +315,7 @@ void wxPrintData::ConvertToNative() if ( hDevMode ) { - DEVMODE *devMode = (DEVMODE*) GlobalLock(hDevMode); + LPDEVMODE devMode = (LPDEVMODE) GlobalLock(hDevMode); //// Orientation @@ -438,7 +437,7 @@ void wxPrintData::ConvertFromNative() if ( hDevMode ) { - DEVMODE *devMode = (DEVMODE*) GlobalLock(hDevMode); + LPDEVMODE devMode = (LPDEVMODE)GlobalLock(hDevMode); #ifndef __WXWINE__ //// Orientation @@ -607,29 +606,29 @@ void wxPrintData::ConvertFromNative() #ifdef __WXMAC__ void wxPrintData::ConvertToNative() { - if ( !m_macPrintInfo ) - { - m_macPrintInfo = (THPrint) NewHandleClear( sizeof( TPrint ) ) ; - if ( m_macPrintInfo ) - { - ::PrintDefault( m_macPrintInfo ) ; - // todo setup the global pagesetup ? - } - } - if ( m_macPrintInfo ) - { - (**m_macPrintInfo).prJob.iCopies = m_printNoCopies ; - (**m_macPrintInfo).prJob.iFstPage = 0 ; - (**m_macPrintInfo).prJob.iLstPage = 0 ; - } + if ( !m_macPrintInfo ) + { + m_macPrintInfo = (THPrint) NewHandleClear( sizeof( TPrint ) ) ; + if ( m_macPrintInfo ) + { + ::PrintDefault( m_macPrintInfo ) ; + // todo setup the global pagesetup ? + } + } + if ( m_macPrintInfo ) + { + (**m_macPrintInfo).prJob.iCopies = m_printNoCopies ; + (**m_macPrintInfo).prJob.iFstPage = 0 ; + (**m_macPrintInfo).prJob.iLstPage = 0 ; + } } void wxPrintData::ConvertFromNative() { - if ( m_macPrintInfo ) - { - m_printNoCopies = (**m_macPrintInfo).prJob.iCopies ; - } + if ( m_macPrintInfo ) + { + m_printNoCopies = (**m_macPrintInfo).prJob.iCopies ; + } } #endif @@ -694,7 +693,7 @@ wxPrintDialogData::wxPrintDialogData() #ifdef __WXMSW__ m_printDlgData = NULL; #elif defined( __WXMAC__ ) - m_macPrintInfo = NULL ; + m_macPrintInfo = NULL ; #endif m_printFromPage = 0; m_printToPage = 0; @@ -717,7 +716,7 @@ wxPrintDialogData::wxPrintDialogData(const wxPrintDialogData& dialogData) #ifdef __WXMSW__ m_printDlgData = NULL; #elif defined( __WXMAC__ ) - m_macPrintInfo = NULL ; + m_macPrintInfo = NULL ; #endif (*this) = dialogData; } @@ -727,7 +726,7 @@ wxPrintDialogData::wxPrintDialogData(const wxPrintData& printData) #ifdef __WXMSW__ m_printDlgData = NULL; #elif defined( __WXMAC__ ) - m_macPrintInfo = NULL ; + m_macPrintInfo = NULL ; #endif m_printFromPage = 0; m_printToPage = 0; @@ -756,8 +755,8 @@ wxPrintDialogData::~wxPrintDialogData() if ( pd ) delete pd; #elif defined(__WXMAC__) - if ( m_macPrintInfo ) - ::DisposeHandle( (Handle) m_macPrintInfo ) ; + if ( m_macPrintInfo ) + ::DisposeHandle( (Handle) m_macPrintInfo ) ; #endif } @@ -916,31 +915,31 @@ void wxPrintDialogData::SetOwnerWindow(wxWindow* win) #ifdef __WXMAC__ void wxPrintDialogData::ConvertToNative() { - if ( !m_macPrintInfo ) - { - m_macPrintInfo = (THPrint) NewHandleClear( sizeof( TPrint ) ) ; - if ( m_macPrintInfo ) - { - ::PrintDefault( m_macPrintInfo ) ; - // todo setup the global pagesetup ? - } - } - if ( m_macPrintInfo ) - { - (**m_macPrintInfo).prJob.iCopies = m_printNoCopies ; - (**m_macPrintInfo).prJob.iFstPage = m_printFromPage ; - (**m_macPrintInfo).prJob.iLstPage = m_printToPage ; - } + if ( !m_macPrintInfo ) + { + m_macPrintInfo = (THPrint) NewHandleClear( sizeof( TPrint ) ) ; + if ( m_macPrintInfo ) + { + ::PrintDefault( m_macPrintInfo ) ; + // todo setup the global pagesetup ? + } + } + if ( m_macPrintInfo ) + { + (**m_macPrintInfo).prJob.iCopies = m_printNoCopies ; + (**m_macPrintInfo).prJob.iFstPage = m_printFromPage ; + (**m_macPrintInfo).prJob.iLstPage = m_printToPage ; + } } void wxPrintDialogData::ConvertFromNative() { - if ( m_macPrintInfo ) - { - m_printNoCopies = (**m_macPrintInfo).prJob.iCopies ; - m_printFromPage = (**m_macPrintInfo).prJob.iFstPage ; - m_printToPage = (**m_macPrintInfo).prJob.iLstPage ; - } + if ( m_macPrintInfo ) + { + m_printNoCopies = (**m_macPrintInfo).prJob.iCopies ; + m_printFromPage = (**m_macPrintInfo).prJob.iFstPage ; + m_printToPage = (**m_macPrintInfo).prJob.iLstPage ; + } } #endif @@ -979,7 +978,7 @@ wxPageSetupDialogData::wxPageSetupDialogData() #if defined(__WIN95__) m_pageSetupData = NULL; #elif defined( __WXMAC__ ) - m_macPageSetupInfo = NULL ; + m_macPageSetupInfo = NULL ; #endif m_paperSize = wxSize(0, 0); @@ -1005,7 +1004,7 @@ wxPageSetupDialogData::wxPageSetupDialogData(const wxPageSetupDialogData& dialog #if defined(__WIN95__) m_pageSetupData = NULL; #elif defined( __WXMAC__ ) - m_macPageSetupInfo = NULL ; + m_macPageSetupInfo = NULL ; #endif (*this) = dialogData; } @@ -1015,7 +1014,7 @@ wxPageSetupDialogData::wxPageSetupDialogData(const wxPrintData& printData) #if defined(__WIN95__) m_pageSetupData = NULL; #elif defined( __WXMAC__ ) - m_macPageSetupInfo = NULL ; + m_macPageSetupInfo = NULL ; #endif m_paperSize = wxSize(0, 0); m_minMarginTopLeft = wxPoint(0, 0); @@ -1048,8 +1047,8 @@ wxPageSetupDialogData::~wxPageSetupDialogData() if ( pd ) delete pd; #elif defined( __WXMAC__ ) - if( m_macPageSetupInfo ) - ::DisposeHandle( (Handle) m_macPageSetupInfo ) ; + if( m_macPageSetupInfo ) + ::DisposeHandle( (Handle) m_macPageSetupInfo ) ; #endif } @@ -1225,62 +1224,62 @@ void wxPageSetupDialogData::SetOwnerWindow(wxWindow* win) #ifdef __WXMAC__ void wxPageSetupDialogData::ConvertToNative() { - if ( !m_macPageSetupInfo ) - { - m_macPageSetupInfo = (THPrint) NewHandleClear( sizeof( TPrint ) ) ; - if ( m_macPageSetupInfo ) - { - ::PrintDefault( m_macPageSetupInfo ) ; - } - } - if ( m_macPageSetupInfo ) - { - // on mac the paper rect has a negative top left corner, because the page rect (printable area) is at 0,0 - (**m_macPageSetupInfo).rPaper.left = int( ((double) m_minMarginTopLeft.x)*mm2pt ) ; - (**m_macPageSetupInfo).rPaper.top = int( ((double) m_minMarginTopLeft.y)*mm2pt ) ; - - (**m_macPageSetupInfo).rPaper.right = int( ((double) m_paperSize.x - m_minMarginTopLeft.x)*mm2pt ) ; - (**m_macPageSetupInfo).rPaper.bottom = int( ((double) m_paperSize.y - m_minMarginTopLeft.y)*mm2pt ) ; - - (**m_macPageSetupInfo).prInfo.rPage.left = 0 ; - (**m_macPageSetupInfo).prInfo.rPage.top = 0 ; - (**m_macPageSetupInfo).prInfo.rPage.right = int( ((double) m_paperSize.x - m_minMarginTopLeft.x - m_minMarginBottomRight.x)*mm2pt ) ; - (**m_macPageSetupInfo).prInfo.rPage.bottom = int( ((double) m_paperSize.y - m_minMarginTopLeft.y - m_minMarginBottomRight.y)*mm2pt ) ; - - //TODO add custom fields in dialog for margins - - } + if ( !m_macPageSetupInfo ) + { + m_macPageSetupInfo = (THPrint) NewHandleClear( sizeof( TPrint ) ) ; + if ( m_macPageSetupInfo ) + { + ::PrintDefault( m_macPageSetupInfo ) ; + } + } + if ( m_macPageSetupInfo ) + { + // on mac the paper rect has a negative top left corner, because the page rect (printable area) is at 0,0 + (**m_macPageSetupInfo).rPaper.left = int( ((double) m_minMarginTopLeft.x)*mm2pt ) ; + (**m_macPageSetupInfo).rPaper.top = int( ((double) m_minMarginTopLeft.y)*mm2pt ) ; + + (**m_macPageSetupInfo).rPaper.right = int( ((double) m_paperSize.x - m_minMarginTopLeft.x)*mm2pt ) ; + (**m_macPageSetupInfo).rPaper.bottom = int( ((double) m_paperSize.y - m_minMarginTopLeft.y)*mm2pt ) ; + + (**m_macPageSetupInfo).prInfo.rPage.left = 0 ; + (**m_macPageSetupInfo).prInfo.rPage.top = 0 ; + (**m_macPageSetupInfo).prInfo.rPage.right = int( ((double) m_paperSize.x - m_minMarginTopLeft.x - m_minMarginBottomRight.x)*mm2pt ) ; + (**m_macPageSetupInfo).prInfo.rPage.bottom = int( ((double) m_paperSize.y - m_minMarginTopLeft.y - m_minMarginBottomRight.y)*mm2pt ) ; + + //TODO add custom fields in dialog for margins + + } } void wxPageSetupDialogData::ConvertFromNative() { - if ( m_macPageSetupInfo ) - { - m_paperSize.x = ((double) (**m_macPageSetupInfo).rPaper.right - (**m_macPageSetupInfo).rPaper.left ) * pt2mm ; - m_paperSize.y = ((double) (**m_macPageSetupInfo).rPaper.bottom - (**m_macPageSetupInfo).rPaper.top ) * pt2mm ; - - m_minMarginTopLeft.x = ((double) -(**m_macPageSetupInfo).rPaper.left ) * pt2mm ; - m_minMarginTopLeft.y = ((double) -(**m_macPageSetupInfo).rPaper.top ) * pt2mm ; - - m_minMarginBottomRight.x = ((double) (**m_macPageSetupInfo).rPaper.right - (**m_macPageSetupInfo).prInfo.rPage.right ) * pt2mm ; - m_minMarginBottomRight.y = ((double)(**m_macPageSetupInfo).rPaper.bottom - (**m_macPageSetupInfo).prInfo.rPage.bottom ) * pt2mm ; - - // adjust minimal values - //TODO add custom fields in dialog for margins - - if ( m_marginTopLeft.x < m_minMarginTopLeft.x ) - m_marginTopLeft.x = m_minMarginTopLeft.x ; - - if ( m_marginBottomRight.x < m_minMarginBottomRight.x ) - m_marginBottomRight.x = m_minMarginBottomRight.x ; - - if ( m_marginTopLeft.y < m_minMarginTopLeft.y ) - m_marginTopLeft.y = m_minMarginTopLeft.y ; - - if ( m_marginBottomRight.y < m_minMarginBottomRight.y ) - m_marginBottomRight.y = m_minMarginBottomRight.y ; - - } + if ( m_macPageSetupInfo ) + { + m_paperSize.x = ((double) (**m_macPageSetupInfo).rPaper.right - (**m_macPageSetupInfo).rPaper.left ) * pt2mm ; + m_paperSize.y = ((double) (**m_macPageSetupInfo).rPaper.bottom - (**m_macPageSetupInfo).rPaper.top ) * pt2mm ; + + m_minMarginTopLeft.x = ((double) -(**m_macPageSetupInfo).rPaper.left ) * pt2mm ; + m_minMarginTopLeft.y = ((double) -(**m_macPageSetupInfo).rPaper.top ) * pt2mm ; + + m_minMarginBottomRight.x = ((double) (**m_macPageSetupInfo).rPaper.right - (**m_macPageSetupInfo).prInfo.rPage.right ) * pt2mm ; + m_minMarginBottomRight.y = ((double)(**m_macPageSetupInfo).rPaper.bottom - (**m_macPageSetupInfo).prInfo.rPage.bottom ) * pt2mm ; + + // adjust minimal values + //TODO add custom fields in dialog for margins + + if ( m_marginTopLeft.x < m_minMarginTopLeft.x ) + m_marginTopLeft.x = m_minMarginTopLeft.x ; + + if ( m_marginBottomRight.x < m_minMarginBottomRight.x ) + m_marginBottomRight.x = m_minMarginBottomRight.x ; + + if ( m_marginTopLeft.y < m_minMarginTopLeft.y ) + m_marginTopLeft.y = m_minMarginTopLeft.y ; + + if ( m_marginBottomRight.y < m_minMarginBottomRight.y ) + m_marginBottomRight.y = m_minMarginBottomRight.y ; + + } } #endif