All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.czyzby.kiwi.util.gdx.scene2d.Tooltips Maven / Gradle / Ivy

There is a newer version: 1.9.1.9.6
Show newest version
package com.github.czyzby.kiwi.util.gdx.scene2d;

import com.badlogic.gdx.scenes.scene2d.ui.TooltipManager;
import com.badlogic.gdx.utils.GdxRuntimeException;
import com.badlogic.gdx.utils.reflect.ClassReflection;
import com.badlogic.gdx.utils.reflect.ReflectionException;
import com.github.czyzby.kiwi.util.common.UtilitiesClass;
import com.github.czyzby.kiwi.util.gdx.reflection.Reflection;

/** Provides utilities for LibGDX tooltips.
 *
 * @author MJ */
public class Tooltips extends UtilitiesClass {
    private Tooltips() {
    }

    /** Since main tooltip manager instance cannot be changed globally with a regular setter, this method modifies it
     * using reflection.
     *
     * @param tooltipManager will be returned on {@link TooltipManager#getInstance()} calls.
     * @throws GdxRuntimeException if unable to change manager. */
    public static void setDefaultTooltipManager(final TooltipManager tooltipManager) {
        try {
            TooltipManager.getInstance();
            Reflection.setFieldValue(ClassReflection.getDeclaredField(TooltipManager.class, "instance"), null,
                    tooltipManager);
        } catch (final ReflectionException exception) {
            throw new GdxRuntimeException("Unable to set default tooltip manager.", exception);
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy