public LwjglMouseCursor( @Nonnull final String cursorImageFilename, final int hotspotX, final int hotspotY, @Nonnull final NiftyResourceLoader resourceLoader) throws IOException { ImageLoader imageLoader = ImageLoaderFactory.createImageLoader(cursorImageFilename); InputStream imageStream = resourceLoader.getResourceAsStream(cursorImageFilename); if (imageStream == null) { throw new IOException("Cannot find / load mouse cursor image file: [" + cursorImageFilename + "]."); } try { ByteBuffer imageData = imageLoader.loadAsByteBufferARGB(imageStream, true); imageData.rewind(); int width = imageLoader.getImageWidth(); int height = imageLoader.getImageHeight(); cursor = new Cursor(width, height, hotspotX, height - hotspotY - 1, 1, imageData.asIntBuffer(), null); } catch (LWJGLException e) { throw new IOException(e); } finally { try { imageStream.close(); } catch (IOException e) { log.log(Level.INFO, "An error occurred while closing the InputStream used to load mouse cursor image: " + "[" + cursorImageFilename + "].", e); } } }
@Nonnull private Image createImageFromFile(@Nonnull final String filename) { ImageLoader loader = ImageLoaderFactory.createImageLoader(filename); InputStream imageStream = null; try { assert resourceLoader != null; imageStream = resourceLoader.getResourceAsStream(filename); if (imageStream != null) { ByteBuffer image = loader.loadAsByteBufferRGBA(imageStream); image.rewind(); int width = loader.getImageWidth(); int height = loader.getImageHeight(); return imageFactory.create(image, width, height); } } catch (Exception e) { log.log(Level.WARNING, "Could not load image from file: [" + filename + "]", e); } finally { if (imageStream != null) { try { imageStream.close(); } catch (IOException ignored) { } } } return imageFactory.create(null, 0, 0); } }
@Nonnull private Image createImageFromFile(@Nonnull final String filename) { ImageLoader loader = ImageLoaderFactory.createImageLoader(filename); InputStream imageStream = null; try { assert resourceLoader != null; imageStream = resourceLoader.getResourceAsStream(filename); if (imageStream != null) { ByteBuffer image = loader.loadAsByteBufferRGBA(imageStream); image.rewind(); int width = loader.getImageWidth(); int height = loader.getImageHeight(); return imageFactory.create(image, width, height); } } catch (Exception e) { log.log(Level.WARNING, "Could not load image from file: [" + filename + "]", e); } finally { if (imageStream != null) { try { imageStream.close(); } catch (IOException ignored) { } } } return imageFactory.create(null, 0, 0); } }
ByteBuffer image = loader.loadAsByteBufferRGBA(imageStream); image.rewind(); width = loader.getImageWidth(); height = loader.getImageHeight(); textureWidth = loader.getTextureWidth();
ByteBuffer image = loader.loadAsByteBufferRGBA(imageStream); image.rewind(); width = loader.getImageWidth(); height = loader.getImageHeight(); textureWidth = loader.getTextureWidth();
ByteBuffer image = loader.loadAsByteBufferRGBA(imageStream); image.rewind(); width = loader.getImageWidth(); height = loader.getImageHeight(); textureWidth = loader.getTextureWidth();