]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/dc.h
disable (some) features that are not available in DirectFB
[wxWidgets.git] / include / wx / dc.h
index b11ec40d9a410dc3841a24eb592aa6dff2b146a5..57e23f8aad0edc8cd437c23a5fef284dde8aaab3 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 *"?)
@@ -435,12 +441,26 @@ public:
                        wxFont *theFont = NULL) const
         { DoGetTextExtent(string, x, y, descent, externalLeading, theFont); }
 
+    wxSize GetTextExtent(const wxString& string) const
+    {
+        wxCoord w, h;
+        DoGetTextExtent(string, &w, &h);
+        return wxSize(w, h);
+    }
+
     // works for single as well as multi-line strings
-    virtual void GetMultiLineTextExtent(const wxString& text,
+    virtual void GetMultiLineTextExtent(const wxString& string,
                                         wxCoord *width,
                                         wxCoord *height,
                                         wxCoord *heightLine = NULL,
-                                        wxFont *font = NULL);
+                                        wxFont *font = NULL) const;
+
+    wxSize GetMultiLineTextExtent(const wxString& string) const
+    {
+        wxCoord w, h;
+        GetMultiLineTextExtent(string, &w, &h);
+        return wxSize(w, h);
+    }
 
     // Measure cumulative width of text after each character
     bool GetPartialTextExtents(const wxString& text, wxArrayInt& widths) const
@@ -711,6 +731,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 +877,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 +891,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,5 +994,4 @@ private:
     DECLARE_NO_COPY_CLASS(wxDCClipper)
 };
 
-#endif
-    // _WX_DC_H_BASE_
+#endif // _WX_DC_H_BASE_