wxWindowDC::wxWindowDC()
{
+ m_window = NULL ;
}
-wxWindowDC::wxWindowDC(wxWindow *the_canvas)
+wxWindowDC::wxWindowDC(wxWindow *window)
{
- wxTopLevelWindowMac* rootwindow = the_canvas->MacGetTopLevelWindow() ;
+ m_window = window ;
+ wxTopLevelWindowMac* rootwindow = window->MacGetTopLevelWindow() ;
WindowRef windowref = (WindowRef) rootwindow->MacGetWindowRef() ;
int x , y ;
x = y = 0 ;
- the_canvas->MacWindowToRootWindow( &x , &y ) ;
+ window->MacWindowToRootWindow( &x , &y ) ;
m_macLocalOrigin.x = x ;
m_macLocalOrigin.y = y ;
- CopyRgn( (RgnHandle) the_canvas->MacGetVisibleRegion().GetWXHRGN() , (RgnHandle) m_macBoundaryClipRgn ) ;
+ CopyRgn( (RgnHandle) window->MacGetVisibleRegion().GetWXHRGN() , (RgnHandle) m_macBoundaryClipRgn ) ;
OffsetRgn( (RgnHandle) m_macBoundaryClipRgn , m_macLocalOrigin.x , m_macLocalOrigin.y ) ;
CopyRgn( (RgnHandle) m_macBoundaryClipRgn , (RgnHandle) m_macCurrentClipRgn ) ;
m_macPort = UMAGetWindowPort( windowref ) ;
- m_minY = m_minX = 0;
- wxSize size = the_canvas->GetSize() ;
- m_maxX = size.x ;
- m_maxY = size.y ;
-
- m_ok = TRUE ;
- SetBackground(the_canvas->MacGetBackgroundBrush());
+ m_ok = TRUE ;
+ SetBackground(window->MacGetBackgroundBrush());
}
wxWindowDC::~wxWindowDC()
{
}
+void wxWindowDC::DoGetSize( int* width, int* height ) const
+{
+ wxCHECK_RET( m_window, _T("GetSize() doesn't work without window") );
+
+ m_window->GetSize(width, height);
+}
+
/*
* wxClientDC
*/
wxClientDC::wxClientDC()
{
+ m_window = NULL ;
}
wxClientDC::wxClientDC(wxWindow *window)
{
+ m_window = window ;
wxTopLevelWindowMac* rootwindow = window->MacGetTopLevelWindow() ;
if (!rootwindow)
return;
OffsetRgn( (RgnHandle) m_macBoundaryClipRgn , m_macLocalOrigin.x , m_macLocalOrigin.y ) ;
CopyRgn( (RgnHandle) m_macBoundaryClipRgn ,(RgnHandle) m_macCurrentClipRgn ) ;
m_macPort = UMAGetWindowPort( windowref ) ;
- m_minY = m_minX = 0;
- m_maxX = size.x ;
- m_maxY = size.y ;
+
m_ok = TRUE ;
SetBackground(window->MacGetBackgroundBrush());
SetFont( window->GetFont() ) ;
{
}
+void wxClientDC::DoGetSize(int *width, int *height) const
+{
+ wxCHECK_RET( m_window, _T("GetSize() doesn't work without window") );
+
+ m_window->GetClientSize( width, height );
+}
+
+
/*
* wxPaintDC
*/
wxPaintDC::wxPaintDC()
{
+ m_window = NULL ;
}
wxPaintDC::wxPaintDC(wxWindow *window)
{
+ m_window = window ;
wxTopLevelWindowMac* rootwindow = window->MacGetTopLevelWindow() ;
WindowRef windowref = (WindowRef) rootwindow->MacGetWindowRef() ;
wxPoint origin = window->GetClientAreaOrigin() ;
OffsetRgn( (RgnHandle) m_macBoundaryClipRgn , m_macLocalOrigin.x , m_macLocalOrigin.y ) ;
CopyRgn( (RgnHandle) m_macBoundaryClipRgn , (RgnHandle) m_macCurrentClipRgn ) ;
m_macPort = UMAGetWindowPort( windowref ) ;
- m_minY = m_minX = 0;
- m_maxX = size.x ;
- m_maxY = size.y ;
+
m_ok = TRUE ;
SetBackground(window->MacGetBackgroundBrush());
SetFont( window->GetFont() ) ;
wxPaintDC::~wxPaintDC()
{
}
+
+void wxPaintDC::DoGetSize(int *width, int *height) const
+{
+ wxCHECK_RET( m_window, _T("GetSize() doesn't work without window") );
+
+ m_window->GetClientSize( width, height );
+}
+
+