bool CEGLNativeTypeAndroid::GetNativeResolution(RESOLUTION_INFO *res) const { EGLNativeWindowType *nativeWindow = (EGLNativeWindowType*)CXBMCApp::GetNativeWindow(30000); if (!nativeWindow) return false; if (!m_width || !m_height) { ANativeWindow_acquire(*nativeWindow); res->iWidth = ANativeWindow_getWidth(*nativeWindow); res->iHeight= ANativeWindow_getHeight(*nativeWindow); ANativeWindow_release(*nativeWindow); } else { res->iWidth = m_width; res->iHeight = m_height; } res->fRefreshRate = currentRefreshRate(); res->dwFlags= D3DPRESENTFLAG_PROGRESSIVE; res->iScreen = 0; res->bFullScreen = true; res->iSubtitles = (int)(0.965 * res->iHeight); res->fPixelRatio = 1.0f; res->iScreenWidth = res->iWidth; res->iScreenHeight = res->iHeight; res->strMode = StringUtils::Format("%dx%d @ %.2f%s - Full Screen", res->iScreenWidth, res->iScreenHeight, res->fRefreshRate, res->dwFlags & D3DPRESENTFLAG_INTERLACED ? "i" : ""); CLog::Log(LOGNOTICE,"Current resolution: %s\n",res->strMode.c_str()); return true; }
bool CEGLNativeTypeAndroid::SetNativeResolution(const RESOLUTION_INFO &res) { CLog::Log(LOGNOTICE, "CEGLNativeTypeAndroid: Switching to resolution: %s", res.strMode.c_str()); if (abs(currentRefreshRate() - res.fRefreshRate) > 0.0001) CXBMCApp::SetRefreshRate(res.fRefreshRate); return true; }
bool CEGLNativeTypeAndroid::SetNativeResolution(const RESOLUTION_INFO &res) { CLog::Log(LOGDEBUG, "CEGLNativeTypeAndroid: SetNativeResolution: %dx%d", m_width, m_height); if (m_width && m_height) CXBMCApp::SetBuffersGeometry(m_width, m_height, 0); if (abs(currentRefreshRate() - res.fRefreshRate) > 0.0001) CXBMCApp::SetRefreshRate(res.fRefreshRate); return true; }
QString RandRScreen::changedMessage() const { if(currentRefreshRate() == -1) return i18n("New configuration:\nResolution: %1 x %2\nOrientation: %3") .arg(currentPixelWidth()) .arg(currentPixelHeight()) .arg(currentRotationDescription()); else return i18n("New configuration:\nResolution: %1 x %2\nOrientation: %3\nRefresh rate: %4") .arg(currentPixelWidth()) .arg(currentPixelHeight()) .arg(currentRotationDescription()) .arg(currentRefreshRateDescription()); }
bool CEGLNativeTypeAndroid::SetNativeResolution(const RESOLUTION_INFO &res) { CLog::Log(LOGDEBUG, "CEGLNativeTypeAndroid: SetNativeResolution: %s: %dx%d@%f", res.strId.c_str(), res.iWidth, res.iHeight, res.fRefreshRate); if (s_hasModeApi) { CXBMCApp::SetDisplayMode(atoi(res.strId.c_str())); s_res_cur_displayMode = res; } else if (abs(currentRefreshRate() - res.fRefreshRate) > 0.0001) CXBMCApp::SetRefreshRate(res.fRefreshRate); CXBMCApp::SetBuffersGeometry(res.iWidth, res.iHeight, 0); return true; }