Guest User

MouseDemo.java

a guest
Jul 27th, 2013
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.29 KB | None | 0 0
  1. package mousedemo;
  2.  
  3. import org.lwjgl.LWJGLException;
  4. import org.lwjgl.input.Keyboard;
  5. import org.lwjgl.input.Mouse;
  6. import org.lwjgl.opengl.Display;
  7. import org.lwjgl.opengl.DisplayMode;
  8. import org.lwjgl.opengl.GL11;
  9.  
  10. /**
  11.  *
  12.  * @author GinjaNinja32
  13.  */
  14. public class MouseDemo {
  15.     public static double transform(double value, double originalLow, double originalHigh, double finalLow, double finalHigh) {
  16.         value -= originalLow; // [oLow, oHigh] - oLow : [0, oRange]
  17.         value /= originalHigh - originalLow; // [0, oRange] / oRange : [0, 1]
  18.         value *= finalHigh - finalLow; // [0, 1] * fRange : [0, fRange]
  19.         value += finalLow; // [0, fRange] + fLow : [fLow, fHigh]
  20.         return value;
  21.     }
  22.    
  23.     public static void main(String[] args) {
  24.         try {
  25.             Display.setDisplayMode(new DisplayMode(800, 600));
  26.             Display.create();
  27.             GL11.glClearColor(1, 1, 1, 1);
  28.  
  29.             // Method 1 - doesn't seem to work in any case
  30.             //Mouse.setNativeCursor(new Cursor(1, 1, 0, 0, 1, BufferUtils.createIntBuffer(1), null));
  31.            
  32.             // Method 2 - has worked in NetBeans only, but doesn't seem to in this code
  33.             //Mouse.setNativeCursor(new Cursor(1, 1, 0, 0, 1, (IntBuffer)IntBuffer.allocate(1).put(0x00000000).rewind(), null));
  34.            
  35.             while(!(Display.isCloseRequested() || Keyboard.isKeyDown(Keyboard.KEY_ESCAPE))) {
  36.                 double mx = transform(Mouse.getX(), 0, 800, -1, 1);
  37.                 double my = transform(Mouse.getY(), 0, 600, -1, 1);
  38.                
  39.                 // clear to white screen
  40.                 GL11.glClear(GL11.GL_COLOR_BUFFER_BIT);
  41.                
  42.                 // draw a black diamond around the mouse for visibility
  43.                 GL11.glColor4d(0, 0, 0, 1);
  44.                 GL11.glBegin(GL11.GL_LINE_LOOP);
  45.                     GL11.glVertex2d(mx+0.1, my);
  46.                     GL11.glVertex2d(mx, my+0.1);
  47.                     GL11.glVertex2d(mx-0.1, my);
  48.                     GL11.glVertex2d(mx, my-0.1);
  49.                 GL11.glEnd();
  50.                
  51.                 Display.update();
  52.             }
  53.         } catch(LWJGLException le) {
  54.             System.out.println("Exception: " + le.getMessage());
  55.             System.exit(1);
  56.         }
  57.     }
  58. }
Advertisement
Add Comment
Please, Sign In to add comment