1
0

Canvas.js 31 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195
  1. smalltalk.addClass('CanvasRenderingContext', smalltalk.Object, [], 'Canvas');
  2. smalltalk.addMethod(
  3. '_fillStyle_',
  4. smalltalk.method({
  5. selector: 'fillStyle:',
  6. category: 'drawing paths',
  7. fn: function (aString) {
  8. var self = this;
  9. (function () {self.fillStyle = String(aString);}());
  10. return self;
  11. },
  12. source: unescape('fillStyle%3A%20aString%0A%09%7B%27self.fillStyle%20%3D%20String%28aString%29%27%7D')}),
  13. smalltalk.CanvasRenderingContext);
  14. smalltalk.addMethod(
  15. '_beginPath',
  16. smalltalk.method({
  17. selector: 'beginPath',
  18. category: 'drawing paths',
  19. fn: function () {
  20. var self = this;
  21. (function () {self.beginPath();}());
  22. return self;
  23. },
  24. source: unescape('beginPath%0A%09%7B%27self.beginPath%28%29%27%7D')}),
  25. smalltalk.CanvasRenderingContext);
  26. smalltalk.addMethod(
  27. '_closePath',
  28. smalltalk.method({
  29. selector: 'closePath',
  30. category: 'drawing paths',
  31. fn: function () {
  32. var self = this;
  33. (function () {self.closePath();}());
  34. return self;
  35. },
  36. source: unescape('closePath%0A%09%7B%27self.closePath%28%29%27%7D')}),
  37. smalltalk.CanvasRenderingContext);
  38. smalltalk.addMethod(
  39. '_fill',
  40. smalltalk.method({
  41. selector: 'fill',
  42. category: 'drawing paths',
  43. fn: function () {
  44. var self = this;
  45. (function () {self.fill();}());
  46. return self;
  47. },
  48. source: unescape('fill%0A%09%7B%27self.fill%28%29%27%7D')}),
  49. smalltalk.CanvasRenderingContext);
  50. smalltalk.addMethod(
  51. '_stroke',
  52. smalltalk.method({
  53. selector: 'stroke',
  54. category: 'drawing paths',
  55. fn: function () {
  56. var self = this;
  57. (function () {self.stroke();}());
  58. return self;
  59. },
  60. source: unescape('stroke%0A%09%7B%27self.stroke%28%29%27%7D')}),
  61. smalltalk.CanvasRenderingContext);
  62. smalltalk.addMethod(
  63. '_moveTo_',
  64. smalltalk.method({
  65. selector: 'moveTo:',
  66. category: 'drawing paths',
  67. fn: function (aPoint) {
  68. var self = this;
  69. (function () {self.moveTo(aPoint._x(), aPoint._y());}());
  70. return self;
  71. },
  72. source: unescape('moveTo%3A%20aPoint%0A%09%7B%27self.moveTo%28aPoint._x%28%29%2C%20aPoint._y%28%29%29%27%7D')}),
  73. smalltalk.CanvasRenderingContext);
  74. smalltalk.addMethod(
  75. '_lineTo_',
  76. smalltalk.method({
  77. selector: 'lineTo:',
  78. category: 'drawing paths',
  79. fn: function (aPoint) {
  80. var self = this;
  81. (function () {self.lineTo(aPoint._x(), aPoint._y());}());
  82. return self;
  83. },
  84. source: unescape('lineTo%3A%20aPoint%0A%09%7B%27self.lineTo%28aPoint._x%28%29%2C%20aPoint._y%28%29%29%27%7D')}),
  85. smalltalk.CanvasRenderingContext);
  86. smalltalk.addMethod(
  87. '_arcTo_radius_startAngle_endAngle_anticlockwise_',
  88. smalltalk.method({
  89. selector: 'arcTo:radius:startAngle:endAngle:anticlockwise:',
  90. category: 'drawing arcs',
  91. fn: function (aPoint, aNumber, aNumber2, aNumber3, aBoolean) {
  92. var self = this;
  93. (function () {self.arc(aPoint._x(), aPoint._y(), aNumber, aNumber2, aNumber3, aBoolean);}());
  94. return self;
  95. },
  96. source: unescape('arcTo%3A%20aPoint%20radius%3A%20aNumber%20startAngle%3A%20aNumber2%20endAngle%3A%20aNumber3%20anticlockwise%3A%20aBoolean%0A%09%7B%27self.arc%28aPoint._x%28%29%2C%20aPoint._y%28%29%2C%20aNumber%2C%20aNumber2%2C%20aNumber3%2C%20aBoolean%29%27%7D%20')}),
  97. smalltalk.CanvasRenderingContext);
  98. smalltalk.addMethod(
  99. '_arcTo_radius_',
  100. smalltalk.method({
  101. selector: 'arcTo:radius:',
  102. category: 'drawing arcs',
  103. fn: function (aPoint, aNumber) {
  104. var self = this;
  105. self._arcTo_radius_startAngle_endAngle_anticlockwise_(aPoint, aNumber, 0, smalltalk.Number._pi().__star(2), false);
  106. return self;
  107. },
  108. source: unescape('arcTo%3A%20aPoint%20radius%3A%20aNumber%0A%09self%20arcTo%3A%20aPoint%20radius%3A%20aNumber%20startAngle%3A%200%20endAngle%3A%20Number%20pi%20*%202%20anticlockwise%3A%20false')}),
  109. smalltalk.CanvasRenderingContext);
  110. smalltalk.addMethod(
  111. '_fillRectFrom_to_',
  112. smalltalk.method({
  113. selector: 'fillRectFrom:to:',
  114. category: 'drawing rectangles',
  115. fn: function (aPoint, anotherPoint) {
  116. var self = this;
  117. (function () {self.fillRect(aPoint._x(), aPoint._y(), anotherPoint._x(), anotherPoint._y());}());
  118. return self;
  119. },
  120. source: unescape('fillRectFrom%3A%20aPoint%20to%3A%20anotherPoint%0A%09%7B%27self.fillRect%28aPoint._x%28%29%2C%20aPoint._y%28%29%2C%20anotherPoint._x%28%29%2C%20anotherPoint._y%28%29%29%27%7D')}),
  121. smalltalk.CanvasRenderingContext);
  122. smalltalk.addMethod(
  123. '_strokeRectFrom_to_',
  124. smalltalk.method({
  125. selector: 'strokeRectFrom:to:',
  126. category: 'drawing rectangles',
  127. fn: function (aPoint, anotherPoint) {
  128. var self = this;
  129. (function () {self.strokeRect(aPoint._x(), aPoint._y(), anotherPoint._x(), anotherPoint._y());}());
  130. return self;
  131. },
  132. source: unescape('strokeRectFrom%3A%20aPoint%20to%3A%20anotherPoint%0A%09%7B%27self.strokeRect%28aPoint._x%28%29%2C%20aPoint._y%28%29%2C%20anotherPoint._x%28%29%2C%20anotherPoint._y%28%29%29%27%7D')}),
  133. smalltalk.CanvasRenderingContext);
  134. smalltalk.addMethod(
  135. '_clearRectFrom_to_',
  136. smalltalk.method({
  137. selector: 'clearRectFrom:to:',
  138. category: 'drawing rectangles',
  139. fn: function (aPoint, anotherPoint) {
  140. var self = this;
  141. (function () {self.fillRect(aPoint._x(), aPoint._y(), anotherPoint._x(), anotherPoint._y());}());
  142. return self;
  143. },
  144. source: unescape('clearRectFrom%3A%20aPoint%20to%3A%20anotherPoint%0A%09%7B%27self.fillRect%28aPoint._x%28%29%2C%20aPoint._y%28%29%2C%20anotherPoint._x%28%29%2C%20anotherPoint._y%28%29%29%27%7D')}),
  145. smalltalk.CanvasRenderingContext);
  146. smalltalk.addMethod(
  147. '_strokeStyle_',
  148. smalltalk.method({
  149. selector: 'strokeStyle:',
  150. category: 'drawing paths',
  151. fn: function (aString) {
  152. var self = this;
  153. (function () {self.strokeStyle = String(aString);}());
  154. return self;
  155. },
  156. source: unescape('strokeStyle%3A%20aString%0A%09%7B%27self.strokeStyle%20%3D%20String%28aString%29%27%7D')}),
  157. smalltalk.CanvasRenderingContext);
  158. smalltalk.addMethod(
  159. '_lineWidth_',
  160. smalltalk.method({
  161. selector: 'lineWidth:',
  162. category: 'drawing paths',
  163. fn: function (aNumber) {
  164. var self = this;
  165. (function () {self.lineWidth = aNumber;}());
  166. return self;
  167. },
  168. source: unescape('lineWidth%3A%20aNumber%0A%09%7B%27self.lineWidth%20%3D%20aNumber%27%7D')}),
  169. smalltalk.CanvasRenderingContext);
  170. smalltalk.addMethod(
  171. '_tagBrush_',
  172. smalltalk.method({
  173. selector: 'tagBrush:',
  174. category: 'instance creation',
  175. fn: function (aTagBrush){
  176. var self=this;
  177. return aTagBrush._element().getContext('2d');
  178. return self;},
  179. source: unescape('tagBrush%3A%20aTagBrush%0A%09%7B%27return%20aTagBrush._element%28%29.getContext%28%27%272d%27%27%29%27%7D')}),
  180. smalltalk.CanvasRenderingContext.klass);
  181. smalltalk.addClass('HTMLCanvas', smalltalk.Object, ['root'], 'Canvas');
  182. smalltalk.addMethod(
  183. '_root_',
  184. smalltalk.method({
  185. selector: 'root:',
  186. category: 'accessing',
  187. fn: function (aTagBrush) {
  188. var self = this;
  189. self['@root'] = aTagBrush;
  190. return self;
  191. },
  192. source: unescape('root%3A%20aTagBrush%0A%20%20%20%20root%20%3A%3D%20aTagBrush%0A')}),
  193. smalltalk.HTMLCanvas);
  194. smalltalk.addMethod(
  195. '_root',
  196. smalltalk.method({
  197. selector: 'root',
  198. category: 'accessing',
  199. fn: function () {
  200. var self = this;
  201. return self['@root'];
  202. return self;
  203. },
  204. source: unescape('root%0A%20%20%20%20%5Eroot%0A')}),
  205. smalltalk.HTMLCanvas);
  206. smalltalk.addMethod(
  207. '_initialize',
  208. smalltalk.method({
  209. selector: 'initialize',
  210. category: 'initialization',
  211. fn: function () {
  212. var self = this;
  213. self.klass.superclass.fn.prototype._initialize.apply(self, []);
  214. self['@root'] = smalltalk.TagBrush._fromString_canvas_("div", self);
  215. return self;
  216. },
  217. source: unescape('initialize%0A%20%20%20%20super%20initialize.%0A%20%20%20%20root%20%3A%3D%20TagBrush%20fromString%3A%20%27div%27%20canvas%3A%20self%0A')}),
  218. smalltalk.HTMLCanvas);
  219. smalltalk.addMethod(
  220. '_with_',
  221. smalltalk.method({
  222. selector: 'with:',
  223. category: 'adding',
  224. fn: function (anObject) {
  225. var self = this;
  226. return self._root()._with_(anObject);
  227. return self;
  228. },
  229. source: unescape('with%3A%20anObject%0A%20%20%20%20%5Eself%20root%20with%3A%20anObject%0A')}),
  230. smalltalk.HTMLCanvas);
  231. smalltalk.addMethod(
  232. '_newTag_',
  233. smalltalk.method({
  234. selector: 'newTag:',
  235. category: 'tags',
  236. fn: function (aString) {
  237. var self = this;
  238. return smalltalk.TagBrush._fromString_canvas_(aString, self);
  239. return self;
  240. },
  241. source: unescape('newTag%3A%20aString%0A%20%20%20%20%5ETagBrush%20fromString%3A%20aString%20canvas%3A%20self%0A')}),
  242. smalltalk.HTMLCanvas);
  243. smalltalk.addMethod(
  244. '_tag_',
  245. smalltalk.method({
  246. selector: 'tag:',
  247. category: 'tags',
  248. fn: function (aString) {
  249. var self = this;
  250. return self['@root']._addBrush_(self._newTag_(aString));
  251. return self;
  252. },
  253. source: unescape('tag%3A%20aString%0A%20%20%20%20%5Eroot%20addBrush%3A%20%28self%20newTag%3A%20aString%29%0A')}),
  254. smalltalk.HTMLCanvas);
  255. smalltalk.addMethod(
  256. '_h1',
  257. smalltalk.method({
  258. selector: 'h1',
  259. category: 'tags',
  260. fn: function () {
  261. var self = this;
  262. return self._tag_("h1");
  263. return self;
  264. },
  265. source: unescape('h1%0A%20%20%20%20%5Eself%20tag%3A%20%27h1%27%0A')}),
  266. smalltalk.HTMLCanvas);
  267. smalltalk.addMethod(
  268. '_h2',
  269. smalltalk.method({
  270. selector: 'h2',
  271. category: 'tags',
  272. fn: function () {
  273. var self = this;
  274. return self._tag_("h2");
  275. return self;
  276. },
  277. source: unescape('h2%0A%20%20%20%20%5Eself%20tag%3A%20%27h2%27%0A')}),
  278. smalltalk.HTMLCanvas);
  279. smalltalk.addMethod(
  280. '_h3',
  281. smalltalk.method({
  282. selector: 'h3',
  283. category: 'tags',
  284. fn: function () {
  285. var self = this;
  286. return self._tag_("h3");
  287. return self;
  288. },
  289. source: unescape('h3%0A%20%20%20%20%5Eself%20tag%3A%20%27h3%27%0A')}),
  290. smalltalk.HTMLCanvas);
  291. smalltalk.addMethod(
  292. '_h4',
  293. smalltalk.method({
  294. selector: 'h4',
  295. category: 'tags',
  296. fn: function () {
  297. var self = this;
  298. return self._tag_("h4");
  299. return self;
  300. },
  301. source: unescape('h4%0A%20%20%20%20%5Eself%20tag%3A%20%27h4%27%0A')}),
  302. smalltalk.HTMLCanvas);
  303. smalltalk.addMethod(
  304. '_h5',
  305. smalltalk.method({
  306. selector: 'h5',
  307. category: 'tags',
  308. fn: function () {
  309. var self = this;
  310. return self._tag_("h5");
  311. return self;
  312. },
  313. source: unescape('h5%0A%20%20%20%20%5Eself%20tag%3A%20%27h5%27%0A')}),
  314. smalltalk.HTMLCanvas);
  315. smalltalk.addMethod(
  316. '_h6',
  317. smalltalk.method({
  318. selector: 'h6',
  319. category: 'tags',
  320. fn: function () {
  321. var self = this;
  322. return self._tag_("h6");
  323. return self;
  324. },
  325. source: unescape('h6%0A%20%20%20%20%5Eself%20tag%3A%20%27h6%27%0A')}),
  326. smalltalk.HTMLCanvas);
  327. smalltalk.addMethod(
  328. '_p',
  329. smalltalk.method({
  330. selector: 'p',
  331. category: 'tags',
  332. fn: function () {
  333. var self = this;
  334. return self._tag_("p");
  335. return self;
  336. },
  337. source: unescape('p%0A%20%20%20%20%5Eself%20tag%3A%20%27p%27%0A')}),
  338. smalltalk.HTMLCanvas);
  339. smalltalk.addMethod(
  340. '_div',
  341. smalltalk.method({
  342. selector: 'div',
  343. category: 'tags',
  344. fn: function () {
  345. var self = this;
  346. return self._tag_("div");
  347. return self;
  348. },
  349. source: unescape('div%0A%20%20%20%20%5Eself%20tag%3A%20%27div%27%0A')}),
  350. smalltalk.HTMLCanvas);
  351. smalltalk.addMethod(
  352. '_span',
  353. smalltalk.method({
  354. selector: 'span',
  355. category: 'tags',
  356. fn: function () {
  357. var self = this;
  358. return self._tag_("span");
  359. return self;
  360. },
  361. source: unescape('span%0A%20%20%20%20%5Eself%20tag%3A%20%27span%27%0A')}),
  362. smalltalk.HTMLCanvas);
  363. smalltalk.addMethod(
  364. '_img',
  365. smalltalk.method({
  366. selector: 'img',
  367. category: 'tags',
  368. fn: function () {
  369. var self = this;
  370. return self._tag_("img");
  371. return self;
  372. },
  373. source: unescape('img%0A%20%20%20%20%5Eself%20tag%3A%20%27img%27%0A')}),
  374. smalltalk.HTMLCanvas);
  375. smalltalk.addMethod(
  376. '_ul',
  377. smalltalk.method({
  378. selector: 'ul',
  379. category: 'tags',
  380. fn: function () {
  381. var self = this;
  382. return self._tag_("ul");
  383. return self;
  384. },
  385. source: unescape('ul%0A%20%20%20%20%5Eself%20tag%3A%20%27ul%27%0A')}),
  386. smalltalk.HTMLCanvas);
  387. smalltalk.addMethod(
  388. '_ol',
  389. smalltalk.method({
  390. selector: 'ol',
  391. category: 'tags',
  392. fn: function () {
  393. var self = this;
  394. return self._tag_("ol");
  395. return self;
  396. },
  397. source: unescape('ol%0A%20%20%20%20%5Eself%20tag%3A%20%27ol%27%0A')}),
  398. smalltalk.HTMLCanvas);
  399. smalltalk.addMethod(
  400. '_li',
  401. smalltalk.method({
  402. selector: 'li',
  403. category: 'tags',
  404. fn: function () {
  405. var self = this;
  406. return self._tag_("li");
  407. return self;
  408. },
  409. source: unescape('li%0A%20%20%20%20%5Eself%20tag%3A%20%27li%27%0A')}),
  410. smalltalk.HTMLCanvas);
  411. smalltalk.addMethod(
  412. '_table',
  413. smalltalk.method({
  414. selector: 'table',
  415. category: 'tags',
  416. fn: function () {
  417. var self = this;
  418. return self._tag_("table");
  419. return self;
  420. },
  421. source: unescape('table%0A%20%20%20%20%5Eself%20tag%3A%20%27table%27%0A')}),
  422. smalltalk.HTMLCanvas);
  423. smalltalk.addMethod(
  424. '_tr',
  425. smalltalk.method({
  426. selector: 'tr',
  427. category: 'tags',
  428. fn: function () {
  429. var self = this;
  430. return self._tag_("tr");
  431. return self;
  432. },
  433. source: unescape('tr%0A%20%20%20%20%5Eself%20tag%3A%20%27tr%27%0A')}),
  434. smalltalk.HTMLCanvas);
  435. smalltalk.addMethod(
  436. '_td',
  437. smalltalk.method({
  438. selector: 'td',
  439. category: 'tags',
  440. fn: function () {
  441. var self = this;
  442. return self._tag_("td");
  443. return self;
  444. },
  445. source: unescape('td%20%0A%20%20%20%20%5Eself%20tag%3A%20%27td%27%0A')}),
  446. smalltalk.HTMLCanvas);
  447. smalltalk.addMethod(
  448. '_th',
  449. smalltalk.method({
  450. selector: 'th',
  451. category: 'tags',
  452. fn: function () {
  453. var self = this;
  454. return self._tag_("th");
  455. return self;
  456. },
  457. source: unescape('th%0A%20%20%20%20%5Eself%20tag%3A%20%27th%27%0A')}),
  458. smalltalk.HTMLCanvas);
  459. smalltalk.addMethod(
  460. '_form',
  461. smalltalk.method({
  462. selector: 'form',
  463. category: 'tags',
  464. fn: function () {
  465. var self = this;
  466. return self._tag_("form");
  467. return self;
  468. },
  469. source: unescape('form%0A%20%20%20%20%5Eself%20tag%3A%20%27form%27%0A')}),
  470. smalltalk.HTMLCanvas);
  471. smalltalk.addMethod(
  472. '_input',
  473. smalltalk.method({
  474. selector: 'input',
  475. category: 'tags',
  476. fn: function () {
  477. var self = this;
  478. return self._tag_("input");
  479. return self;
  480. },
  481. source: unescape('input%0A%20%20%20%20%5Eself%20tag%3A%20%27input%27%0A')}),
  482. smalltalk.HTMLCanvas);
  483. smalltalk.addMethod(
  484. '_button',
  485. smalltalk.method({
  486. selector: 'button',
  487. category: 'tags',
  488. fn: function () {
  489. var self = this;
  490. return self._tag_("button");
  491. return self;
  492. },
  493. source: unescape('button%0A%20%20%20%20%5Eself%20tag%3A%20%27button%27%0A')}),
  494. smalltalk.HTMLCanvas);
  495. smalltalk.addMethod(
  496. '_select',
  497. smalltalk.method({
  498. selector: 'select',
  499. category: 'tags',
  500. fn: function () {
  501. var self = this;
  502. return self._tag_("select");
  503. return self;
  504. },
  505. source: unescape('select%0A%20%20%20%20%5Eself%20tag%3A%20%27select%27%0A')}),
  506. smalltalk.HTMLCanvas);
  507. smalltalk.addMethod(
  508. '_option',
  509. smalltalk.method({
  510. selector: 'option',
  511. category: 'tags',
  512. fn: function () {
  513. var self = this;
  514. return self._tag_("option");
  515. return self;
  516. },
  517. source: unescape('option%0A%20%20%20%20%5Eself%20tag%3A%20%27option%27%0A')}),
  518. smalltalk.HTMLCanvas);
  519. smalltalk.addMethod(
  520. '_textarea',
  521. smalltalk.method({
  522. selector: 'textarea',
  523. category: 'tags',
  524. fn: function () {
  525. var self = this;
  526. return self._tag_("textarea");
  527. return self;
  528. },
  529. source: unescape('textarea%0A%20%20%20%20%5Eself%20tag%3A%20%27textarea%27%0A')}),
  530. smalltalk.HTMLCanvas);
  531. smalltalk.addMethod(
  532. '_a',
  533. smalltalk.method({
  534. selector: 'a',
  535. category: 'tags',
  536. fn: function () {
  537. var self = this;
  538. return self._tag_("a");
  539. return self;
  540. },
  541. source: unescape('a%0A%20%20%20%20%5Eself%20tag%3A%20%27a%27%0A')}),
  542. smalltalk.HTMLCanvas);
  543. smalltalk.addMethod(
  544. '_appendToJQuery_',
  545. smalltalk.method({
  546. selector: 'appendToJQuery:',
  547. category: '*JQuery',
  548. fn: function (aJQuery) {
  549. var self = this;
  550. aJQuery._appendElement_(self['@root']._element());
  551. return self;
  552. },
  553. source: unescape('appendToJQuery%3A%20aJQuery%0A%20%20%20%20aJQuery%20appendElement%3A%20root%20element%0A')}),
  554. smalltalk.HTMLCanvas);
  555. smalltalk.addMethod(
  556. '_canvas',
  557. smalltalk.method({
  558. selector: 'canvas',
  559. category: 'tags',
  560. fn: function () {
  561. var self = this;
  562. return self._tag_("canvas");
  563. return self;
  564. },
  565. source: unescape('canvas%0A%09%5Eself%20tag%3A%20%27canvas%27%0A')}),
  566. smalltalk.HTMLCanvas);
  567. smalltalk.addClass('TagBrush', smalltalk.Object, ['canvas', 'element'], 'Canvas');
  568. smalltalk.addMethod(
  569. '_contents_',
  570. smalltalk.method({
  571. selector: 'contents:',
  572. category: 'adding',
  573. fn: function (anObject) {
  574. var self = this;
  575. self._asJQuery()._empty();
  576. self._append_(anObject);
  577. return self;
  578. },
  579. source: unescape('contents%3A%20anObject%0A%20%20%20%20self%20asJQuery%20empty.%0A%20%20%20%20self%20append%3A%20anObject%0A')}),
  580. smalltalk.TagBrush);
  581. smalltalk.addMethod(
  582. '_addBrush_',
  583. smalltalk.method({
  584. selector: 'addBrush:',
  585. category: 'adding',
  586. fn: function (aTagBrush) {
  587. var self = this;
  588. self._appendChild_(aTagBrush._element());
  589. return aTagBrush;
  590. return self;
  591. },
  592. source: unescape('addBrush%3A%20aTagBrush%0A%20%20%20%20self%20appendChild%3A%20aTagBrush%20element.%0A%20%20%20%20%5EaTagBrush%0A')}),
  593. smalltalk.TagBrush);
  594. smalltalk.addMethod(
  595. '_with_',
  596. smalltalk.method({
  597. selector: 'with:',
  598. category: 'adding',
  599. fn: function (anObject) {
  600. var self = this;
  601. self._append_(anObject);
  602. return self;
  603. },
  604. source: unescape('with%3A%20anObject%0A%20%20%20%20self%20append%3A%20anObject%0A')}),
  605. smalltalk.TagBrush);
  606. smalltalk.addMethod(
  607. '_append_',
  608. smalltalk.method({
  609. selector: 'append:',
  610. category: 'adding',
  611. fn: function (anObject) {
  612. var self = this;
  613. anObject._appendToBrush_(self);
  614. return self;
  615. },
  616. source: unescape('append%3A%20anObject%0A%20%20%20%20anObject%20appendToBrush%3A%20self%0A')}),
  617. smalltalk.TagBrush);
  618. smalltalk.addMethod(
  619. '_appendToBrush_',
  620. smalltalk.method({
  621. selector: 'appendToBrush:',
  622. category: 'adding',
  623. fn: function (aTagBrush) {
  624. var self = this;
  625. aTagBrush._addBrush_(self);
  626. return self;
  627. },
  628. source: unescape('appendToBrush%3A%20aTagBrush%0A%20%20%20%20aTagBrush%20addBrush%3A%20self%0A')}),
  629. smalltalk.TagBrush);
  630. smalltalk.addMethod(
  631. '_appendBlock_',
  632. smalltalk.method({
  633. selector: 'appendBlock:',
  634. category: 'adding',
  635. fn: function (aBlock) {
  636. var self = this;
  637. var root = nil;
  638. root = canvas._root();
  639. canvas._root_(self);
  640. aBlock._value_(canvas);
  641. canvas._root_(root);
  642. return self;
  643. },
  644. source: unescape('appendBlock%3A%20aBlock%0A%20%20%20%20%7C%20root%20%7C%0A%20%20%20%20root%20%3A%3D%20canvas%20root.%0A%20%20%20%20canvas%20root%3A%20self.%0A%20%20%20%20aBlock%20value%3A%20canvas.%0A%20%20%20%20canvas%20root%3A%20root%0A')}),
  645. smalltalk.TagBrush);
  646. smalltalk.addMethod(
  647. '_appendChild_',
  648. smalltalk.method({
  649. selector: 'appendChild:',
  650. category: 'adding',
  651. fn: function (anElement) {
  652. var self = this;
  653. (function () {self['@element'].appendChild(anElement);}());
  654. return self;
  655. },
  656. source: unescape('appendChild%3A%20anElement%0A%20%20%20%20%7B%27self%5B%27%27@element%27%27%5D.appendChild%28anElement%29%27%7D%0A')}),
  657. smalltalk.TagBrush);
  658. smalltalk.addMethod(
  659. '_appendString_',
  660. smalltalk.method({
  661. selector: 'appendString:',
  662. category: 'adding',
  663. fn: function (aString) {
  664. var self = this;
  665. self._appendChild_(self._createTextNodeFor_(aString));
  666. return self;
  667. },
  668. source: unescape('appendString%3A%20aString%0A%20%20%20%20self%20appendChild%3A%20%28self%20createTextNodeFor%3A%20aString%29%0A')}),
  669. smalltalk.TagBrush);
  670. smalltalk.addMethod(
  671. '_at_put_',
  672. smalltalk.method({
  673. selector: 'at:put:',
  674. category: 'attributes',
  675. fn: function (aString, aValue) {
  676. var self = this;
  677. (function () {self['@element'].setAttribute(aString, aValue);}());
  678. return self;
  679. },
  680. source: unescape('at%3A%20aString%20put%3A%20aValue%0A%20%20%20%20%7B%27self%5B%27%27@element%27%27%5D.setAttribute%28aString%2C%20aValue%29%27%7D%0A')}),
  681. smalltalk.TagBrush);
  682. smalltalk.addMethod(
  683. '_removeAt_',
  684. smalltalk.method({
  685. selector: 'removeAt:',
  686. category: 'attributes',
  687. fn: function (aString) {
  688. var self = this;
  689. (function () {self['@element'].removeAttribute(aString);}());
  690. return self;
  691. },
  692. source: unescape('removeAt%3A%20aString%0A%20%20%20%20%7B%27self%5B%27%27@element%27%27%5D.removeAttribute%28aString%29%27%7D%0A')}),
  693. smalltalk.TagBrush);
  694. smalltalk.addMethod(
  695. '_class_',
  696. smalltalk.method({
  697. selector: 'class:',
  698. category: 'attributes',
  699. fn: function (aString) {
  700. var self = this;
  701. self._at_put_("class", aString);
  702. return self;
  703. },
  704. source: unescape('class%3A%20aString%0A%20%20%20%20self%20at%3A%20%27class%27%20put%3A%20aString%0A')}),
  705. smalltalk.TagBrush);
  706. smalltalk.addMethod(
  707. '_id_',
  708. smalltalk.method({
  709. selector: 'id:',
  710. category: 'attributes',
  711. fn: function (aString) {
  712. var self = this;
  713. self._at_put_("id", aString);
  714. return self;
  715. },
  716. source: unescape('id%3A%20aString%0A%20%20%20%20self%20at%3A%20%27id%27%20put%3A%20aString%0A')}),
  717. smalltalk.TagBrush);
  718. smalltalk.addMethod(
  719. '_src_',
  720. smalltalk.method({
  721. selector: 'src:',
  722. category: 'attributes',
  723. fn: function (aString) {
  724. var self = this;
  725. self._at_put_("src", aString);
  726. return self;
  727. },
  728. source: unescape('src%3A%20aString%0A%20%20%20%20self%20%20at%3A%20%27src%27%20put%3A%20aString%0A')}),
  729. smalltalk.TagBrush);
  730. smalltalk.addMethod(
  731. '_href_',
  732. smalltalk.method({
  733. selector: 'href:',
  734. category: 'attributes',
  735. fn: function (aString) {
  736. var self = this;
  737. self._at_put_("href", aString);
  738. return self;
  739. },
  740. source: unescape('href%3A%20aString%0A%20%20%20%20self%20at%3A%20%27href%27%20put%3A%20aString%0A')}),
  741. smalltalk.TagBrush);
  742. smalltalk.addMethod(
  743. '_title_',
  744. smalltalk.method({
  745. selector: 'title:',
  746. category: 'attributes',
  747. fn: function (aString) {
  748. var self = this;
  749. self._at_put_("title", aString);
  750. return self;
  751. },
  752. source: unescape('title%3A%20aString%0A%20%20%20%20self%20at%3A%20%27title%27%20put%3A%20aString%0A')}),
  753. smalltalk.TagBrush);
  754. smalltalk.addMethod(
  755. '_style_',
  756. smalltalk.method({
  757. selector: 'style:',
  758. category: 'attributes',
  759. fn: function (aString) {
  760. var self = this;
  761. self._at_put_("style", aString);
  762. return self;
  763. },
  764. source: unescape('style%3A%20aString%0A%20%20%20%20self%20at%3A%20%27style%27%20put%3A%20aString%0A')}),
  765. smalltalk.TagBrush);
  766. smalltalk.addMethod(
  767. '_initializeFromString_canvas_',
  768. smalltalk.method({
  769. selector: 'initializeFromString:canvas:',
  770. category: 'initialization',
  771. fn: function (aString, aCanvas) {
  772. var self = this;
  773. self['@element'] = self._createElementFor_(aString);
  774. canvas = aCanvas;
  775. return self;
  776. },
  777. source: unescape('initializeFromString%3A%20aString%20canvas%3A%20aCanvas%0A%20%20%20%20element%20%3A%3D%20self%20createElementFor%3A%20aString.%0A%20%20%20%20canvas%20%3A%3D%20aCanvas%0A')}),
  778. smalltalk.TagBrush);
  779. smalltalk.addMethod(
  780. '_element',
  781. smalltalk.method({
  782. selector: 'element',
  783. category: 'accessing',
  784. fn: function () {
  785. var self = this;
  786. return self['@element'];
  787. return self;
  788. },
  789. source: unescape('element%0A%20%20%20%20%5Eelement%0A')}),
  790. smalltalk.TagBrush);
  791. smalltalk.addMethod(
  792. '_asJQuery',
  793. smalltalk.method({
  794. selector: 'asJQuery',
  795. category: 'converting',
  796. fn: function (){
  797. var self=this;
  798. return smalltalk.JQuery._from_(jQuery(self['@element']));
  799. return self;},
  800. source: unescape('asJQuery%0A%09%7B%27return%20smalltalk.JQuery._from_%28jQuery%28self%5B%27%27@element%27%27%5D%29%29%27%7D%0A')}),
  801. smalltalk.TagBrush);
  802. smalltalk.addMethod(
  803. '_asJQueryDo_',
  804. smalltalk.method({
  805. selector: 'asJQueryDo:',
  806. category: 'converting',
  807. fn: function (aBlock) {
  808. var self = this;
  809. aBlock._value_(self._asJQuery());
  810. return self;
  811. },
  812. source: unescape('asJQueryDo%3A%20aBlock%0A%20%20%20%20aBlock%20value%3A%20self%20asJQuery%0A')}),
  813. smalltalk.TagBrush);
  814. smalltalk.addMethod(
  815. '_onKeyDown_',
  816. smalltalk.method({
  817. selector: 'onKeyDown:',
  818. category: 'events',
  819. fn: function (aBlock) {
  820. var self = this;
  821. self._asJQuery()._on_do_("keydown", aBlock);
  822. return self;
  823. },
  824. source: unescape('onKeyDown%3A%20aBlock%0A%20%20%20%20self%20asJQuery%20on%3A%20%27keydown%27%20do%3A%20aBlock%0A')}),
  825. smalltalk.TagBrush);
  826. smalltalk.addMethod(
  827. '_onKeyPress_',
  828. smalltalk.method({
  829. selector: 'onKeyPress:',
  830. category: 'events',
  831. fn: function (aBlock) {
  832. var self = this;
  833. self._asJQuery()._on_do_("keypress", aBlock);
  834. return self;
  835. },
  836. source: unescape('onKeyPress%3A%20aBlock%0A%20%20%20%20self%20asJQuery%20on%3A%20%27keypress%27%20do%3A%20aBlock%0A')}),
  837. smalltalk.TagBrush);
  838. smalltalk.addMethod(
  839. '_onKeyUp_',
  840. smalltalk.method({
  841. selector: 'onKeyUp:',
  842. category: 'events',
  843. fn: function (aBlock) {
  844. var self = this;
  845. self._asJQuery()._on_do_("keyup", aBlock);
  846. return self;
  847. },
  848. source: unescape('onKeyUp%3A%20aBlock%0A%20%20%20%20self%20asJQuery%20on%3A%20%27keyup%27%20do%3A%20aBlock%0A')}),
  849. smalltalk.TagBrush);
  850. smalltalk.addMethod(
  851. '_onFocus_',
  852. smalltalk.method({
  853. selector: 'onFocus:',
  854. category: 'events',
  855. fn: function (aBlock) {
  856. var self = this;
  857. self._asJQuery()._on_do_("focus", aBlock);
  858. return self;
  859. },
  860. source: unescape('onFocus%3A%20aBlock%0A%20%20%20%20self%20asJQuery%20on%3A%20%27focus%27%20do%3A%20aBlock%0A')}),
  861. smalltalk.TagBrush);
  862. smalltalk.addMethod(
  863. '_onBlur_',
  864. smalltalk.method({
  865. selector: 'onBlur:',
  866. category: 'events',
  867. fn: function (aBlock) {
  868. var self = this;
  869. self._asJQuery()._on_do_("blur", aBlock);
  870. return self;
  871. },
  872. source: unescape('onBlur%3A%20aBlock%0A%20%20%20%20self%20asJQuery%20on%3A%20%27blur%27%20do%3A%20aBlock%0A')}),
  873. smalltalk.TagBrush);
  874. smalltalk.addMethod(
  875. '_onChange_',
  876. smalltalk.method({
  877. selector: 'onChange:',
  878. category: 'events',
  879. fn: function (aBlock) {
  880. var self = this;
  881. self._asJQuery()._on_do_("change", aBlock);
  882. return self;
  883. },
  884. source: unescape('onChange%3A%20aBlock%0A%20%20%20%20self%20asJQuery%20on%3A%20%27change%27%20do%3A%20aBlock%0A')}),
  885. smalltalk.TagBrush);
  886. smalltalk.addMethod(
  887. '_onClick_',
  888. smalltalk.method({
  889. selector: 'onClick:',
  890. category: 'events',
  891. fn: function (aBlock) {
  892. var self = this;
  893. self._asJQuery()._on_do_("click", aBlock);
  894. return self;
  895. },
  896. source: unescape('onClick%3A%20aBlock%0A%20%20%20%20self%20asJQuery%20on%3A%20%27click%27%20do%3A%20aBlock%0A')}),
  897. smalltalk.TagBrush);
  898. smalltalk.addMethod(
  899. '_createElementFor_',
  900. smalltalk.method({
  901. selector: 'createElementFor:',
  902. category: 'private',
  903. fn: function (aString){
  904. var self=this;
  905. return document.createElement(String(aString));
  906. return self;},
  907. source: unescape('createElementFor%3A%20aString%0A%09%7B%27return%20document.createElement%28String%28aString%29%29%27%7D%0A')}),
  908. smalltalk.TagBrush);
  909. smalltalk.addMethod(
  910. '_createTextNodeFor_',
  911. smalltalk.method({
  912. selector: 'createTextNodeFor:',
  913. category: 'private',
  914. fn: function (aString){
  915. var self=this;
  916. return document.createTextNode(String(aString));
  917. return self;},
  918. source: unescape('createTextNodeFor%3A%20aString%0A%09%7B%27return%20document.createTextNode%28String%28aString%29%29%27%7D%0A')}),
  919. smalltalk.TagBrush);
  920. smalltalk.addMethod(
  921. '_fromString_canvas_',
  922. smalltalk.method({
  923. selector: 'fromString:canvas:',
  924. category: 'instance creation',
  925. fn: function (aString, aCanvas) {
  926. var self = this;
  927. return function ($rec) {$rec._initializeFromString_canvas_(aString, aCanvas);return $rec._yourself();}(self._new());
  928. return self;
  929. },
  930. source: unescape('fromString%3A%20aString%20canvas%3A%20aCanvas%0A%20%20%20%20%5Eself%20new%0A%09initializeFromString%3A%20aString%20canvas%3A%20aCanvas%3B%0A%09yourself%0A')}),
  931. smalltalk.TagBrush.klass);
  932. smalltalk.addClass('Widget', smalltalk.Object, ['root'], 'Canvas');
  933. smalltalk.addMethod(
  934. '_root',
  935. smalltalk.method({
  936. selector: 'root',
  937. category: 'accessing',
  938. fn: function () {
  939. var self = this;
  940. return self['@root'];
  941. return self;
  942. },
  943. source: unescape('root%0A%20%20%20%20%5Eroot%0A')}),
  944. smalltalk.Widget);
  945. smalltalk.addMethod(
  946. '_appendToBrush_',
  947. smalltalk.method({
  948. selector: 'appendToBrush:',
  949. category: 'adding',
  950. fn: function (aTagBrush) {
  951. var self = this;
  952. self._appendToJQuery_(aTagBrush._asJQuery());
  953. return self;
  954. },
  955. source: unescape('appendToBrush%3A%20aTagBrush%0A%20%20%20%20self%20appendToJQuery%3A%20aTagBrush%20asJQuery%0A')}),
  956. smalltalk.Widget);
  957. smalltalk.addMethod(
  958. '_appendToJQuery_',
  959. smalltalk.method({
  960. selector: 'appendToJQuery:',
  961. category: 'adding',
  962. fn: function (aJQuery) {
  963. var self = this;
  964. self._render();
  965. aJQuery._append_(self._root()._asJQuery());
  966. return self;
  967. },
  968. source: unescape('appendToJQuery%3A%20aJQuery%0A%20%20%20%20self%20render.%0A%20%20%20%20aJQuery%20append%3A%20self%20root%20asJQuery%0A')}),
  969. smalltalk.Widget);
  970. smalltalk.addMethod(
  971. '_alert_',
  972. smalltalk.method({
  973. selector: 'alert:',
  974. category: 'actions',
  975. fn: function (aString) {
  976. var self = this;
  977. (function () {alert(aString);}());
  978. return self;
  979. },
  980. source: unescape('alert%3A%20aString%0A%20%20%20%20%7B%27alert%28aString%29%27%7D%0A')}),
  981. smalltalk.Widget);
  982. smalltalk.addMethod(
  983. '_confirm_',
  984. smalltalk.method({
  985. selector: 'confirm:',
  986. category: 'actions',
  987. fn: function (aString) {
  988. var self = this;
  989. return function () {return window.confirm(aString);}();
  990. return self;
  991. },
  992. source: unescape('confirm%3A%20aString%0A%20%20%20%20%5E%7B%27return%20window.confirm%28aString%29%27%7D%0A')}),
  993. smalltalk.Widget);
  994. smalltalk.addMethod(
  995. '_prompt_',
  996. smalltalk.method({
  997. selector: 'prompt:',
  998. category: 'actions',
  999. fn: function (aString) {
  1000. var self = this;
  1001. return self._prompt_default_(aString, "");
  1002. return self;
  1003. },
  1004. source: unescape('prompt%3A%20aString%0A%20%20%20%20%5Eself%20prompt%3A%20aString%20default%3A%20%27%27%0A')}),
  1005. smalltalk.Widget);
  1006. smalltalk.addMethod(
  1007. '_prompt_default_',
  1008. smalltalk.method({
  1009. selector: 'prompt:default:',
  1010. category: 'actions',
  1011. fn: function (aString, anotherString) {
  1012. var self = this;
  1013. return function () {return window.prompt(aString, anotherString);}();
  1014. return self;
  1015. },
  1016. source: unescape('prompt%3A%20aString%20default%3A%20anotherString%0A%20%20%20%20%5E%7B%27return%20window.prompt%28aString%2C%20anotherString%29%27%7D%0A')}),
  1017. smalltalk.Widget);
  1018. smalltalk.addMethod(
  1019. '_update',
  1020. smalltalk.method({
  1021. selector: 'update',
  1022. category: 'actions',
  1023. fn: function () {
  1024. var self = this;
  1025. var canvas = nil;
  1026. canvas = smalltalk.HTMLCanvas._new();
  1027. canvas._root_(self._root());
  1028. self._root()._asJQuery()._empty();
  1029. self._renderOn_(canvas);
  1030. return self;
  1031. },
  1032. source: unescape('update%0A%20%20%20%20%7C%20canvas%20%7C%0A%20%20%20%20canvas%20%3A%3D%20HTMLCanvas%20new.%0A%20%20%20%20canvas%20root%3A%20self%20root.%0A%20%20%20%20self%20root%20asJQuery%20empty.%0A%20%20%20%20self%20renderOn%3A%20canvas%0A')}),
  1033. smalltalk.Widget);
  1034. smalltalk.addMethod(
  1035. '_render',
  1036. smalltalk.method({
  1037. selector: 'render',
  1038. category: 'rendering',
  1039. fn: function () {
  1040. var self = this;
  1041. var canvas = nil;
  1042. canvas = smalltalk.HTMLCanvas._new();
  1043. self['@root'] = canvas._root();
  1044. self._renderOn_(canvas);
  1045. return self;
  1046. },
  1047. source: unescape('render%0A%20%20%20%20%7C%20canvas%20%7C%0A%20%20%20%20canvas%20%3A%3D%20HTMLCanvas%20new.%0A%20%20%20%20root%20%3A%3D%20canvas%20root.%0A%20%20%20%20self%20renderOn%3A%20canvas%0A')}),
  1048. smalltalk.Widget);
  1049. smalltalk.addMethod(
  1050. '_renderOn_',
  1051. smalltalk.method({
  1052. selector: 'renderOn:',
  1053. category: 'rendering',
  1054. fn: function (html) {
  1055. var self = this;
  1056. return self;
  1057. },
  1058. source: unescape('renderOn%3A%20html%0A%20%20%20%20self%0A')}),
  1059. smalltalk.Widget);
  1060. smalltalk.addClass('CanvasBrush', smalltalk.TagBrush, [], 'Canvas');
  1061. smalltalk.addMethod(
  1062. '_createElement',
  1063. smalltalk.method({
  1064. selector: 'createElement',
  1065. category: 'private',
  1066. fn: function (){
  1067. var self=this;
  1068. return document.createElement('canvas');
  1069. return self;},
  1070. source: unescape('createElement%0A%09%7B%27return%20document.createElement%28%27%27canvas%27%27%29%27%7D')}),
  1071. smalltalk.CanvasBrush);
  1072. smalltalk.addMethod(
  1073. '_initializeWithCanvas_',
  1074. smalltalk.method({
  1075. selector: 'initializeWithCanvas:',
  1076. category: 'initialization',
  1077. fn: function (aCanvas) {
  1078. var self = this;
  1079. canvas = aCanvas;
  1080. return self;
  1081. },
  1082. source: unescape('initializeWithCanvas%3A%20aCanvas%0A%09canvas%20%3A%3D%20aCanvas')}),
  1083. smalltalk.CanvasBrush);
  1084. smalltalk.addMethod(
  1085. '_canvas_',
  1086. smalltalk.method({
  1087. selector: 'canvas:',
  1088. category: 'instance creation',
  1089. fn: function (aCanvas) {
  1090. var self = this;
  1091. return function ($rec) {$rec._initializeWithCanvas_(aCanvas);return $rec._yourself();}(self._new());
  1092. return self;
  1093. },
  1094. source: unescape('canvas%3A%20aCanvas%0A%09%5Eself%20new%0A%09%09initializeWithCanvas%3A%20aCanvas%3B%0A%09%09yourself')}),
  1095. smalltalk.CanvasBrush.klass);