]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/dc.h
Change GetC to return an int so that it can return wxEOF on error.
[wxWidgets.git] / include / wx / dc.h
index faed2c0dce3f1189824925cc53db49daf269f0f7..dbe62c4d95e2f94754072a0c0c5c4e3ceeef919b 100644 (file)
@@ -18,6 +18,7 @@
 
 #include "wx/object.h"          // the base class
 
+#include "wx/intl.h"            // for wxLayoutDirection
 #include "wx/cursor.h"          // we have member variables of these classes
 #include "wx/font.h"            // so we can't do without them
 #include "wx/colour.h"
@@ -312,6 +313,11 @@ public:
         return DoBlit(destPt.x, destPt.y, sz.x, sz.y,
                       source, srcPt.x, srcPt.y, rop, useMask, srcPtMask.x, srcPtMask.y);
     }
+    
+    wxBitmap GetAsBitmap(const wxRect *subrect = (const wxRect *) NULL) const
+    {
+        return DoGetAsBitmap(subrect);
+    }
 
 #if wxUSE_SPLINES
     // TODO: this API needs fixing (wxPointList, why (!const) "wxList *"?)
@@ -711,6 +717,8 @@ protected:
                         wxDC *source, wxCoord xsrc, wxCoord ysrc,
                         int rop = wxCOPY, bool useMask = false, wxCoord xsrcMask = wxDefaultCoord, wxCoord ysrcMask = wxDefaultCoord) = 0;
 
+    virtual wxBitmap DoGetAsBitmap(const wxRect *WXUNUSED(subrect)) const { return wxNullBitmap; }
+
     virtual void DoGetSize(int *width, int *height) const = 0;
     virtual void DoGetSizeMM(int* width, int* height) const = 0;
 
@@ -855,6 +863,10 @@ private:
     #include "wx/os2/dc.h"
 #endif
 
+#if wxUSE_GRAPHICS_CONTEXT
+    #include "wx/dcgraph.h"
+#endif
+
 // ----------------------------------------------------------------------------
 // helper class: you can use it to temporarily change the DC text colour and
 // restore it automatically when the object goes out of scope
@@ -865,6 +877,11 @@ class WXDLLEXPORT wxDCTextColourChanger
 public:
     wxDCTextColourChanger(wxDC& dc) : m_dc(dc), m_colFgOld() { }
 
+    wxDCTextColourChanger(wxDC& dc, const wxColour& col) : m_dc(dc)
+    {
+        Set(col);
+    }
+
     ~wxDCTextColourChanger()
     {
         if ( m_colFgOld.Ok() )
@@ -963,66 +980,4 @@ private:
     DECLARE_NO_COPY_CLASS(wxDCClipper)
 };
 
-// ----------------------------------------------------------------------------
-// creates an overlay over an existing window, allowing for manipulations like
-// rubberbanding etc. this API is not stable yet, not to be used outside wx 
-// internal code
-// ----------------------------------------------------------------------------
-
-class wxOverlayImpl ;
-class wxWindowDC ;
-
-class WXDLLEXPORT wxOverlay 
-{
-public :
-    wxOverlay();    
-    ~wxOverlay();
-    
-    // clears the overlay without restoring the former state
-    // to be done eg when the window content has been changed and repainted
-    void Reset();
-    
-private :
-    friend class WXDLLEXPORT wxDCOverlay;
-    
-    // returns true if it has been setup
-    bool IsOk();
-
-    void Init( wxWindowDC* dc, int x , int y , int width , int height );
-    
-    void BeginDrawing( wxWindowDC* dc);
-    
-    void EndDrawing( wxWindowDC* dc);
-    
-    void Clear( wxWindowDC* dc);
-
-    wxOverlayImpl* m_impl;
-    
-    bool m_inDrawing;
-} ;
-
-class WXDLLEXPORT wxDCOverlay
-{
-public :
-    // connects this overlay to the corresponding drawing dc, if the overlay is not initialized yet
-    // this call will do so
-    wxDCOverlay(wxOverlay &overlay, wxWindowDC *dc, int x , int y , int width , int height);    
-    
-    // convenience wrapper that behaves the same using the entire area of the dc
-    wxDCOverlay(wxOverlay &overlay, wxWindowDC *dc);    
-
-    // removes the connection between the overlay and the dc
-    virtual ~wxDCOverlay();    
-    
-    // clears the layer, restoring the state at the last init
-    void Clear();
-private :
-    void Init(wxWindowDC *dc, int x , int y , int width , int height);
-
-    wxOverlay& m_overlay;
-
-    wxWindowDC* m_dc;
-} ;
-
-#endif
-    // _WX_DC_H_BASE_
+#endif // _WX_DC_H_BASE_