initial commit
Signed-off-by: Peter Siegmund <mars3142@noreply.mars3142.dev>
This commit is contained in:
164
libs/wxWidgets-3.3.1/include/wx/gtk/dc.h
Normal file
164
libs/wxWidgets-3.3.1/include/wx/gtk/dc.h
Normal file
@@ -0,0 +1,164 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: wx/gtk/dc.h
|
||||
// Purpose:
|
||||
// Author: Robert Roebling
|
||||
// Copyright: (c) 1998 Robert Roebling
|
||||
// Licence: wxWindows licence
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _WX_GTKDC_H_
|
||||
#define _WX_GTKDC_H_
|
||||
|
||||
#ifdef __WXGTK3__
|
||||
|
||||
#include "wx/dcgraph.h"
|
||||
|
||||
class wxGTKCairoDCImpl: public wxGCDCImpl
|
||||
{
|
||||
typedef wxGCDCImpl BaseType;
|
||||
public:
|
||||
wxGTKCairoDCImpl(wxDC* owner);
|
||||
wxGTKCairoDCImpl(wxDC* owner, wxWindow* window, wxLayoutDirection dir = wxLayout_Default, int width = 0);
|
||||
|
||||
virtual void DoDrawBitmap(const wxBitmap& bitmap, int x, int y, bool useMask) override;
|
||||
virtual void DoDrawCheckMark(int x, int y, int width, int height) override;
|
||||
virtual void DoDrawIcon(const wxIcon& icon, int x, int y) override;
|
||||
virtual void DoDrawText(const wxString& text, int x, int y) override;
|
||||
virtual void DoDrawRotatedText(const wxString& text, int x, int y, double angle) override;
|
||||
#if wxUSE_IMAGE
|
||||
virtual bool DoFloodFill(int x, int y, const wxColour& col, wxFloodFillStyle style) override;
|
||||
#endif
|
||||
virtual wxBitmap DoGetAsBitmap(const wxRect* subrect) const override;
|
||||
virtual bool DoGetPixel(int x, int y, wxColour* col) const override;
|
||||
virtual void DoGetSize(int* width, int* height) const override;
|
||||
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) override;
|
||||
virtual void* GetCairoContext() const override;
|
||||
|
||||
virtual wxSize GetPPI() const override;
|
||||
virtual void SetLayoutDirection(wxLayoutDirection dir) override;
|
||||
virtual wxLayoutDirection GetLayoutDirection() const override;
|
||||
|
||||
protected:
|
||||
// Set m_size from the given (valid) GdkWindow.
|
||||
void InitSize(GdkWindow* window);
|
||||
void AdjustForRTL(cairo_t* cr);
|
||||
|
||||
wxSize m_size;
|
||||
wxLayoutDirection m_layoutDir;
|
||||
|
||||
wxDECLARE_NO_COPY_CLASS(wxGTKCairoDCImpl);
|
||||
};
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
class wxWindowDCImpl: public wxGTKCairoDCImpl
|
||||
{
|
||||
public:
|
||||
wxWindowDCImpl(wxWindowDC* owner, wxWindow* window);
|
||||
|
||||
wxDECLARE_NO_COPY_CLASS(wxWindowDCImpl);
|
||||
};
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
class wxClientDCImpl: public wxGTKCairoDCImpl
|
||||
{
|
||||
public:
|
||||
wxClientDCImpl(wxClientDC* owner, wxWindow* window);
|
||||
|
||||
static bool CanBeUsedForDrawing(const wxWindow* window);
|
||||
|
||||
wxDECLARE_NO_COPY_CLASS(wxClientDCImpl);
|
||||
};
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
class wxPaintDCImpl: public wxGTKCairoDCImpl
|
||||
{
|
||||
public:
|
||||
wxPaintDCImpl(wxPaintDC* owner, wxWindow* window);
|
||||
|
||||
wxDECLARE_NO_COPY_CLASS(wxPaintDCImpl);
|
||||
};
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
class wxScreenDCImpl: public wxGTKCairoDCImpl
|
||||
{
|
||||
public:
|
||||
wxScreenDCImpl(wxScreenDC* owner);
|
||||
|
||||
virtual wxSize GetPPI() const override;
|
||||
|
||||
wxDECLARE_NO_COPY_CLASS(wxScreenDCImpl);
|
||||
};
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
class wxMemoryDCImpl: public wxGTKCairoDCImpl
|
||||
{
|
||||
public:
|
||||
wxMemoryDCImpl(wxMemoryDC* owner);
|
||||
wxMemoryDCImpl(wxMemoryDC* owner, wxBitmap& bitmap);
|
||||
wxMemoryDCImpl(wxMemoryDC* owner, wxDC* dc);
|
||||
virtual wxBitmap DoGetAsBitmap(const wxRect* subrect) const override;
|
||||
virtual void DoSelect(const wxBitmap& bitmap) override;
|
||||
virtual const wxBitmap& GetSelectedBitmap() const override;
|
||||
virtual wxBitmap& GetSelectedBitmap() override;
|
||||
|
||||
private:
|
||||
void Setup();
|
||||
wxBitmap m_bitmap;
|
||||
|
||||
wxDECLARE_NO_COPY_CLASS(wxMemoryDCImpl);
|
||||
};
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
class WXDLLIMPEXP_CORE wxGTKCairoDC: public wxDC
|
||||
{
|
||||
public:
|
||||
wxGTKCairoDC(cairo_t* cr, wxWindow* window, wxLayoutDirection dir = wxLayout_LeftToRight, int width = 0);
|
||||
|
||||
wxDECLARE_NO_COPY_CLASS(wxGTKCairoDC);
|
||||
};
|
||||
|
||||
#else
|
||||
|
||||
#include "wx/dc.h"
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// wxDC
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
class WXDLLIMPEXP_CORE wxGTKDCImpl : public wxDCImpl
|
||||
{
|
||||
public:
|
||||
wxGTKDCImpl( wxDC *owner );
|
||||
virtual ~wxGTKDCImpl();
|
||||
|
||||
#if wxUSE_PALETTE
|
||||
void SetColourMap( const wxPalette& palette ) { SetPalette(palette); }
|
||||
#endif // wxUSE_PALETTE
|
||||
|
||||
// Resolution in pixels per logical inch
|
||||
virtual wxSize GetPPI() const override;
|
||||
|
||||
virtual bool StartDoc( const wxString& WXUNUSED(message) ) override { return true; }
|
||||
virtual void EndDoc() override { }
|
||||
virtual void StartPage() override { }
|
||||
virtual void EndPage() override { }
|
||||
|
||||
virtual GdkWindow* GetGDKWindow() const { return nullptr; }
|
||||
virtual void* GetHandle() const override { return GetGDKWindow(); }
|
||||
|
||||
// base class pure virtuals implemented here
|
||||
virtual void DoSetClippingRegion(wxCoord x, wxCoord y, wxCoord width, wxCoord height) override;
|
||||
virtual void DoGetSizeMM(int* width, int* height) const override;
|
||||
|
||||
wxDECLARE_ABSTRACT_CLASS(wxGTKDCImpl);
|
||||
};
|
||||
|
||||
// this must be defined when wxDC::Blit() honours the DC origin and needed to
|
||||
// allow wxUniv code in univ/winuniv.cpp to work with versions of wxGTK
|
||||
// 2.3.[23]
|
||||
#ifndef wxHAS_WORKING_GTK_DC_BLIT
|
||||
#define wxHAS_WORKING_GTK_DC_BLIT
|
||||
#endif
|
||||
|
||||
#endif
|
||||
#endif // _WX_GTKDC_H_
|
||||
Reference in New Issue
Block a user