]> git.saurik.com Git - wxWidgets.git/commitdiff
adding wxobject and RTTI
authorStefan Csomor <csomor@advancedconcepts.ch>
Sun, 22 Oct 2006 17:52:23 +0000 (17:52 +0000)
committerStefan Csomor <csomor@advancedconcepts.ch>
Sun, 22 Oct 2006 17:52:23 +0000 (17:52 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42243 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/graphics.h
src/common/graphcmn.cpp

index 1c748a249db1bba436ba06ea5cf027c0bdc7abdc..6c31955a4778be549262ba836ef6f9d877272e2e 100755 (executable)
@@ -26,7 +26,7 @@ class WXDLLEXPORT wxWindowDC;
  * in direction of positive y axis.
  */
  
-class WXDLLEXPORT wxGraphicsPath
+class WXDLLEXPORT wxGraphicsPath : public wxObject
 {
 public :
     wxGraphicsPath() {}
@@ -83,7 +83,16 @@ public :
 
     void AddArc( const wxPoint2DDouble& c, wxDouble r, wxDouble startAngle, wxDouble endAngle, bool clockwise);
        
+       /*
+       // returns the native path
+       virtual void * GetNativePath() = 0;
+       
+       // give the native path returned by GetNativePath() back (there might be some deallocations necessary)
+       virtual void UnGetNativePath(void *p) = 0;
+       */
+
     DECLARE_NO_COPY_CLASS(wxGraphicsPath)
+    DECLARE_ABSTRACT_CLASS(wxGraphicsPath)
 };
 
 /*
@@ -120,7 +129,7 @@ public :
 } ;
 */
 
-class WXDLLEXPORT wxGraphicsContext
+class WXDLLEXPORT wxGraphicsContext : public wxObject
 {
 public:
     wxGraphicsContext() {}
@@ -259,6 +268,7 @@ public:
      // wrappers using wxPoint2DDouble TODO
 
     DECLARE_NO_COPY_CLASS(wxGraphicsContext)
+    DECLARE_ABSTRACT_CLASS(wxGraphicsContext)
 };
 
 #endif
index b66531f91029840b0da1884fa00662ee59c4a8cb..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 );
@@ -1089,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();