X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/04ab8b6ddfa26fbabeadad36966a21a42fe649b1..a01ada0599acdc11497850c4c8e846d3f237bf91:/include/wx/dfb/dc.h?ds=sidebyside diff --git a/include/wx/dfb/dc.h b/include/wx/dfb/dc.h index 717be0a844..d5acf69401 100644 --- a/include/wx/dfb/dc.h +++ b/include/wx/dfb/dc.h @@ -13,23 +13,28 @@ #include "wx/defs.h" #include "wx/region.h" +#include "wx/dc.h" #include "wx/dfb/dfbptr.h" wxDFB_DECLARE_INTERFACE(IDirectFBSurface); //----------------------------------------------------------------------------- -// wxDC +// wxDFBDCImpl //----------------------------------------------------------------------------- -class WXDLLIMPEXP_CORE wxDC : public wxDCBase +class WXDLLIMPEXP_CORE wxDFBDCImpl : public wxDCImpl { public: - wxDC(); + // ctors + wxDFBDCImpl(wxDC *owner) : wxDCImpl(owner) { m_surface = NULL; } + wxDFBDCImpl(wxDC *owner, const wxIDirectFBSurfacePtr& surface) + : wxDCImpl(owner) + { + DFBInit(surface); + } - // Ctor. - wxDC(const wxIDirectFBSurfacePtr& surface); + bool IsOk() const { return m_surface != NULL; } -public: // implement base class pure virtuals // ---------------------------------- @@ -50,6 +55,8 @@ public: virtual void SetPalette(const wxPalette& palette); #endif + virtual void SetLogicalFunction(wxRasterOperationMode function); + virtual void DestroyClippingRegion(); virtual wxCoord GetCharHeight() const; @@ -78,13 +85,13 @@ protected: wxCoord XLOG2DEVREL(wxCoord x) const { return LogicalToDeviceXRel(x); } wxCoord YLOG2DEV(wxCoord y) const { return LogicalToDeviceY(y); } wxCoord YLOG2DEVREL(wxCoord y) const { return LogicalToDeviceYRel(y); } - + // initializes the DC from a surface, must be called if default ctor // was used void DFBInit(const wxIDirectFBSurfacePtr& surface); virtual bool DoFloodFill(wxCoord x, wxCoord y, const wxColour& col, - int style = wxFLOOD_SURFACE); + wxFloodFillStyle style = wxFLOOD_SURFACE); virtual bool DoGetPixel(wxCoord x, wxCoord y, wxColour *col) const; @@ -115,13 +122,12 @@ protected: virtual bool DoBlit(wxCoord xdest, wxCoord ydest, wxCoord width, wxCoord height, wxDC *source, wxCoord xsrc, wxCoord ysrc, - int rop = wxCOPY, bool useMask = false, wxCoord xsrcMask = -1, wxCoord ysrcMask = -1); + wxRasterOperationMode rop = wxCOPY, bool useMask = false, + wxCoord xsrcMask = -1, wxCoord ysrcMask = -1); - // this is gnarly - we can't even call this function DoSetClippingRegion() - // because of virtual function hiding - virtual void DoSetClippingRegionAsRegion(const wxRegion& region); virtual void DoSetClippingRegion(wxCoord x, wxCoord y, wxCoord width, wxCoord height); + virtual void DoSetDeviceClippingRegion(const wxRegion& region); virtual void DoGetSize(int *width, int *height) const; virtual void DoGetSizeMM(int* width, int* height) const; @@ -130,7 +136,7 @@ protected: wxCoord xoffset, wxCoord yoffset); virtual void DoDrawPolygon(int n, wxPoint points[], wxCoord xoffset, wxCoord yoffset, - int fillStyle = wxODDEVEN_RULE); + wxPolygonFillMode fillStyle = wxODDEVEN_RULE); // implementation from now on: protected: @@ -154,9 +160,9 @@ protected: double m_mm_to_pix_x, m_mm_to_pix_y; - friend class WXDLLIMPEXP_CORE wxOverlayImpl; // for Init + friend class WXDLLIMPEXP_FWD_CORE wxOverlayImpl; // for Init - DECLARE_DYNAMIC_CLASS(wxDC) + DECLARE_ABSTRACT_CLASS(wxDFBDCImpl) }; #endif // _WX_DFB_DC_H_