You can subscribe to this list here.
| 2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(134) |
Sep
(52) |
Oct
(13) |
Nov
(342) |
Dec
(163) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2003 |
Jan
(44) |
Feb
(62) |
Mar
(158) |
Apr
(38) |
May
(70) |
Jun
(58) |
Jul
(104) |
Aug
(207) |
Sep
(83) |
Oct
(122) |
Nov
(23) |
Dec
(49) |
| 2004 |
Jan
(119) |
Feb
(132) |
Mar
(192) |
Apr
(140) |
May
(77) |
Jun
(74) |
Jul
(201) |
Aug
(63) |
Sep
(102) |
Oct
(70) |
Nov
(173) |
Dec
(78) |
| 2005 |
Jan
(174) |
Feb
(197) |
Mar
(105) |
Apr
(59) |
May
(77) |
Jun
(43) |
Jul
(21) |
Aug
(18) |
Sep
(47) |
Oct
(37) |
Nov
(74) |
Dec
(50) |
| 2006 |
Jan
(44) |
Feb
(19) |
Mar
(32) |
Apr
(24) |
May
(31) |
Jun
(55) |
Jul
(138) |
Aug
(28) |
Sep
(12) |
Oct
(41) |
Nov
(58) |
Dec
(24) |
| 2007 |
Jan
(28) |
Feb
(14) |
Mar
(10) |
Apr
(68) |
May
(30) |
Jun
(26) |
Jul
(18) |
Aug
(63) |
Sep
(19) |
Oct
(29) |
Nov
(20) |
Dec
(10) |
| 2008 |
Jan
(38) |
Feb
(7) |
Mar
(37) |
Apr
(120) |
May
(41) |
Jun
(36) |
Jul
(39) |
Aug
(24) |
Sep
(28) |
Oct
(30) |
Nov
(36) |
Dec
(75) |
| 2009 |
Jan
(46) |
Feb
(22) |
Mar
(50) |
Apr
(70) |
May
(134) |
Jun
(105) |
Jul
(75) |
Aug
(34) |
Sep
(38) |
Oct
(34) |
Nov
(19) |
Dec
(20) |
| 2010 |
Jan
(11) |
Feb
(20) |
Mar
(65) |
Apr
(83) |
May
(104) |
Jun
(73) |
Jul
(78) |
Aug
(57) |
Sep
(43) |
Oct
(35) |
Nov
(9) |
Dec
(4) |
| 2011 |
Jan
(21) |
Feb
(11) |
Mar
(18) |
Apr
(10) |
May
(18) |
Jun
(15) |
Jul
(48) |
Aug
(25) |
Sep
(17) |
Oct
(45) |
Nov
(15) |
Dec
(12) |
| 2012 |
Jan
(21) |
Feb
(9) |
Mar
(12) |
Apr
(9) |
May
(9) |
Jun
(5) |
Jul
(1) |
Aug
(10) |
Sep
(12) |
Oct
(1) |
Nov
(28) |
Dec
(5) |
| 2013 |
Jan
(4) |
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2014 |
Jan
|
Feb
(1) |
Mar
(1) |
Apr
|
May
(2) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
| 2015 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
(2) |
Nov
|
Dec
|
| 2016 |
Jan
(2) |
Feb
(1) |
Mar
(1) |
Apr
(1) |
May
(2) |
Jun
|
Jul
(1) |
Aug
(2) |
Sep
|
Oct
|
Nov
(1) |
Dec
|
| 2017 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
|
|
|
1
|
2
(3) |
3
|
4
|
5
|
|
6
|
7
(5) |
8
|
9
(18) |
10
|
11
|
12
(25) |
|
13
|
14
(4) |
15
|
16
|
17
(2) |
18
|
19
|
|
20
|
21
(12) |
22
|
23
|
24
|
25
|
26
|
|
27
(1) |
28
|
29
|
30
(4) |
|
|
|
|
From: Brian M. <ma...@us...> - 2004-06-14 20:23:19
|
Update of /cvsroot/java-game-lib/LWJGL/platform_build/mac_xcode In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26832 Added Files: mac_xcode.xcode.zip Log Message: xcode build environment - by Scott Palmer --- NEW FILE: mac_xcode.xcode.zip --- (This appears to be a binary file; contents omitted.) |
|
From: Brian M. <ma...@us...> - 2004-06-14 20:22:34
|
Update of /cvsroot/java-game-lib/LWJGL/platform_build/mac_xcode In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26108/mac_xcode Log Message: Directory /cvsroot/java-game-lib/LWJGL/platform_build/mac_xcode added to the repository |
|
From: Caspian Rychlik-P. <ci...@us...> - 2004-06-14 19:03:51
|
Update of /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl/input In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2743/src/java/org/lwjgl/input Modified Files: Mouse.java Log Message: Index: Mouse.java =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl/input/Mouse.java,v retrieving revision 1.58 retrieving revision 1.59 diff -u -d -r1.58 -r1.59 --- Mouse.java 14 Jun 2004 19:00:33 -0000 1.58 +++ Mouse.java 14 Jun 2004 19:03:33 -0000 1.59 @@ -271,8 +271,8 @@ created = true; currentCursor = null; dx = dy = dwheel = 0; - width = Window.getWidth(); - height = Window.getHeight(); + width = Window.getWidth() << 16; + height = Window.getHeight() << 16; x = width / 2; y = height / 2; @@ -382,6 +382,8 @@ } else if (x >= width) { scrollX = x - width; x = width - 1; + } else { + scrollX = 0; } if (y < 0) { @@ -390,7 +392,12 @@ } else if (y >= height) { scrollY = y - height; y = height - 1; + } else { + scrollY = 0; } + } else { + scrollX = 0; + scrollY = 0; } if (readBuffer != null) { |
|
From: Caspian Rychlik-P. <ci...@us...> - 2004-06-14 19:00:48
|
Update of /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl/input In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv966/src/java/org/lwjgl/input Modified Files: Mouse.java Log Message: New stuff for sensitivity adjustment, scrolling, and adjustable dimensions Index: Mouse.java =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl/input/Mouse.java,v retrieving revision 1.57 retrieving revision 1.58 diff -u -d -r1.57 -r1.58 --- Mouse.java 12 Jun 2004 20:28:22 -0000 1.57 +++ Mouse.java 14 Jun 2004 19:00:33 -0000 1.58 @@ -68,18 +68,34 @@ /** animation native cursor */ public final static int CURSOR_ANIMATION = 4; + /** Mouse minimum and maximum sensitivity */ + public static final int MAX_SENSITIVITY = 8; + public static final int MIN_SENSITIVITY = 1; + + /** Mouse sensitivity: 1...8 */ + private static int sensitivity = MAX_SENSITIVITY; + + /** Mouse constraint */ + private static int width, height; + /** Has the mouse been created? */ private static boolean created; /** The mouse buttons status from the last poll */ private static ByteBuffer buttons; - /** X */ + /** Mouse absolute X position in 16:16FP */ private static int x; - /** Y */ + /** Mouse absolute Y position in 16:16FP */ private static int y; + /** Mouse X scroll position in 16:16FP */ + private static int scrollX; + + /** Mouse Y scroll position in 16:16FP */ + private static int scrollY; + /** Buffer to hold the deltas dx, dy and dwheel */ private static IntBuffer coord_buffer; @@ -93,19 +109,19 @@ private static int dwheel; /** Number of buttons supported by the mouse */ - private static int buttonCount = -1; + private static int buttonCount = -1; /** Does this mouse support a scroll wheel */ - private static boolean hasWheel = false; + private static boolean hasWheel = false; /** The current native cursor, if any */ - private static Cursor currentCursor; + private static Cursor currentCursor; /** Button names. These are set upon create(), to names like BUTTON0, BUTTON1, etc. */ private static String[] buttonName; /** hashmap of button names, for fast lookup */ - private static final Map buttonMap = new HashMap(16); + private static final Map buttonMap = new HashMap(16); /** Lazy initialization */ private static boolean initialized; @@ -124,6 +140,9 @@ private static boolean isGrabbed; + /** Whether absolute mouse tracking is enabled */ + private static boolean trackingEnabled = true; + /** * Mouse cannot be constructed. */ @@ -252,8 +271,10 @@ created = true; currentCursor = null; dx = dy = dwheel = 0; - x = Window.getWidth() / 2; - y = Window.getHeight() / 2; + width = Window.getWidth(); + height = Window.getHeight(); + x = width / 2; + y = height / 2; // set mouse buttons buttonCount = nGetButtonCount(); @@ -344,29 +365,37 @@ int poll_dx = coord_buffer.get(0); int poll_dy = coord_buffer.get(1); int poll_dwheel = coord_buffer.get(2); - // set absolute position - x += poll_dx; - y += poll_dy; + dx += poll_dx; dy += poll_dy; dwheel += poll_dwheel; - - // if window has been created, clamp to edges - if (Window.isCreated()) { + + // Calculate the new absolute position unless tracking is disabled + if (trackingEnabled) { + x += ((poll_dx * sensitivity) << 16) / MAX_SENSITIVITY; + y += ((poll_dy * sensitivity) << 16) / MAX_SENSITIVITY; + // clamp x, y if (x < 0) { + scrollX = x; x = 0; - } else if (x >= Window.getWidth()) { - x = Window.getWidth() - 1; + } else if (x >= width) { + scrollX = x - width; + x = width - 1; } if (y < 0) { + scrollY = y; y = 0; - } else if (y >= Window.getHeight()) { - y = Window.getHeight() - 1; + } else if (y >= height) { + scrollY = y - height; + y = height - 1; } } - if (readBuffer != null) read(); + + if (readBuffer != null) { + read(); + } } private static void read() { @@ -479,22 +508,22 @@ /** * Retrieves the absolute position. If the Window has been created - * x will be clamped to 0...Window.getWidth() - 1. + * x will be clamped to 0...width-1. * * @return Absolute x axis position of mouse */ public static int getX() { - return x; + return x >> 16; } /** * Retrieves the absolute position. If the Window has been created - * y will be clamped to 0...Window.getHeight() -1. + * y will be clamped to 0...height-1. * * @return Absolute y axis position of mouse */ public static int getY() { - return y; + return y >> 16; } /** @@ -530,6 +559,20 @@ public static int getButtonCount() { return buttonCount; } + + /** + * @return the amount the mouse tried to move past its constraints on the X axis since the last poll + */ + public static int getScrollX() { + return scrollX >> 16; + } + + /** + * @return the amount the mouse tried to move past its constraints on the Y axis since the last poll + */ + public static int getScrollY() { + return scrollY >> 16; + } /** * @return Whether or not this mouse has wheel support @@ -550,20 +593,20 @@ * (and thus hidden). */ public static void setGrabbed(boolean grab) { - isGrabbed = grab; - nGrabMouse(isGrabbed); - - if(!grab) { - x = Window.getWidth() / 2; - y = Window.getHeight() / 2; - } + isGrabbed = grab; + nGrabMouse(isGrabbed); + + if(!grab) { + x = width / 2; + y = height / 2; + } } private static native void nGrabMouse(boolean grab); /** * Updates the cursor, so that animation can be changed if needed. * This method is called automatically by the window on its update, and - * shouldn't be called otherwise + * shouldn't be called otherwise */ public static void updateCursor() { if (System.getProperty("os.name").startsWith("Win") && currentCursor != null && currentCursor.hasTimedOut()) { @@ -575,4 +618,68 @@ } } } + + /** + * Sets the mouse sensitivity, which is expressed as a value from 1 to 8. + * Values outside this range are clamped to [1..8]. 8 is the most sensitive; + * other values slow down the mouse to a minimum of 1/8th its original speed. + * @param newSensitivity The mouse sensitivity + */ + public static void setSensitivity(int newSensitivity) { + sensitivity = Math.min(MAX_SENSITIVITY, Math.max(MIN_SENSITIVITY, newSensitivity)); + } + + /** + * @return the current mouse sensitivity (guaranteed in the range 1..8) + */ + public static int getSensitivity() { + return sensitivity; + } + + /** + * Sets the absolute position of the mouse. The position is capped to the + * current size. + * + * @param newx + * @param newy + */ + public static void setPosition(int newx, int newy) { + x = Math.min(Math.max(0, newx << 16), width - 1); + y = Math.min(Math.max(0, newy << 16), height - 1); + } + + + /** + * Sets the dimensions of the mouse's constraint. + * @param width + * @param height + */ + public static void setDimensions(int width, int height) { + Mouse.width = width << 16; + Mouse.height = height << 16; + + // Clamp the mouse absolute coordinates just in case + if (x >= Mouse.width) { + x = Mouse.width - 1; + } + if (y >= Mouse.height) { + y = Mouse.height - 1; + } + } + + /** + * Enable or disable absolute mouse coordinate tracking. + * @param enabled + */ + public static void setTrackingEnabled(boolean enabled) { + Mouse.trackingEnabled = enabled; + } + + /** + * Determine if mouse coordinate tracking is enabled + * @return boolean + */ + public static boolean isTrackingEnabled() { + return trackingEnabled; + } } |