Search in sources :

Example 41 with Config

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

the class LoopLocked method start.

/*
     * Loop
     */
@Override
public void start(Screen screen, Frame frame) {
    Check.notNull(screen);
    Check.notNull(frame);
    final Config config = screen.getConfig();
    final Resolution output = config.getOutput();
    final boolean sync = config.isWindowed() && output.getRate() > 0;
    final double maxFrameTimeNano = getMaxFrameTime(output);
    isRunning = true;
    while (isRunning) {
        if (screen.isReady()) {
            final long lastTime = System.nanoTime();
            frame.update(Constant.EXTRP);
            screen.preUpdate();
            frame.render();
            screen.update();
            while (sync && System.nanoTime() - lastTime < maxFrameTimeNano) {
                Thread.yield();
            }
            frame.computeFrameRate(lastTime, Math.max(lastTime + 1L, System.nanoTime()));
        } 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 42 with Config

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

the class MouseAwtTest method createMouse.

/**
 * Create a mouse and configure for test.
 *
 * @return The created mouse.
 */
static MouseAwt createMouse() {
    final Resolution resolution = new Resolution(320, 240, 60);
    final Config config = new Config(resolution, 32, false);
    config.setSource(resolution);
    final MouseAwt mouse = new MouseAwt();
    mouse.setConfig(config);
    mouse.setCenter(160, 120);
    return mouse;
}
Also used : Config(com.b3dgs.lionengine.Config) Resolution(com.b3dgs.lionengine.Resolution)

Example 43 with Config

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

the class ScreenAwtTest method testApplet.

/**
 * Test applet screen.
 *
 * @throws Exception If error.
 */
@Test(timeout = TIMEOUT)
public void testApplet() throws Exception {
    final Config config = new Config(com.b3dgs.lionengine.util.UtilTests.RESOLUTION_320_240, 32, false, Medias.create(IMAGE));
    config.setApplet(new AppletAwt());
    config.setSource(com.b3dgs.lionengine.util.UtilTests.RESOLUTION_320_240);
    Verbose.info("*********************************** EXPECTED VERBOSE ***********************************");
    testScreen(config);
    Verbose.info("****************************************************************************************");
    testHeadless(config);
}
Also used : Config(com.b3dgs.lionengine.Config) Test(org.junit.Test)

Example 44 with Config

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

the class ScreenAwtTest method testFullscreenFail.

/**
 * Test full screen fail.
 *
 * @throws Exception If error.
 */
@Test(timeout = TIMEOUT, expected = LionEngineException.class)
public void testFullscreenFail() throws Exception {
    final Resolution resolution = new Resolution(Integer.MAX_VALUE, Integer.MAX_VALUE, 0);
    final Config config = new Config(resolution, 32, false);
    config.setSource(resolution);
    testScreen(config);
    testHeadless(config);
}
Also used : Config(com.b3dgs.lionengine.Config) Resolution(com.b3dgs.lionengine.Resolution) Test(org.junit.Test)

Example 45 with Config

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

the class LoaderTest method testBlur.

/**
 * Test with blur filter.
 */
@Test
public void testBlur() {
    final Resolution output = new Resolution(640, 480, 0);
    final FilterBlur blur = new FilterBlur();
    blur.setEdgeMode(FilterBlur.CLAMP_EDGES);
    blur.setAlpha(true);
    final Config config = new Config(output, 16, true);
    Loader.start(config, SequenceFilterMock.class, blur).await();
    blur.setEdgeMode(FilterBlur.WRAP_EDGES);
    Loader.start(config, SequenceFilterMock.class, blur).await();
    blur.setAlpha(false);
    Loader.start(config, SequenceFilterMock.class, blur).await();
    blur.setAlpha(true);
    blur.setRadius(0.5f);
    Loader.start(config, SequenceFilterMock.class, blur).await();
}
Also used : Config(com.b3dgs.lionengine.Config) FilterBlur(com.b3dgs.lionengine.core.filter.FilterBlur) Resolution(com.b3dgs.lionengine.Resolution) Test(org.junit.Test)

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