예제 #1
0
파일: Cursors.java 프로젝트: EQ4/Field2
  public static void arrowUp(Window window) {
    if (arrowUp == 0) arrowUp = loadResource("arrowUp.jpg");

    Log.log("cursors", () -> "setting to arrow");
    if (currentCursor != arrowUp)
      Glfw.glfwSetCursor(window.getGLFWWindowReference(), currentCursor = arrowUp);
  }
예제 #2
0
파일: Cursors.java 프로젝트: EQ4/Field2
  protected static long loadResource(String res) {
    URL arrowFile = Cursors.class.getClassLoader().getResource(res);
    String file = arrowFile.getFile();
    ByteBuffer dest = ByteBuffer.allocateDirect(3 * cursorSize * cursorSize);
    ByteBuffer destRGBA = ByteBuffer.allocateDirect(4 * cursorSize * cursorSize);
    j.decompress(file, dest, cursorSize, cursorSize);

    for (int i = 0; i < cursorSize * cursorSize; i++) {
      byte r = dest.get();
      byte g = dest.get();
      byte b = dest.get();
      destRGBA.put(r);
      destRGBA.put(g);
      destRGBA.put(b);
      destRGBA.put((byte) (255 - (b & 0xff)));
    }

    dest.rewind();
    return Glfw.glfwCreateCursor(destRGBA, cursorSize, cursorSize, 16, 16);
  }
예제 #3
0
파일: Cursors.java 프로젝트: EQ4/Field2
 public static void clear(Window window) {
   if (currentCursor != 0) Glfw.glfwSetCursor(window.getGLFWWindowReference(), currentCursor = 0);
 }