support for GTK3
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71894 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -10,6 +10,105 @@
|
||||
#ifndef _WX_GTKDC_H_
|
||||
#define _WX_GTKDC_H_
|
||||
|
||||
#ifdef __WXGTK3__
|
||||
|
||||
#include "wx/dcgraph.h"
|
||||
|
||||
class wxGTKCairoDCImpl: public wxGCDCImpl
|
||||
{
|
||||
typedef wxGCDCImpl base_type;
|
||||
public:
|
||||
wxGTKCairoDCImpl(wxDC* owner);
|
||||
wxGTKCairoDCImpl(wxDC* owner, wxWindow* window);
|
||||
virtual void DoDrawBitmap(const wxBitmap& bitmap, int x, int y, bool useMask);
|
||||
virtual void DoDrawIcon(const wxIcon& icon, int x, int y);
|
||||
#if wxUSE_IMAGE
|
||||
virtual bool DoFloodFill(int x, int y, const wxColour& col, wxFloodFillStyle style);
|
||||
#endif
|
||||
virtual wxBitmap DoGetAsBitmap(const wxRect* subrect) const;
|
||||
virtual bool DoGetPixel(int x, int y, wxColour* col) const;
|
||||
virtual void DoGetSize(int* width, int* height) const;
|
||||
virtual bool DoStretchBlit(int xdest, int ydest, int dstWidth, int dstHeight, wxDC* source, int xsrc, int ysrc, int srcWidth, int srcHeight, wxRasterOperationMode rop, bool useMask, int xsrcMask, int ysrcMask);
|
||||
virtual void* GetCairoContext() const;
|
||||
|
||||
protected:
|
||||
int m_width, m_height;
|
||||
|
||||
wxDECLARE_NO_COPY_CLASS(wxGTKCairoDCImpl);
|
||||
};
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
class wxWindowDCImpl: public wxGTKCairoDCImpl
|
||||
{
|
||||
typedef wxGTKCairoDCImpl base_type;
|
||||
public:
|
||||
wxWindowDCImpl(wxWindowDC* owner, wxWindow* window);
|
||||
|
||||
wxDECLARE_NO_COPY_CLASS(wxWindowDCImpl);
|
||||
};
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
class wxClientDCImpl: public wxGTKCairoDCImpl
|
||||
{
|
||||
typedef wxGTKCairoDCImpl base_type;
|
||||
public:
|
||||
wxClientDCImpl(wxClientDC* owner, wxWindow* window);
|
||||
|
||||
wxDECLARE_NO_COPY_CLASS(wxClientDCImpl);
|
||||
};
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
class wxPaintDCImpl: public wxGTKCairoDCImpl
|
||||
{
|
||||
typedef wxGTKCairoDCImpl base_type;
|
||||
public:
|
||||
wxPaintDCImpl(wxPaintDC* owner, wxWindow* window);
|
||||
|
||||
wxDECLARE_NO_COPY_CLASS(wxPaintDCImpl);
|
||||
};
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
class wxScreenDCImpl: public wxGTKCairoDCImpl
|
||||
{
|
||||
typedef wxGTKCairoDCImpl base_type;
|
||||
public:
|
||||
wxScreenDCImpl(wxScreenDC* owner);
|
||||
|
||||
wxDECLARE_NO_COPY_CLASS(wxScreenDCImpl);
|
||||
};
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
class wxMemoryDCImpl: public wxGTKCairoDCImpl
|
||||
{
|
||||
typedef wxGTKCairoDCImpl base_type;
|
||||
public:
|
||||
wxMemoryDCImpl(wxMemoryDC* owner);
|
||||
wxMemoryDCImpl(wxMemoryDC* owner, wxBitmap& bitmap);
|
||||
wxMemoryDCImpl(wxMemoryDC* owner, wxDC* dc);
|
||||
virtual wxBitmap DoGetAsBitmap(const wxRect* subrect) const;
|
||||
virtual void DoSelect(const wxBitmap& bitmap);
|
||||
virtual const wxBitmap& GetSelectedBitmap() const;
|
||||
virtual wxBitmap& GetSelectedBitmap();
|
||||
|
||||
private:
|
||||
void Setup();
|
||||
wxBitmap m_bitmap;
|
||||
|
||||
wxDECLARE_NO_COPY_CLASS(wxMemoryDCImpl);
|
||||
};
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
class WXDLLIMPEXP_CORE wxGTKCairoDC: public wxDC
|
||||
{
|
||||
typedef wxDC base_type;
|
||||
public:
|
||||
wxGTKCairoDC(cairo_t* cr);
|
||||
|
||||
wxDECLARE_NO_COPY_CLASS(wxGTKCairoDC);
|
||||
};
|
||||
|
||||
#else
|
||||
|
||||
#include "wx/dc.h"
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
@@ -50,4 +149,5 @@ public:
|
||||
#define wxHAS_WORKING_GTK_DC_BLIT
|
||||
#endif
|
||||
|
||||
#endif
|
||||
#endif // _WX_GTKDC_H_
|
||||
|
Reference in New Issue
Block a user