Add ToDIP to wxDC and wxGraphicsContext
This commit is contained in:
@@ -541,6 +541,8 @@ public:
|
||||
|
||||
virtual wxSize FromDIP(const wxSize& sz) const;
|
||||
|
||||
virtual wxSize ToDIP(const wxSize& sz) const;
|
||||
|
||||
#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
|
||||
@@ -839,6 +841,20 @@ public:
|
||||
int FromDIP(int d) const
|
||||
{ return FromDIP(wxSize(d, 0)).x; }
|
||||
|
||||
wxSize ToDIP(const wxSize & sz) const
|
||||
{
|
||||
return m_pimpl->ToDIP(sz);
|
||||
}
|
||||
wxPoint ToDIP(const wxPoint & pt) const
|
||||
{
|
||||
const wxSize sz = ToDIP(wxSize(pt.x, pt.y));
|
||||
return wxPoint(sz.x, sz.y);
|
||||
}
|
||||
int ToDIP(int d) const
|
||||
{
|
||||
return ToDIP(wxSize(d, 0)).x;
|
||||
}
|
||||
|
||||
// Right-To-Left (RTL) modes
|
||||
|
||||
void SetLayoutDirection(wxLayoutDirection dir)
|
||||
|
||||
@@ -253,6 +253,11 @@ private:
|
||||
return sz;
|
||||
}
|
||||
|
||||
virtual wxSize ToDIP(const wxSize& sz) const wxOVERRIDE
|
||||
{
|
||||
return sz;
|
||||
}
|
||||
|
||||
void Init(const wxString& filename, int width, int height,
|
||||
double dpi, const wxString& title);
|
||||
|
||||
|
||||
@@ -81,6 +81,11 @@ public:
|
||||
return sz;
|
||||
}
|
||||
|
||||
virtual wxSize ToDIP(const wxSize& sz) const wxOVERRIDE
|
||||
{
|
||||
return sz;
|
||||
}
|
||||
|
||||
virtual void ComputeScaleAndOrigin() wxOVERRIDE;
|
||||
|
||||
void SetBackgroundMode(int WXUNUSED(mode)) wxOVERRIDE { }
|
||||
|
||||
@@ -750,6 +750,17 @@ public:
|
||||
return FromDIP(wxSize(d, 0)).x;
|
||||
}
|
||||
|
||||
wxSize ToDIP(const wxSize& sz) const;
|
||||
wxPoint ToDIP(const wxPoint& pt) const
|
||||
{
|
||||
const wxSize sz = ToDIP(wxSize(pt.x, pt.y));
|
||||
return wxPoint(sz.x, sz.y);
|
||||
}
|
||||
int ToDIP(int d) const
|
||||
{
|
||||
return ToDIP(wxSize(d, 0)).x;
|
||||
}
|
||||
|
||||
#if 0
|
||||
// sets the current alpha on this context
|
||||
virtual void SetAlpha( wxDouble alpha );
|
||||
|
||||
@@ -41,6 +41,11 @@ public:
|
||||
return sz;
|
||||
}
|
||||
|
||||
virtual wxSize ToDIP(const wxSize& sz) const wxOVERRIDE
|
||||
{
|
||||
return sz;
|
||||
}
|
||||
|
||||
void SetFont(const wxFont& font) wxOVERRIDE;
|
||||
|
||||
protected:
|
||||
|
||||
@@ -617,6 +617,17 @@ wxSize wxDCImpl::FromDIP(const wxSize& sz) const
|
||||
#endif // wxHAS_DPI_INDEPENDENT_PIXELS
|
||||
}
|
||||
|
||||
wxSize wxDCImpl::ToDIP(const wxSize& sz) const
|
||||
{
|
||||
#ifdef wxHAS_DPI_INDEPENDENT_PIXELS
|
||||
return sz;
|
||||
#else
|
||||
const wxSize dpi = GetPPI();
|
||||
const wxSize baseline = wxDisplay::GetStdPPI();
|
||||
return wxRescaleCoord(sz).From(dpi).To(baseline);
|
||||
#endif // wxHAS_DPI_INDEPENDENT_PIXELS
|
||||
}
|
||||
|
||||
bool wxDCImpl::DoGetPartialTextExtents(const wxString& text, wxArrayInt& widths) const
|
||||
{
|
||||
wxTextMeasure tm(GetOwner(), &m_font);
|
||||
|
||||
@@ -647,6 +647,18 @@ wxSize wxGraphicsContext::FromDIP(const wxSize& sz) const
|
||||
#endif // wxHAS_DPI_INDEPENDENT_PIXELS
|
||||
}
|
||||
|
||||
wxSize wxGraphicsContext::ToDIP(const wxSize& sz) const
|
||||
{
|
||||
#ifdef wxHAS_DPI_INDEPENDENT_PIXELS
|
||||
return sz;
|
||||
#else
|
||||
wxRealPoint dpi;
|
||||
GetDPI(&dpi.x, &dpi.y);
|
||||
const wxSize baseline = wxDisplay::GetStdPPI();
|
||||
return wxRescaleCoord(sz).From(wxSize((int)dpi.x, (int)dpi.y)).To(baseline);
|
||||
#endif // wxHAS_DPI_INDEPENDENT_PIXELS
|
||||
}
|
||||
|
||||
// sets the pen
|
||||
void wxGraphicsContext::SetPen( const wxGraphicsPen& pen )
|
||||
{
|
||||
|
||||
@@ -229,6 +229,11 @@ public:
|
||||
return sz;
|
||||
}
|
||||
|
||||
virtual wxSize ToDIP(const wxSize& sz) const wxOVERRIDE
|
||||
{
|
||||
return sz;
|
||||
}
|
||||
|
||||
void SetFont(const wxFont& font) wxOVERRIDE
|
||||
{
|
||||
wxFont scaledFont = font;
|
||||
|
||||
Reference in New Issue
Block a user