Search in sources :

Example 16 with Config

use of com.b3dgs.lionengine.Config in project lionengine by b3dgs.

the class AppletAwtTest method testApplet.

/**
 * Test applet.
 */
@Test
public void testApplet() {
    final AppletAwt applet = new AppletAwt();
    final Resolution resolution = new Resolution(320, 240, 60);
    final Config config = new Config(resolution, 32, true);
    config.setApplet(null);
    Assert.assertFalse(config.getApplet(AppletAwt.class).isPresent());
    config.setApplet(applet);
    Assert.assertTrue(config.getApplet(AppletAwt.class).isPresent());
}
Also used : Config(com.b3dgs.lionengine.Config) Resolution(com.b3dgs.lionengine.Resolution) Test(org.junit.Test)

Example 17 with Config

use of com.b3dgs.lionengine.Config in project lionengine by b3dgs.

the class ScreenAwtTest method testFullscreen.

/**
 * Test full screen.
 *
 * @throws Exception If error.
 */
@Test(timeout = TIMEOUT)
public void testFullscreen() throws Exception {
    final GraphicsDevice gd = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice();
    if (gd.isFullScreenSupported()) {
        final int width = gd.getDisplayMode().getWidth();
        final int height = gd.getDisplayMode().getHeight();
        final Resolution resolution = new Resolution(width, height, 60);
        final Config config = new Config(resolution, 32, false, Medias.create(IMAGE));
        config.setSource(resolution);
        testScreen(config);
        testHeadless(config);
    }
}
Also used : GraphicsDevice(java.awt.GraphicsDevice) Config(com.b3dgs.lionengine.Config) Resolution(com.b3dgs.lionengine.Resolution) Test(org.junit.Test)

Example 18 with Config

use of com.b3dgs.lionengine.Config in project lionengine by b3dgs.

the class ScreenAwtTest method testWindowed.

/**
 * Test windowed screen.
 *
 * @throws Exception If error.
 */
@Test(timeout = TIMEOUT)
public void testWindowed() throws Exception {
    final Config config = new Config(com.b3dgs.lionengine.util.UtilTests.RESOLUTION_320_240, 32, true, Medias.create(IMAGE));
    config.setSource(com.b3dgs.lionengine.util.UtilTests.RESOLUTION_320_240);
    testScreen(config);
    testHeadless(config);
}
Also used : Config(com.b3dgs.lionengine.Config) Test(org.junit.Test)

Example 19 with Config

use of com.b3dgs.lionengine.Config in project lionengine by b3dgs.

the class LoopExtrapolated method start.

/*
     * Loop
     */
@Override
public void start(Screen screen, Frame frame) {
    Check.notNull(screen);
    Check.notNull(frame);
    final Config config = screen.getConfig();
    final Resolution source = config.getSource();
    final Resolution output = config.getOutput();
    final boolean sync = config.isWindowed() && output.getRate() > 0;
    final double maxFrameTimeNano = getMaxFrameTime(output);
    double extrp = 1.0;
    isRunning = true;
    while (isRunning) {
        if (screen.isReady()) {
            final long lastTime = System.nanoTime();
            frame.update(extrp);
            screen.preUpdate();
            frame.render();
            screen.update();
            while (sync && System.nanoTime() - lastTime < maxFrameTimeNano) {
                Thread.yield();
            }
            final long currentTime = Math.max(lastTime + 1L, System.nanoTime());
            extrp = source.getRate() / ONE_SECOND_IN_NANO * (currentTime - lastTime);
            frame.computeFrameRate(lastTime, currentTime);
        } else {
            frame.check();
            UtilSequence.pause(Constant.DECADE);
        }
        if (!Engine.isStarted()) {
            isRunning = false;
        }
    }
}
Also used : Config(com.b3dgs.lionengine.Config) Resolution(com.b3dgs.lionengine.Resolution)

Example 20 with Config

use of com.b3dgs.lionengine.Config in project lionengine by b3dgs.

the class LoopFrameSkipping method hasSync.

/**
 * Check if screen has sync locked.
 *
 * @param screen The screen reference.
 * @return <code>true</code> if sync enabled, <code>false</code> else.
 */
private static boolean hasSync(Screen screen) {
    final Config config = screen.getConfig();
    final Resolution output = config.getOutput();
    return config.isWindowed() && output.getRate() > 0;
}
Also used : Config(com.b3dgs.lionengine.Config) Resolution(com.b3dgs.lionengine.Resolution)

Aggregations

Config (com.b3dgs.lionengine.Config)89 Resolution (com.b3dgs.lionengine.Resolution)75 Screen (com.b3dgs.lionengine.graphic.Screen)47 ScreenMock (com.b3dgs.lionengine.graphic.ScreenMock)45 Test (org.junit.jupiter.api.Test)42 Test (org.junit.Test)38 FactoryGraphicMock (com.b3dgs.lionengine.graphic.FactoryGraphicMock)2 Semaphore (java.util.concurrent.Semaphore)2 AtomicReference (java.util.concurrent.atomic.AtomicReference)2 Context (com.b3dgs.lionengine.Context)1 LionEngineException (com.b3dgs.lionengine.LionEngineException)1 FilterBilinear (com.b3dgs.lionengine.core.filter.FilterBilinear)1 FilterBlur (com.b3dgs.lionengine.core.filter.FilterBlur)1 FilterHq2x (com.b3dgs.lionengine.core.filter.FilterHq2x)1 FilterHq3x (com.b3dgs.lionengine.core.filter.FilterHq3x)1 ImageBuffer (com.b3dgs.lionengine.graphic.ImageBuffer)1 Rasterbar (com.b3dgs.lionengine.graphic.engine.Rasterbar)1 Sequencer (com.b3dgs.lionengine.graphic.engine.Sequencer)1 SourceResolutionProvider (com.b3dgs.lionengine.graphic.engine.SourceResolutionProvider)1 FilterBilinear (com.b3dgs.lionengine.graphic.filter.FilterBilinear)1