JAL-1807 Bob's JalviewJS prototype first commit
[jalviewjs.git] / site / j2s / java / awt / image / DataBuffer.js
1 Clazz.declarePackage ("java.awt.image");\r
2 Clazz.load (null, "java.awt.image.DataBuffer", ["java.lang.ArrayIndexOutOfBoundsException", "$.IllegalArgumentException", "jssun.java2d.StateTrackable", "$.StateTrackableDelegate"], function () {\r
3 c$ = Clazz.decorateAsClass (function () {\r
4 this.dataType = 0;\r
5 this.banks = 0;\r
6 this.offset = 0;\r
7 this.size = 0;\r
8 this.offsets = null;\r
9 this.theTrackable = null;\r
10 Clazz.instantialize (this, arguments);\r
11 }, java.awt.image, "DataBuffer");\r
12 c$.getDataTypeSize = Clazz.defineMethod (c$, "getDataTypeSize", \r
13 function (type) {\r
14 if (type < 0 || type > 3) {\r
15 throw  new IllegalArgumentException ("Unknown data type " + type);\r
16 }return java.awt.image.DataBuffer.dataTypeSize[type];\r
17 }, "~N");\r
18 Clazz.makeConstructor (c$, \r
19 function (dataType, size) {\r
20 this.construct (jssun.java2d.StateTrackable.State.UNTRACKABLE, dataType, size);\r
21 }, "~N,~N");\r
22 Clazz.makeConstructor (c$, \r
23 function (initialState, dataType, size) {\r
24 this.theTrackable = jssun.java2d.StateTrackableDelegate.createInstance (initialState);\r
25 this.dataType = dataType;\r
26 this.banks = 1;\r
27 this.size = size;\r
28 this.offset = 0;\r
29 this.offsets =  Clazz.newIntArray (1, 0);\r
30 }, "jssun.java2d.StateTrackable.State,~N,~N");\r
31 Clazz.makeConstructor (c$, \r
32 function (dataType, size, numBanks) {\r
33 this.construct (jssun.java2d.StateTrackable.State.UNTRACKABLE, dataType, size, numBanks);\r
34 }, "~N,~N,~N");\r
35 Clazz.makeConstructor (c$, \r
36 function (initialState, dataType, size, numBanks) {\r
37 this.theTrackable = jssun.java2d.StateTrackableDelegate.createInstance (initialState);\r
38 this.dataType = dataType;\r
39 this.banks = numBanks;\r
40 this.size = size;\r
41 this.offset = 0;\r
42 this.offsets =  Clazz.newIntArray (this.banks, 0);\r
43 }, "jssun.java2d.StateTrackable.State,~N,~N,~N");\r
44 Clazz.makeConstructor (c$, \r
45 function (dataType, size, numBanks, offset) {\r
46 this.construct (jssun.java2d.StateTrackable.State.UNTRACKABLE, dataType, size, numBanks, offset);\r
47 }, "~N,~N,~N,~N");\r
48 Clazz.makeConstructor (c$, \r
49 function (initialState, dataType, size, numBanks, offset) {\r
50 this.theTrackable = jssun.java2d.StateTrackableDelegate.createInstance (initialState);\r
51 this.dataType = dataType;\r
52 this.banks = numBanks;\r
53 this.size = size;\r
54 this.offset = offset;\r
55 this.offsets =  Clazz.newIntArray (numBanks, 0);\r
56 for (var i = 0; i < numBanks; i++) {\r
57 this.offsets[i] = offset;\r
58 }\r
59 }, "jssun.java2d.StateTrackable.State,~N,~N,~N,~N");\r
60 Clazz.makeConstructor (c$, \r
61 function (dataType, size, numBanks, offsets) {\r
62 this.construct (jssun.java2d.StateTrackable.State.UNTRACKABLE, dataType, size, numBanks, offsets);\r
63 }, "~N,~N,~N,~A");\r
64 Clazz.makeConstructor (c$, \r
65 function (initialState, dataType, size, numBanks, offsets) {\r
66 if (numBanks != offsets.length) {\r
67 throw  new ArrayIndexOutOfBoundsException ("Number of banks does not match number of bank offsets");\r
68 }this.theTrackable = jssun.java2d.StateTrackableDelegate.createInstance (initialState);\r
69 this.dataType = dataType;\r
70 this.banks = numBanks;\r
71 this.size = size;\r
72 this.offset = offsets[0];\r
73 this.offsets = offsets.clone ();\r
74 }, "jssun.java2d.StateTrackable.State,~N,~N,~N,~A");\r
75 Clazz.defineMethod (c$, "getDataType", \r
76 function () {\r
77 return this.dataType;\r
78 });\r
79 Clazz.defineMethod (c$, "getSize", \r
80 function () {\r
81 return this.size;\r
82 });\r
83 Clazz.defineMethod (c$, "getOffset", \r
84 function () {\r
85 return this.offset;\r
86 });\r
87 Clazz.defineMethod (c$, "getOffsets", \r
88 function () {\r
89 return this.offsets.clone ();\r
90 });\r
91 Clazz.defineMethod (c$, "getNumBanks", \r
92 function () {\r
93 return this.banks;\r
94 });\r
95 Clazz.defineMethod (c$, "getElem", \r
96 function (i) {\r
97 return this.getElem (0, i);\r
98 }, "~N");\r
99 Clazz.defineMethod (c$, "setElem", \r
100 function (i, val) {\r
101 this.setElem (0, i, val);\r
102 }, "~N,~N");\r
103 Clazz.defineMethod (c$, "getElemFloat", \r
104 function (i) {\r
105 return this.getElem (i);\r
106 }, "~N");\r
107 Clazz.defineMethod (c$, "getElemFloat", \r
108 function (bank, i) {\r
109 return this.getElem (bank, i);\r
110 }, "~N,~N");\r
111 Clazz.defineMethod (c$, "setElemFloat", \r
112 function (i, val) {\r
113 this.setElem (i, Clazz.floatToInt (val));\r
114 }, "~N,~N");\r
115 Clazz.defineMethod (c$, "setElemFloat", \r
116 function (bank, i, val) {\r
117 this.setElem (bank, i, Clazz.floatToInt (val));\r
118 }, "~N,~N,~N");\r
119 Clazz.defineMethod (c$, "getElemDouble", \r
120 function (i) {\r
121 return this.getElem (i);\r
122 }, "~N");\r
123 Clazz.defineMethod (c$, "getElemDouble", \r
124 function (bank, i) {\r
125 return this.getElem (bank, i);\r
126 }, "~N,~N");\r
127 Clazz.defineMethod (c$, "setElemDouble", \r
128 function (i, val) {\r
129 this.setElem (i, Clazz.doubleToInt (val));\r
130 }, "~N,~N");\r
131 Clazz.defineMethod (c$, "setElemDouble", \r
132 function (bank, i, val) {\r
133 this.setElem (bank, i, Clazz.doubleToInt (val));\r
134 }, "~N,~N,~N");\r
135 c$.toIntArray = Clazz.defineMethod (c$, "toIntArray", \r
136 function (obj) {\r
137 if (Clazz.instanceOf (obj, Array)) {\r
138 return obj;\r
139 } else if (obj == null) {\r
140 return null;\r
141 } else if (Clazz.instanceOf (obj, Array)) {\r
142 var sdata = obj;\r
143 var idata =  Clazz.newIntArray (sdata.length, 0);\r
144 for (var i = 0; i < sdata.length; i++) {\r
145 idata[i] = sdata[i] & 0xffff;\r
146 }\r
147 return idata;\r
148 } else if (Clazz.instanceOf (obj, Array)) {\r
149 var bdata = obj;\r
150 var idata =  Clazz.newIntArray (bdata.length, 0);\r
151 for (var i = 0; i < bdata.length; i++) {\r
152 idata[i] = 0xff & bdata[i];\r
153 }\r
154 return idata;\r
155 }return null;\r
156 }, "~O");\r
157 Clazz.defineStatics (c$,\r
158 "TYPE_BYTE", 0,\r
159 "TYPE_SHORT", 2,\r
160 "TYPE_INT", 3,\r
161 "TYPE_UNDEFINED", 32,\r
162 "dataTypeSize",  Clazz.newIntArray (-1, [8, 16, 16, 32, 32, 64]));\r
163 });\r