package kornell.gui.client.util.orientation; import com.google.gwt.event.logical.shared.ResizeEvent; import com.google.gwt.event.logical.shared.ResizeHandler; import com.google.web.bindery.event.shared.EventBus; public final class OrientationResizeHandler implements ResizeHandler { private static final OrientationChangeEvent LANDSCAPE_EVENT = new OrientationChangeEvent(Orientation.LANDSCAPE); private static final OrientationChangeEvent PORTRAIT_EVENT = new OrientationChangeEvent(Orientation.PORTRAIT); private Orientation orientation; private EventBus bus; public OrientationResizeHandler(EventBus bus){ this.bus = bus; } @Override public void onResize(final ResizeEvent event) { final Orientation o = event.getWidth() > event.getHeight() ? Orientation.LANDSCAPE : Orientation.PORTRAIT; if (orientation != o) { bus.fireEvent(o == Orientation.PORTRAIT ? PORTRAIT_EVENT : LANDSCAPE_EVENT); orientation = o; } } }