@Nonnull @Override public GraphicResolution[] getFullScreenResolutions() { if (graphicResolutions == null) { List<GraphicResolution> resultResolutions = new ArrayList<>(); Graphics.DisplayMode[] displayModes; boolean ignoreRefreshRate; if (gdxApplication == null) { displayModes = LwjglApplicationConfiguration.getDisplayModes(); ignoreRefreshRate = true; } else { displayModes = gdxApplication.getGraphics().getDisplayModes(); ignoreRefreshRate = false; } for (@Nullable Graphics.DisplayMode mode : displayModes) { if (mode == null) { continue; } if ((mode.width < 800) || (mode.height < 600) || (mode.bitsPerPixel < 24)) { continue; } if (ignoreRefreshRate) { resultResolutions.add( new GraphicResolution(mode.width, mode.height, mode.bitsPerPixel, -1)); } else { if (mode.refreshRate >= 50) { resultResolutions.add( new GraphicResolution( mode.width, mode.height, mode.bitsPerPixel, mode.refreshRate)); } } } graphicResolutions = resultResolutions.toArray(new GraphicResolution[resultResolutions.size()]); } return graphicResolutions; }