Search in sources :

Example 41 with Resolution

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

the class Sequence method getTransform.

/**
 * Get the transform associated to the filter keeping screen scale independent.
 *
 * @param filter The filter reference.
 * @return The associated transform instance.
 */
private Transform getTransform(Filter filter) {
    final Resolution source = config.getSource();
    final Resolution output = config.getOutput();
    final double scaleX = output.getWidth() / (double) source.getWidth();
    final double scaleY = output.getHeight() / (double) source.getHeight();
    return filter.getTransform(scaleX, scaleY);
}
Also used : Resolution(com.b3dgs.lionengine.Resolution)

Example 42 with Resolution

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

the class Sequence method initResolution.

/**
 * Initialize resolution.
 *
 * @param source The resolution source (must not be <code>null</code>).
 * @throws LionEngineException If invalid argument.
 */
private void initResolution(Resolution source) {
    Check.notNull(source);
    config.setSource(source);
    screen.onSourceChanged(source);
    // Store source size
    final int width = source.getWidth();
    final int height = source.getHeight();
    // Standard rendering
    final Resolution output = config.getOutput();
    if (FilterNone.INSTANCE.equals(filter) && source.getWidth() == output.getWidth() && source.getHeight() == output.getHeight()) {
        buf = null;
        transform = null;
        directRendering = true;
    } else // Scaled rendering
    {
        buf = Graphics.createImageBuffer(width, height);
        transform = getTransform(filter);
        final Graphic gbuf = buf.createGraphic();
        graphic.setGraphic(gbuf.getGraphic());
        directRendering = false;
    }
}
Also used : Graphic(com.b3dgs.lionengine.graphic.Graphic) Resolution(com.b3dgs.lionengine.Resolution)

Example 43 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 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 44 with Resolution

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

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

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