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