You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
69 lines
1.3 KiB
69 lines
1.3 KiB
package mightypork.gamecore.gui.events;
|
|
|
|
|
|
import mightypork.gamecore.eventbus.BusEvent;
|
|
import mightypork.gamecore.eventbus.event_flags.NonConsumableEvent;
|
|
import mightypork.gamecore.eventbus.event_flags.NotLoggedEvent;
|
|
import mightypork.gamecore.util.math.constraints.vect.Vect;
|
|
|
|
|
|
/**
|
|
* Screen resolution or mode was changed
|
|
*
|
|
* @author MightyPork
|
|
*/
|
|
@NonConsumableEvent
|
|
@NotLoggedEvent
|
|
public class ViewportChangeEvent extends BusEvent<ViewportChangeListener> {
|
|
|
|
private final boolean fullscreen;
|
|
private final Vect screenSize;
|
|
private final boolean fsChanged;
|
|
|
|
|
|
/**
|
|
* @param fsChanged fullscreen change triggered the event
|
|
* @param fullscreen is now fullscreen
|
|
* @param size new screen size
|
|
*/
|
|
public ViewportChangeEvent(boolean fsChanged, boolean fullscreen, Vect size)
|
|
{
|
|
this.fullscreen = fullscreen;
|
|
this.screenSize = size;
|
|
this.fsChanged = fsChanged;
|
|
}
|
|
|
|
|
|
/**
|
|
* @return true if screen is now fullscreen
|
|
*/
|
|
public boolean isFullscreen()
|
|
{
|
|
return fullscreen;
|
|
}
|
|
|
|
|
|
/**
|
|
* @return true if event was triggered by fullscreen toggle
|
|
*/
|
|
public boolean fullscreenChanged()
|
|
{
|
|
return fsChanged;
|
|
}
|
|
|
|
|
|
/**
|
|
* @return new screen size
|
|
*/
|
|
public Vect getScreenSize()
|
|
{
|
|
return screenSize;
|
|
}
|
|
|
|
|
|
@Override
|
|
public void handleBy(ViewportChangeListener handler)
|
|
{
|
|
handler.onViewportChanged(this);
|
|
}
|
|
}
|
|
|