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

de.lessvoid.nifty.slick2d.render.batch.SlickMouseCursorFactory Maven / Gradle / Ivy

There is a newer version: 1.4.3
Show newest version
package de.lessvoid.nifty.slick2d.render.batch;

import de.lessvoid.nifty.render.batch.spi.MouseCursorFactory;
import de.lessvoid.nifty.slick2d.render.cursor.SlickLoadCursorException;
import de.lessvoid.nifty.slick2d.render.cursor.loader.LwjglCursorSlickMouseCursorLoader;
import de.lessvoid.nifty.spi.render.MouseCursor;
import de.lessvoid.nifty.tools.resourceloader.NiftyResourceLoader;
import org.newdawn.slick.GameContainer;

import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import java.io.IOException;

/**
 * @author Aaron Mahan <[email protected]>
 */
public class SlickMouseCursorFactory implements MouseCursorFactory {
  @Nonnull
  private final LwjglCursorSlickMouseCursorLoader loader = new LwjglCursorSlickMouseCursorLoader();
  @Nonnull
  private final GameContainer gameContainer;

  public SlickMouseCursorFactory (@Nonnull final GameContainer gameContainer)
  {
    this.gameContainer = gameContainer;
  }

  @Nullable
  @Override
  public MouseCursor create(
          @Nonnull final String filename,
          final int hotspotX,
          final int hotspotY,
          @Nonnull final NiftyResourceLoader resourceLoader) throws IOException {
    try {
      return loader.loadCursor(filename, hotspotX, hotspotY, gameContainer);
    } catch (SlickLoadCursorException e) {
      throw new IOException(e);
    }
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy