15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
23 * questions.
24 */
25
26 package sun.java2d.xr;
27
28 /**
29 * UInt32 "emulation", mimics the behaviour of xcb's request counter.
30 * In order to be compatible with xcb we have to wrap exactly when xcb would do.
31 * @author Clemens Eisserer
32 */
33
34 public class XcbRequestCounter {
35 private final static long MAX_UINT = 4294967295L;
36
37 long value;
38
39 public XcbRequestCounter(long value) {
40 this.value = value;
41 }
42
43 public void setValue(long value) {
44 this.value = value;
45 }
46
47 public long getValue() {
48 return value;
49 }
50
51 public void add(long v) {
52 value += v;
53
54 /*Handle 32-bit unsigned int overflow*/
55 if (value > MAX_UINT) {
|
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
23 * questions.
24 */
25
26 package sun.java2d.xr;
27
28 /**
29 * UInt32 "emulation", mimics the behaviour of xcb's request counter.
30 * In order to be compatible with xcb we have to wrap exactly when xcb would do.
31 * @author Clemens Eisserer
32 */
33
34 public class XcbRequestCounter {
35 private static final long MAX_UINT = 4294967295L;
36
37 long value;
38
39 public XcbRequestCounter(long value) {
40 this.value = value;
41 }
42
43 public void setValue(long value) {
44 this.value = value;
45 }
46
47 public long getValue() {
48 return value;
49 }
50
51 public void add(long v) {
52 value += v;
53
54 /*Handle 32-bit unsigned int overflow*/
55 if (value > MAX_UINT) {
|