}
}
+void wxWindowDC::DoGetSize( int* width, int* height ) const
+{
+ wxCHECK_RET( m_owner, _T("GetSize() doesn't work without window") );
+
+ m_owner->GetSize(width, height);
+}
+
void wxWindowDC::DoFloodFill( wxCoord WXUNUSED(x), wxCoord WXUNUSED(y),
const wxColour &WXUNUSED(col), int WXUNUSED(style) )
{
memdc.SelectObject(bitmap);
memdc.Blit(0, 0, 1, 1, (wxDC*) this, x1, y1);
memdc.SelectObject(wxNullBitmap);
+
wxImage image(bitmap);
col->Set(image.GetRed(0, 0), image.GetGreen(0, 0), image.GetBlue(0, 0));
return TRUE;
}
if (m_pen.GetStyle() != wxTRANSPARENT)
+ {
gdk_draw_arc( m_window, m_penGC, FALSE, xxc-r, yyc-r, 2*r,2*r, alpha1, alpha2 );
+
+ gdk_draw_line( m_window, m_penGC, xx1, yy1, xxc, yyc );
+ gdk_draw_line( m_window, m_penGC, xxc, yyc, xx2, yy2 );
+ }
}
CalcBoundingBox (x1, y1);
if (m_window)
{
wxCoord start = wxCoord(sa * 64.0);
- wxCoord end = wxCoord(ea * 64.0);
+ wxCoord end = wxCoord((ea-sa) * 64.0);
if (m_brush.GetStyle() != wxTRANSPARENT)
{
// Resolution in pixels per logical inch
wxSize wxWindowDC::GetPPI() const
{
- return wxSize(100, 100);
+ return wxSize(m_mm_to_pix_x * 25.4 + 0.5, m_mm_to_pix_y * 25.4 + 0.5);
}
int wxWindowDC::GetDepth() const
// wxPaintDC
//-----------------------------------------------------------------------------
-IMPLEMENT_DYNAMIC_CLASS(wxPaintDC,wxWindowDC)
-
-wxPaintDC::wxPaintDC()
- : wxWindowDC()
-{
-}
+IMPLEMENT_DYNAMIC_CLASS(wxPaintDC, wxClientDC)
wxPaintDC::wxPaintDC( wxWindow *win )
- : wxWindowDC( win )
+ : wxClientDC( win )
{
#if USE_PAINT_REGION
if (!win->m_clipPaintRegion)
return;
-
+
m_paintClippingRegion = win->GetUpdateRegion();
GdkRegion *region = m_paintClippingRegion.GetRegion();
if ( region )
// wxClientDC
//-----------------------------------------------------------------------------
-IMPLEMENT_DYNAMIC_CLASS(wxClientDC,wxWindowDC)
+IMPLEMENT_DYNAMIC_CLASS(wxClientDC, wxWindowDC)
-wxClientDC::wxClientDC()
- : wxWindowDC()
+wxClientDC::wxClientDC( wxWindow *win )
+ : wxWindowDC( win )
{
}
-wxClientDC::wxClientDC( wxWindow *win )
- : wxWindowDC( win )
+void wxClientDC::DoGetSize(int *width, int *height) const
{
+ wxCHECK_RET( m_owner, _T("GetSize() doesn't work without window") );
+
+ m_owner->GetClientSize( width, height );
}
// ----------------------------------------------------------------------------