140 wxPanel( aParent, wxID_ANY ),
143 wxBoxSizer* topSizer =
new wxBoxSizer( wxVERTICAL );
146 wxBoxSizer* controlsSizer =
new wxBoxSizer( wxHORIZONTAL );
148 m_label =
new wxStaticText(
this, wxID_ANY,
_(
"Display PPI: " ) );
151 m_spinner =
new wxSpinCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize,
152 wxSP_ARROW_KEYS, 10, 1000, (
int)( aValue *
m_baseValue ) );
155 m_autoButton =
new wxButton(
this, wxID_ANY,
_(
"Detect" ) );
161 wxBoxSizer* rulerSizer =
new wxBoxSizer( wxHORIZONTAL );
166 wxArrayString choices;
167 choices.Add( wxT(
"mm" ) );
168 choices.Add( wxT(
"cm" ) );
169 choices.Add( wxT(
"in" ) );
170 m_unitsChoice =
new wxChoice(
this, wxID_ANY, wxDefaultPosition, wxDefaultSize, choices );
176 SetSizer( topSizer );
220 wxDisplay dpy(
this );
223#if wxCHECK_VERSION( 3, 3, 2 )
224 wxSize rawPPI = dpy.GetRawPPI();
225 val = wxRound( ( rawPPI.x + rawPPI.y ) / 2.0 );
230#ifdef wxHAS_DPI_INDEPENDENT_PIXELS
231 val = dpy.GetStdPPIValue() / dpy.GetScaleFactor();
233 wxSize ppi = dpy.GetPPI();
234 val = wxRound( ( ppi.x + ppi.y ) / 2.0 );