Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package mousedemo;
- import org.lwjgl.LWJGLException;
- import org.lwjgl.input.Keyboard;
- import org.lwjgl.input.Mouse;
- import org.lwjgl.opengl.Display;
- import org.lwjgl.opengl.DisplayMode;
- import org.lwjgl.opengl.GL11;
- /**
- *
- * @author GinjaNinja32
- */
- public class MouseDemo {
- public static double transform(double value, double originalLow, double originalHigh, double finalLow, double finalHigh) {
- value -= originalLow; // [oLow, oHigh] - oLow : [0, oRange]
- value /= originalHigh - originalLow; // [0, oRange] / oRange : [0, 1]
- value *= finalHigh - finalLow; // [0, 1] * fRange : [0, fRange]
- value += finalLow; // [0, fRange] + fLow : [fLow, fHigh]
- return value;
- }
- public static void main(String[] args) {
- try {
- Display.setDisplayMode(new DisplayMode(800, 600));
- Display.create();
- GL11.glClearColor(1, 1, 1, 1);
- // Method 1 - doesn't seem to work in any case
- //Mouse.setNativeCursor(new Cursor(1, 1, 0, 0, 1, BufferUtils.createIntBuffer(1), null));
- // Method 2 - has worked in NetBeans only, but doesn't seem to in this code
- //Mouse.setNativeCursor(new Cursor(1, 1, 0, 0, 1, (IntBuffer)IntBuffer.allocate(1).put(0x00000000).rewind(), null));
- while(!(Display.isCloseRequested() || Keyboard.isKeyDown(Keyboard.KEY_ESCAPE))) {
- double mx = transform(Mouse.getX(), 0, 800, -1, 1);
- double my = transform(Mouse.getY(), 0, 600, -1, 1);
- // clear to white screen
- GL11.glClear(GL11.GL_COLOR_BUFFER_BIT);
- // draw a black diamond around the mouse for visibility
- GL11.glColor4d(0, 0, 0, 1);
- GL11.glBegin(GL11.GL_LINE_LOOP);
- GL11.glVertex2d(mx+0.1, my);
- GL11.glVertex2d(mx, my+0.1);
- GL11.glVertex2d(mx-0.1, my);
- GL11.glVertex2d(mx, my-0.1);
- GL11.glEnd();
- Display.update();
- }
- } catch(LWJGLException le) {
- System.out.println("Exception: " + le.getMessage());
- System.exit(1);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment