mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-29 00:59:44 -06:00
wxWidgets3: update to svn r70933
This commit is contained in:
82
Externals/wxWidgets3/include/wx/dc.h
vendored
82
Externals/wxWidgets3/include/wx/dc.h
vendored
@ -4,7 +4,7 @@
|
||||
// Author: Vadim Zeitlin
|
||||
// Modified by:
|
||||
// Created: 05/25/99
|
||||
// RCS-ID: $Id: dc.h 67063 2011-02-27 12:48:13Z VZ $
|
||||
// RCS-ID: $Id: dc.h 68935 2011-08-27 23:26:53Z RD $
|
||||
// Copyright: (c) wxWidgets team
|
||||
// Licence: wxWindows licence
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
@ -30,6 +30,7 @@
|
||||
#include "wx/math.h"
|
||||
#include "wx/image.h"
|
||||
#include "wx/region.h"
|
||||
#include "wx/affinematrix2d.h"
|
||||
|
||||
#define wxUSE_NEW_DC 1
|
||||
|
||||
@ -42,6 +43,10 @@ class WXDLLIMPEXP_FWD_CORE wxMemoryDC;
|
||||
class WXDLLIMPEXP_FWD_CORE wxPrinterDC;
|
||||
class WXDLLIMPEXP_FWD_CORE wxPrintData;
|
||||
|
||||
#if wxUSE_GRAPHICS_CONTEXT
|
||||
class WXDLLIMPEXP_FWD_CORE wxGraphicsContext;
|
||||
#endif
|
||||
|
||||
// Logical ops
|
||||
enum wxRasterOperationMode
|
||||
{
|
||||
@ -470,7 +475,7 @@ public:
|
||||
}
|
||||
|
||||
virtual void SetLogicalScale(double x, double y);
|
||||
virtual void GetLogicalScale(double *x, double *y)
|
||||
virtual void GetLogicalScale(double *x, double *y) const
|
||||
{
|
||||
if ( x ) *x = m_logicalScaleX;
|
||||
if ( y ) *y = m_logicalScaleY;
|
||||
@ -490,6 +495,20 @@ public:
|
||||
if ( y ) *y = m_deviceOriginY;
|
||||
}
|
||||
|
||||
#if wxUSE_DC_TRANSFORM_MATRIX
|
||||
// Transform matrix support is not available in most ports right now
|
||||
// (currently only wxMSW provides it) so do nothing in these methods by
|
||||
// default.
|
||||
virtual bool CanUseTransformMatrix() const
|
||||
{ return false; }
|
||||
virtual bool SetTransformMatrix(const wxAffineMatrix2D& WXUNUSED(matrix))
|
||||
{ return false; }
|
||||
virtual wxAffineMatrix2D GetTransformMatrix() const
|
||||
{ return wxAffineMatrix2D(); }
|
||||
virtual void ResetTransformMatrix()
|
||||
{ }
|
||||
#endif // wxUSE_DC_TRANSFORM_MATRIX
|
||||
|
||||
virtual void SetDeviceLocalOrigin( wxCoord x, wxCoord y );
|
||||
|
||||
virtual void ComputeScaleAndOrigin();
|
||||
@ -497,6 +516,19 @@ public:
|
||||
// this needs to overidden if the axis is inverted
|
||||
virtual void SetAxisOrientation(bool xLeftRight, bool yBottomUp);
|
||||
|
||||
#ifdef __WXMSW__
|
||||
// Native Windows functions using the underlying HDC don't honour GDI+
|
||||
// transformations which may be applied to it. Using this function we can
|
||||
// transform the coordinates manually before passing them to such functions
|
||||
// (as in e.g. wxRendererMSW code). It doesn't do anything if this is not a
|
||||
// wxGCDC.
|
||||
virtual wxRect MSWApplyGDIPlusTransform(const wxRect& r) const
|
||||
{
|
||||
return r;
|
||||
}
|
||||
#endif // __WXMSW__
|
||||
|
||||
|
||||
// ---------------------------------------------------------
|
||||
// the actual drawing API
|
||||
|
||||
@ -612,6 +644,13 @@ public:
|
||||
virtual int GetResolution() const
|
||||
{ return -1; }
|
||||
|
||||
#if wxUSE_GRAPHICS_CONTEXT
|
||||
virtual wxGraphicsContext* GetGraphicsContext() const
|
||||
{ return NULL; }
|
||||
virtual void SetGraphicsContext( wxGraphicsContext* WXUNUSED(ctx) )
|
||||
{}
|
||||
#endif
|
||||
|
||||
private:
|
||||
wxDC *m_owner;
|
||||
|
||||
@ -981,7 +1020,7 @@ public:
|
||||
|
||||
void SetLogicalScale(double x, double y)
|
||||
{ m_pimpl->SetLogicalScale( x, y ); }
|
||||
void GetLogicalScale(double *x, double *y)
|
||||
void GetLogicalScale(double *x, double *y) const
|
||||
{ m_pimpl->GetLogicalScale( x, y ); }
|
||||
|
||||
void SetLogicalOrigin(wxCoord x, wxCoord y)
|
||||
@ -1001,6 +1040,20 @@ public:
|
||||
void SetAxisOrientation(bool xLeftRight, bool yBottomUp)
|
||||
{ m_pimpl->SetAxisOrientation(xLeftRight, yBottomUp); }
|
||||
|
||||
#if wxUSE_DC_TRANSFORM_MATRIX
|
||||
bool CanUseTransformMatrix() const
|
||||
{ return m_pimpl->CanUseTransformMatrix(); }
|
||||
|
||||
bool SetTransformMatrix(const wxAffineMatrix2D &matrix)
|
||||
{ return m_pimpl->SetTransformMatrix(matrix); }
|
||||
|
||||
wxAffineMatrix2D GetTransformMatrix() const
|
||||
{ return m_pimpl->GetTransformMatrix(); }
|
||||
|
||||
void ResetTransformMatrix()
|
||||
{ m_pimpl->ResetTransformMatrix(); }
|
||||
#endif // wxUSE_DC_TRANSFORM_MATRIX
|
||||
|
||||
// mostly internal
|
||||
void SetDeviceLocalOrigin( wxCoord x, wxCoord y )
|
||||
{ m_pimpl->SetDeviceLocalOrigin( x, y ); }
|
||||
@ -1287,6 +1340,17 @@ public:
|
||||
TempHDC GetTempHDC() { return TempHDC(*this); }
|
||||
#endif // __WXMSW__
|
||||
|
||||
#if wxUSE_GRAPHICS_CONTEXT
|
||||
virtual wxGraphicsContext* GetGraphicsContext() const
|
||||
{
|
||||
return m_pimpl->GetGraphicsContext();
|
||||
}
|
||||
virtual void SetGraphicsContext( wxGraphicsContext* ctx )
|
||||
{
|
||||
m_pimpl->SetGraphicsContext(ctx);
|
||||
}
|
||||
#endif
|
||||
|
||||
protected:
|
||||
// ctor takes ownership of the pointer
|
||||
wxDC(wxDCImpl *pimpl) : m_pimpl(pimpl) { }
|
||||
@ -1315,13 +1379,13 @@ public:
|
||||
|
||||
~wxDCTextColourChanger()
|
||||
{
|
||||
if ( m_colFgOld.Ok() )
|
||||
if ( m_colFgOld.IsOk() )
|
||||
m_dc.SetTextForeground(m_colFgOld);
|
||||
}
|
||||
|
||||
void Set(const wxColour& col)
|
||||
{
|
||||
if ( !m_colFgOld.Ok() )
|
||||
if ( !m_colFgOld.IsOk() )
|
||||
m_colFgOld = m_dc.GetTextForeground();
|
||||
m_dc.SetTextForeground(col);
|
||||
}
|
||||
@ -1349,7 +1413,7 @@ public:
|
||||
|
||||
~wxDCPenChanger()
|
||||
{
|
||||
if ( m_penOld.Ok() )
|
||||
if ( m_penOld.IsOk() )
|
||||
m_dc.SetPen(m_penOld);
|
||||
}
|
||||
|
||||
@ -1376,7 +1440,7 @@ public:
|
||||
|
||||
~wxDCBrushChanger()
|
||||
{
|
||||
if ( m_brushOld.Ok() )
|
||||
if ( m_brushOld.IsOk() )
|
||||
m_dc.SetBrush(m_brushOld);
|
||||
}
|
||||
|
||||
@ -1432,14 +1496,14 @@ public:
|
||||
|
||||
void Set(const wxFont& font)
|
||||
{
|
||||
if ( !m_fontOld.Ok() )
|
||||
if ( !m_fontOld.IsOk() )
|
||||
m_fontOld = m_dc.GetFont();
|
||||
m_dc.SetFont(font);
|
||||
}
|
||||
|
||||
~wxDCFontChanger()
|
||||
{
|
||||
if ( m_fontOld.Ok() )
|
||||
if ( m_fontOld.IsOk() )
|
||||
m_dc.SetFont(m_fontOld);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user