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