Search in sources :

Example 11 with Resolution

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

the class LoopUnlockedTest method testLoop.

/**
 * Test loop.
 *
 * @throws InterruptedException If error.
 */
@Test(timeout = 1000L)
public void testLoop() throws InterruptedException {
    ScreenMock.setScreenWait(false);
    final Screen screen = new ScreenMock(new Config(new Resolution(320, 240, 50), 16, true));
    screen.getConfig().setSource(new Resolution(320, 240, 50));
    final Thread thread = getTask(screen);
    thread.start();
    thread.join();
    Assert.assertEquals(maxTick.get(), tick.get());
    Assert.assertEquals(tick.get(), rendered.get());
    Assert.assertTrue(String.valueOf(computed.get()), computed.get() >= screen.getConfig().getOutput().getRate());
}
Also used : Screen(com.b3dgs.lionengine.graphic.Screen) Config(com.b3dgs.lionengine.Config) ScreenMock(com.b3dgs.lionengine.graphic.ScreenMock) Resolution(com.b3dgs.lionengine.Resolution) Test(org.junit.Test)

Example 12 with Resolution

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

the class LoopUnlockedTest method testEngineNotStarted.

/**
 * Test with not started engine.
 *
 * @throws InterruptedException If error.
 */
@Test(timeout = 1000L)
public void testEngineNotStarted() throws InterruptedException {
    ScreenMock.setScreenWait(false);
    final Screen screen = new ScreenMock(new Config(new Resolution(320, 240, 50), 16, true));
    screen.getConfig().setSource(new Resolution(320, 240, 50));
    maxTick.set(-1);
    final Thread thread = getTask(screen);
    thread.start();
    while (tick.get() < 1) {
    // Continue
    }
    Engine.terminate();
    thread.join();
    Assert.assertEquals(tick.get(), rendered.get());
    Assert.assertTrue(String.valueOf(computed.get()), computed.get() > 0);
}
Also used : Screen(com.b3dgs.lionengine.graphic.Screen) Config(com.b3dgs.lionengine.Config) ScreenMock(com.b3dgs.lionengine.graphic.ScreenMock) Resolution(com.b3dgs.lionengine.Resolution) Test(org.junit.Test)

Example 13 with Resolution

use of com.b3dgs.lionengine.Resolution 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 14 with Resolution

use of com.b3dgs.lionengine.Resolution 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 15 with Resolution

use of com.b3dgs.lionengine.Resolution 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)

Aggregations

Resolution (com.b3dgs.lionengine.Resolution)95 Config (com.b3dgs.lionengine.Config)75 Screen (com.b3dgs.lionengine.graphic.Screen)45 ScreenMock (com.b3dgs.lionengine.graphic.ScreenMock)45 Test (org.junit.jupiter.api.Test)45 Test (org.junit.Test)33 Graphic (com.b3dgs.lionengine.graphic.Graphic)3 Media (com.b3dgs.lionengine.Media)2 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 SourceResolutionDelegate (com.b3dgs.lionengine.graphic.engine.SourceResolutionDelegate)1 FilterBilinear (com.b3dgs.lionengine.graphic.filter.FilterBilinear)1 FilterBlur (com.b3dgs.lionengine.graphic.filter.FilterBlur)1 FilterHq2x (com.b3dgs.lionengine.graphic.filter.FilterHq2x)1 FilterHq3x (com.b3dgs.lionengine.graphic.filter.FilterHq3x)1 DisplayMode (java.awt.DisplayMode)1 GraphicsDevice (java.awt.GraphicsDevice)1