/** Sets the actor that will receive scroll events. * @param actor May be null. * @return true if the unfocus and focus events were not cancelled by a {@link FocusListener}. */ public boolean setScrollFocus (Actor actor) { if (scrollFocus == actor) return true; FocusEvent event = Pools.obtain(FocusEvent.class); event.setStage(this); event.setType(FocusEvent.Type.scroll); Actor oldScrollFocus = scrollFocus; if (oldScrollFocus != null) { event.setFocused(false); event.setRelatedActor(actor); oldScrollFocus.fire(event); } boolean success = !event.isCancelled(); if (success) { scrollFocus = actor; if (actor != null) { event.setFocused(true); event.setRelatedActor(oldScrollFocus); actor.fire(event); success = !event.isCancelled(); if (!success) scrollFocus = oldScrollFocus; } } Pools.free(event); return success; }
/** Sets the actor that will receive key events. * @param actor May be null. * @return true if the unfocus and focus events were not cancelled by a {@link FocusListener}. */ public boolean setKeyboardFocus (Actor actor) { if (keyboardFocus == actor) return true; FocusEvent event = Pools.obtain(FocusEvent.class); event.setStage(this); event.setType(FocusEvent.Type.keyboard); Actor oldKeyboardFocus = keyboardFocus; if (oldKeyboardFocus != null) { event.setFocused(false); event.setRelatedActor(actor); oldKeyboardFocus.fire(event); } boolean success = !event.isCancelled(); if (success) { keyboardFocus = actor; if (actor != null) { event.setFocused(true); event.setRelatedActor(oldKeyboardFocus); actor.fire(event); success = !event.isCancelled(); if (!success) keyboardFocus = oldKeyboardFocus; } } Pools.free(event); return success; }
/** Sets the actor that will receive key events. * @param actor May be null. * @return true if the unfocus and focus events were not cancelled by a {@link FocusListener}. */ public boolean setKeyboardFocus (Actor actor) { if (keyboardFocus == actor) return true; FocusEvent event = Pools.obtain(FocusEvent.class); event.setStage(this); event.setType(FocusEvent.Type.keyboard); Actor oldKeyboardFocus = keyboardFocus; if (oldKeyboardFocus != null) { event.setFocused(false); event.setRelatedActor(actor); oldKeyboardFocus.fire(event); } boolean success = !event.isCancelled(); if (success) { keyboardFocus = actor; if (actor != null) { event.setFocused(true); event.setRelatedActor(oldKeyboardFocus); actor.fire(event); success = !event.isCancelled(); if (!success) keyboardFocus = oldKeyboardFocus; } } Pools.free(event); return success; }
/** Sets the actor that will receive scroll events. * @param actor May be null. * @return true if the unfocus and focus events were not cancelled by a {@link FocusListener}. */ public boolean setScrollFocus (Actor actor) { if (scrollFocus == actor) return true; FocusEvent event = Pools.obtain(FocusEvent.class); event.setStage(this); event.setType(FocusEvent.Type.scroll); Actor oldScrollFocus = scrollFocus; if (oldScrollFocus != null) { event.setFocused(false); event.setRelatedActor(actor); oldScrollFocus.fire(event); } boolean success = !event.isCancelled(); if (success) { scrollFocus = actor; if (actor != null) { event.setFocused(true); event.setRelatedActor(oldScrollFocus); actor.fire(event); success = !event.isCancelled(); if (!success) scrollFocus = oldScrollFocus; } } Pools.free(event); return success; }
/** Sets the actor that will receive key events. * @param actor May be null. * @return true if the unfocus and focus events were not cancelled by a {@link FocusListener}. */ public boolean setKeyboardFocus (Actor actor) { if (keyboardFocus == actor) return true; FocusEvent event = Pools.obtain(FocusEvent.class); event.setStage(this); event.setType(FocusEvent.Type.keyboard); Actor oldKeyboardFocus = keyboardFocus; if (oldKeyboardFocus != null) { event.setFocused(false); event.setRelatedActor(actor); oldKeyboardFocus.fire(event); } boolean success = !event.isCancelled(); if (success) { keyboardFocus = actor; if (actor != null) { event.setFocused(true); event.setRelatedActor(oldKeyboardFocus); actor.fire(event); success = !event.isCancelled(); if (!success) keyboardFocus = oldKeyboardFocus; } } Pools.free(event); return success; }
/** Sets the actor that will receive scroll events. * @param actor May be null. * @return true if the unfocus and focus events were not cancelled by a {@link FocusListener}. */ public boolean setScrollFocus (Actor actor) { if (scrollFocus == actor) return true; FocusEvent event = Pools.obtain(FocusEvent.class); event.setStage(this); event.setType(FocusEvent.Type.scroll); Actor oldScrollFocus = scrollFocus; if (oldScrollFocus != null) { event.setFocused(false); event.setRelatedActor(actor); oldScrollFocus.fire(event); } boolean success = !event.isCancelled(); if (success) { scrollFocus = actor; if (actor != null) { event.setFocused(true); event.setRelatedActor(oldScrollFocus); actor.fire(event); success = !event.isCancelled(); if (!success) scrollFocus = oldScrollFocus; } } Pools.free(event); return success; }