double OCPNPlatform::GetDisplaySizeMM() { double ret = wxGetDisplaySizeMM().GetWidth(); #ifdef __WXMSW__ int w,h; bool GetWindowsMonitorSize( int *w, int *h ); if( GetWindowsMonitorSize( &w, &h) ){ if(w > 100) // sanity check ret = w; } #endif #ifdef __WXOSX__ ret = GetMacMonitorSize(); #endif #ifdef __OCPN__ANDROID__ ret = GetAndroidDisplaySize(); #endif wxString msg; msg.Printf(_T("Detected display size (horizontal): %d mm"), (int) ret); wxLogMessage(msg); return ret; }
JNIEXPORT jint JNICALL Java_org_opencpn_OCPNNativeLib_onConfigChange(JNIEnv *env, jobject obj) { qDebug() << "onConfigChange"; GetAndroidDisplaySize(); wxSize new_size = getAndroidDisplayDimensions(); qDebug() << "onConfigChange" << new_size.x << new_size.y; gFrame->TriggerResize(new_size); // wxSizeEvent ev(new_size); // wxEvtHandler *evh = dynamic_cast<wxEvtHandler*>(cc1); // evh->AddPendingEvent(ev); return 77; }