140 wxPanel( aParent, wxID_ANY ),
144 wxBoxSizer* topSizer =
new wxBoxSizer( wxVERTICAL );
147 wxBoxSizer* controlsSizer =
new wxBoxSizer( wxHORIZONTAL );
149 m_label =
new wxStaticText(
this, wxID_ANY,
_(
"Display PPI: " ) );
152 m_spinner =
new wxSpinCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize,
153 wxSP_ARROW_KEYS, 10, 1000, (
int)( aValue *
m_baseValue ) );
156 m_autoButton =
new wxButton(
this, wxID_ANY,
_(
"Detect" ) );
162 wxBoxSizer* rulerSizer =
new wxBoxSizer( wxHORIZONTAL );
167 wxArrayString choices;
168 choices.Add( wxT(
"mm" ) );
169 choices.Add( wxT(
"cm" ) );
170 choices.Add( wxT(
"in" ) );
171 m_unitsChoice =
new wxChoice(
this, wxID_ANY, wxDefaultPosition, wxDefaultSize, choices );
177 SetSizer( topSizer );
237 wxDisplay dpy(
this );
240#if wxCHECK_VERSION( 3, 3, 2 )
241 wxSize rawPPI = dpy.GetRawPPI();
242 val = wxRound( ( rawPPI.x + rawPPI.y ) / 2.0 );
247#ifdef wxHAS_DPI_INDEPENDENT_PIXELS
248 val = dpy.GetStdPPIValue() / dpy.GetScaleFactor();
250 wxSize ppi = dpy.GetPPI();
251 val = wxRound( ( ppi.x + ppi.y ) / 2.0 );