} else { final int cur_freq = modes[i].getFrequency(); if (match_freq != settings.getFrequency() && // Previous is not a perfect match (cur_freq == settings.getFrequency() || // Current is perfect match
/** * Applies all settings not related to OpenGL (screen resolution, screen size, etc...) * */ private void applySettings() { _newtWindow.setUndecorated(_settings.isFullScreen()); _newtWindow.setFullscreen(_settings.isFullScreen()); // FIXME Ardor3D does not allow to change the resolution /** * uses the filtering relying on resolution with the size to fetch only the screen mode matching with the * current resolution */ if (_settings.isFullScreen()) { final MonitorDevice monitor = _newtWindow.getMainMonitor(); List<MonitorMode> monitorModes = monitor.getSupportedModes(); // the resolution is provided by the user final Dimension dimension = new Dimension(_settings.getWidth(), _settings.getHeight()); monitorModes = MonitorModeUtil.filterByResolution(monitorModes, dimension); monitorModes = MonitorModeUtil.getHighestAvailableBpp(monitorModes); if (_settings.getFrequency() > 0) { monitorModes = MonitorModeUtil.filterByRate(monitorModes, _settings.getFrequency()); } else { monitorModes = MonitorModeUtil.getHighestAvailableRate(monitorModes); } monitor.setCurrentMode(monitorModes.get(0)); } }
if (null == mode) { throw new Ardor3dException("Bad display mode (w/h/bpp/freq): " + _settings.getWidth() + " / " + _settings.getHeight() + " / " + _settings.getColorDepth() + " / " + _settings.getFrequency());
&& currentDisplayMode.getHeight() == _settings.getHeight()) { if (currentDisplayMode.getBitDepth() == _settings.getColorDepth()) { if (currentDisplayMode.getRefreshRate() == _settings.getFrequency()) { matchingDisplayMode = currentDisplayMode; } else if (currentDisplayMode.getRefreshRate() == DisplayMode.REFRESH_RATE_UNKNOWN) { if (currentDisplayMode.getRefreshRate() == _settings.getFrequency()) { multiBitsDepthSupportedDisplayMode = currentDisplayMode; } else if (currentDisplayMode.getRefreshRate() == DisplayMode.REFRESH_RATE_UNKNOWN) {