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 *"?)
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
virtual int GetLogicalFunction() const { return m_logicalFunction; }
virtual void SetLogicalFunction(int function) = 0;
-#if WXWIN_COMPATIBILITY_2_4
- virtual void SetOptimization(bool WXUNUSED(opt)) { }
- virtual bool GetOptimization() { return false; }
-#endif
-
// bounding box
// ------------
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;
virtual void DoSetClippingRegion(wxCoord x, wxCoord y,
wxCoord width, wxCoord height) = 0;
-#if WXWIN_COMPATIBILITY_2_4
- // this was only for confusing people, use DoGetClippingBox only
- virtual void DoGetClippingRegion(wxCoord *x, wxCoord *y,
- wxCoord *w, wxCoord *h)
- { DoGetClippingBox(x, y, w, h); }
-#endif
-
virtual void DoGetClippingBox(wxCoord *x, wxCoord *y,
wxCoord *w, wxCoord *h) const
{
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() )
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 WXDLLEXPORT wxOverlayImpl;
-class WXDLLEXPORT 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;
-
-
- DECLARE_NO_COPY_CLASS(wxOverlay)
-};
-
-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;
-
-
- DECLARE_NO_COPY_CLASS(wxDCOverlay)
-};
-
#endif // _WX_DC_H_BASE_