X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2e992e06a71d90f1df597441af36f69ef390089a..459f812badc752b14c96ea294442c50390ee5030:/include/wx/dc.h diff --git a/include/wx/dc.h b/include/wx/dc.h index 0fc5689f39..dbe62c4d95 100644 --- a/include/wx/dc.h +++ b/include/wx/dc.h @@ -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 *"?) @@ -651,6 +657,16 @@ public: if (h) *h = hh; } + // RTL related functions + // --------------------- + + // get or change the layout direction (LTR or RTL) for this dc, + // wxLayout_Default is returned if layout direction is not supported + virtual wxLayoutDirection GetLayoutDirection() const + { return wxLayout_Default; } + virtual void SetLayoutDirection(wxLayoutDirection WXUNUSED(dir)) + { } + protected: // the pure virtual functions which should be implemented by wxDC virtual bool DoFloodFill(wxCoord x, wxCoord y, const wxColour& col, @@ -701,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; @@ -845,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 @@ -855,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() ) @@ -953,5 +980,4 @@ private: DECLARE_NO_COPY_CLASS(wxDCClipper) }; -#endif - // _WX_DC_H_BASE_ +#endif // _WX_DC_H_BASE_