]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/graphcmn.cpp
on demand creation of native CGContexts , so that pure text measuring contexts don...
[wxWidgets.git] / src / common / graphcmn.cpp
index 0b9c6be864d7ea78ddc287e110c4cdb0cbdd0c1b..f921072da7f4ee7e07fb183468f8a1f6a607d1be 100644 (file)
@@ -48,6 +48,8 @@ static inline double DegToRad(double deg)
 
 //-----------------------------------------------------------------------------
 
+IMPLEMENT_ABSTRACT_CLASS(wxGraphicsPath, wxObject)
+
 wxPoint2DDouble wxGraphicsPath::GetCurrentPoint()
 {
     wxDouble x,y;
@@ -150,6 +152,8 @@ void wxGraphicsPath::AddArcToPoint( wxDouble x1, wxDouble y1 , wxDouble x2, wxDo
 // wxGraphicsContext Convenience Methods
 //-----------------------------------------------------------------------------
 
+IMPLEMENT_ABSTRACT_CLASS(wxGraphicsContext, wxObject)
+
 void wxGraphicsContext::DrawPath( const wxGraphicsPath *path, int fillStyle )
 {
     FillPath( path , fillStyle );
@@ -274,6 +278,11 @@ wxGCDC::wxGCDC()
     Init();
 }
 
+void wxGCDC::SetGraphicsContext( wxGraphicsContext* ctx )
+{ 
+    delete m_graphicContext;
+    m_graphicContext = ctx;
+}
 
 wxGCDC::wxGCDC(const wxWindowDC& dc)
 {
@@ -1084,7 +1093,7 @@ bool wxGCDC::DoBlit(
     wxCoord wwdest = LogicalToDeviceXRel(width);
     wxCoord hhdest = LogicalToDeviceYRel(height);
 
-    wxMemoryDC* memdc = dynamic_cast<wxMemoryDC*>(source);
+    wxMemoryDC* memdc = wxDynamicCast(source,wxMemoryDC);
     if ( memdc && logical_func == wxCOPY )
     {
         wxBitmap blit = memdc->GetSelectedBitmap();