04ab8b6ddf
and thus removed all the duplicated code in all wxDC classes. Problematic is that wxSVGFileDC and wxPostscriptDC inherit from wxDC and therefore include platform specific code (also before this change) so I chose to override all SetLogicalOrigin() etc. methods in these classes and call their wxDCBase methods thereby circumventing the platform dependent code. I'm afraid the Mac code will require updating, too. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45752 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
64 lines
2.2 KiB
C++
64 lines
2.2 KiB
C++
/////////////////////////////////////////////////////////////////////////////
|
|
// Name: wx/gtk/dc.h
|
|
// Purpose:
|
|
// Author: Robert Roebling
|
|
// Id: $Id$
|
|
// Copyright: (c) 1998 Robert Roebling
|
|
// Licence: wxWindows licence
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef __GTKDCH__
|
|
#define __GTKDCH__
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// wxDC
|
|
//-----------------------------------------------------------------------------
|
|
|
|
class WXDLLIMPEXP_CORE wxDC : public wxDCBase
|
|
{
|
|
public:
|
|
wxDC();
|
|
virtual ~wxDC() { }
|
|
|
|
#if wxUSE_PALETTE
|
|
void SetColourMap( const wxPalette& palette ) { SetPalette(palette); };
|
|
#endif // wxUSE_PALETTE
|
|
|
|
// Resolution in pixels per logical inch
|
|
virtual wxSize GetPPI() const;
|
|
|
|
virtual bool StartDoc( const wxString& WXUNUSED(message) ) { return true; }
|
|
virtual void EndDoc() { }
|
|
virtual void StartPage() { }
|
|
virtual void EndPage() { }
|
|
|
|
virtual GdkWindow* GetGDKWindow() const { return NULL; }
|
|
|
|
protected:
|
|
// implementation
|
|
wxCoord XDEV2LOG(wxCoord x) const { return DeviceToLogicalX(x); }
|
|
wxCoord XDEV2LOGREL(wxCoord x) const { return DeviceToLogicalXRel(x); }
|
|
wxCoord YDEV2LOG(wxCoord y) const { return DeviceToLogicalY(y); }
|
|
wxCoord YDEV2LOGREL(wxCoord y) const { return DeviceToLogicalYRel(y); }
|
|
wxCoord XLOG2DEV(wxCoord x) const { return LogicalToDeviceX(x); }
|
|
wxCoord XLOG2DEVREL(wxCoord x) const { return LogicalToDeviceXRel(x); }
|
|
wxCoord YLOG2DEV(wxCoord y) const { return LogicalToDeviceY(y); }
|
|
wxCoord YLOG2DEVREL(wxCoord y) const { return LogicalToDeviceYRel(y); }
|
|
|
|
// base class pure virtuals implemented here
|
|
virtual void DoSetClippingRegion(wxCoord x, wxCoord y, wxCoord width, wxCoord height);
|
|
virtual void DoGetSizeMM(int* width, int* height) const;
|
|
|
|
private:
|
|
DECLARE_ABSTRACT_CLASS(wxDC)
|
|
};
|
|
|
|
// this must be defined when wxDC::Blit() honours the DC origian 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 // __GTKDCH__
|