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);
}
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;
}
}
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;
}
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);
}
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();
}
Aggregations