Search in sources :

Example 86 with Resolution

use of com.b3dgs.lionengine.Resolution 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 MouseAwt mouse = new MouseAwt();
    mouse.setResolution(resolution, resolution);
    mouse.setCenter(160, 120);
    return mouse;
}
Also used : Resolution(com.b3dgs.lionengine.Resolution)

Example 87 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 output = config.getOutput();
    final boolean sync = config.isWindowed() && output.getRate() > 0;
    notifyRateChanged(output.getRate());
    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 = rate / ONE_SECOND_IN_NANO * (currentTime - lastTime);
            frame.computeFrameRate(lastTime, currentTime);
        } else {
            frame.check();
            UtilSequence.pause(Constant.DECADE);
        }
    }
}
Also used : Config(com.b3dgs.lionengine.Config) Resolution(com.b3dgs.lionengine.Resolution)

Example 88 with Resolution

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

the class Sequence method setZoom.

@Override
public final void setZoom(double factor) {
    final double scale = UtilMath.clamp(factor, 0.1, 5.0);
    final Resolution zoomed = resolution.getScaled(scale);
    renderer.initResolution(zoomed);
    onResolutionChanged(zoomed.getWidth(), zoomed.getHeight());
}
Also used : Resolution(com.b3dgs.lionengine.Resolution)

Example 89 with Resolution

use of com.b3dgs.lionengine.Resolution 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;
    if (maxFrameTimeNano < 0) {
        notifyRateChanged(output.getRate());
    }
    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);
        }
    }
}
Also used : Config(com.b3dgs.lionengine.Config) Resolution(com.b3dgs.lionengine.Resolution)

Example 90 with Resolution

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

the class LoaderTest method testBlur.

/**
 * Test with blur filter.
 */
@Test
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.graphic.filter.FilterBlur) Resolution(com.b3dgs.lionengine.Resolution) Test(org.junit.jupiter.api.Test)

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