rubyvis 0.1.1 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (461) hide show
  1. data.tar.gz.sig +0 -0
  2. data/History.txt +8 -1
  3. data/Manifest.txt +100 -416
  4. data/README.txt +5 -2
  5. data/examples/barley/barley.rb +79 -0
  6. data/examples/crimea/crimea.rb +37 -0
  7. data/examples/crimea/crimea_line.rb +47 -0
  8. data/examples/second.rb +2 -2
  9. data/examples/third.rb +16 -0
  10. data/lib/rubyvis.rb +2 -1
  11. data/lib/rubyvis/color/color.rb +170 -169
  12. data/lib/rubyvis/color/colors.rb +4 -4
  13. data/lib/rubyvis/color/ramp.rb +1 -0
  14. data/lib/rubyvis/format.rb +2 -2
  15. data/lib/rubyvis/format/date.rb +9 -2
  16. data/lib/rubyvis/format/number.rb +3 -3
  17. data/lib/rubyvis/internals.rb +13 -13
  18. data/lib/rubyvis/javascript_behaviour.rb +3 -3
  19. data/lib/rubyvis/label.rb +1 -0
  20. data/lib/rubyvis/mark.rb +178 -169
  21. data/lib/rubyvis/mark/anchor.rb +4 -4
  22. data/lib/rubyvis/mark/area.rb +93 -5
  23. data/lib/rubyvis/mark/bar.rb +1 -1
  24. data/lib/rubyvis/mark/label.rb +2 -2
  25. data/lib/rubyvis/mark/line.rb +11 -5
  26. data/lib/rubyvis/mark/panel.rb +13 -11
  27. data/lib/rubyvis/mark/rule.rb +2 -2
  28. data/lib/rubyvis/property.rb +3 -2
  29. data/lib/rubyvis/scale.rb +4 -4
  30. data/lib/rubyvis/scale/linear.rb +2 -2
  31. data/lib/rubyvis/scale/ordinal.rb +41 -41
  32. data/lib/rubyvis/scale/quantitative.rb +212 -200
  33. data/lib/rubyvis/scene/svg_bar.rb +21 -21
  34. data/lib/rubyvis/scene/svg_label.rb +34 -34
  35. data/lib/rubyvis/scene/svg_line.rb +185 -0
  36. data/lib/rubyvis/scene/svg_panel.rb +36 -30
  37. data/lib/rubyvis/scene/svg_rule.rb +18 -19
  38. data/lib/rubyvis/scene/svg_scene.rb +33 -30
  39. data/lib/rubyvis/sceneelement.rb +5 -1
  40. data/lib/rubyvis/transform.rb +2 -2
  41. data/spec/mark_spec.rb +6 -6
  42. data/spec/scale_linear_datetime_spec.rb +52 -0
  43. data/spec/scale_linear_spec.rb +0 -10
  44. data/vendor/{protovis-r3.3.js → protovis/protovis-r3.3.js} +0 -0
  45. data/vendor/{src → protovis/src}/behavior/Behavior.js +0 -0
  46. data/vendor/{src → protovis/src}/behavior/Drag.js +0 -0
  47. data/vendor/{src → protovis/src}/behavior/Pan.js +0 -0
  48. data/vendor/{src → protovis/src}/behavior/Point.js +0 -0
  49. data/vendor/{src → protovis/src}/behavior/Resize.js +0 -0
  50. data/vendor/{src → protovis/src}/behavior/Select.js +0 -0
  51. data/vendor/{src → protovis/src}/behavior/Zoom.js +0 -0
  52. data/vendor/{src → protovis/src}/color/Color.js +0 -0
  53. data/vendor/{src → protovis/src}/color/Colors.js +0 -0
  54. data/vendor/{src → protovis/src}/color/Ramp.js +0 -0
  55. data/vendor/{src → protovis/src}/data/Arrays.js +0 -0
  56. data/vendor/{src → protovis/src}/data/Dom.js +0 -0
  57. data/vendor/{src → protovis/src}/data/Flatten.js +0 -0
  58. data/vendor/{src → protovis/src}/data/Histogram.js +0 -0
  59. data/vendor/{src → protovis/src}/data/LinearScale.js +0 -0
  60. data/vendor/{src → protovis/src}/data/LogScale.js +0 -0
  61. data/vendor/{src → protovis/src}/data/Nest.js +0 -0
  62. data/vendor/{src → protovis/src}/data/Numbers.js +0 -0
  63. data/vendor/{src → protovis/src}/data/Objects.js +0 -0
  64. data/vendor/{src → protovis/src}/data/OrdinalScale.js +0 -0
  65. data/vendor/{src → protovis/src}/data/QuantileScale.js +0 -0
  66. data/vendor/{src → protovis/src}/data/QuantitativeScale.js +0 -0
  67. data/vendor/{src → protovis/src}/data/RootScale.js +0 -0
  68. data/vendor/{src → protovis/src}/data/Scale.js +0 -0
  69. data/vendor/{src → protovis/src}/data/Transform.js +0 -0
  70. data/vendor/{src → protovis/src}/data/Tree.js +0 -0
  71. data/vendor/{src → protovis/src}/data/Vector.js +0 -0
  72. data/vendor/{src → protovis/src}/geo/Geo.js +0 -0
  73. data/vendor/{src → protovis/src}/geo/GeoScale.js +0 -0
  74. data/vendor/{src → protovis/src}/geo/LatLng.js +0 -0
  75. data/vendor/{src → protovis/src}/geo/Projection.js +0 -0
  76. data/vendor/{src → protovis/src}/geo/Projections.js +0 -0
  77. data/vendor/{src → protovis/src}/lang/Array.js +0 -0
  78. data/vendor/{src → protovis/src}/lang/init.js +0 -0
  79. data/vendor/{src → protovis/src}/layout/Arc.js +0 -0
  80. data/vendor/{src → protovis/src}/layout/Bullet.js +0 -0
  81. data/vendor/{src → protovis/src}/layout/Cluster.js +0 -0
  82. data/vendor/{src → protovis/src}/layout/Force.js +0 -0
  83. data/vendor/{src → protovis/src}/layout/Grid.js +0 -0
  84. data/vendor/{src → protovis/src}/layout/Hierarchy.js +0 -0
  85. data/vendor/{src → protovis/src}/layout/Horizon.js +0 -0
  86. data/vendor/{src → protovis/src}/layout/Indent.js +0 -0
  87. data/vendor/{src → protovis/src}/layout/Layout.js +0 -0
  88. data/vendor/{src → protovis/src}/layout/Matrix.js +0 -0
  89. data/vendor/{src → protovis/src}/layout/Network.js +0 -0
  90. data/vendor/{src → protovis/src}/layout/Pack.js +0 -0
  91. data/vendor/{src → protovis/src}/layout/Partition.js +0 -0
  92. data/vendor/{src → protovis/src}/layout/Rollup.js +0 -0
  93. data/vendor/{src → protovis/src}/layout/Stack.js +0 -0
  94. data/vendor/{src → protovis/src}/layout/Tree.js +0 -0
  95. data/vendor/{src → protovis/src}/layout/Treemap.js +0 -0
  96. data/vendor/{src → protovis/src}/mark/Anchor.js +0 -0
  97. data/vendor/{src → protovis/src}/mark/Area.js +0 -0
  98. data/vendor/{src → protovis/src}/mark/Bar.js +0 -0
  99. data/vendor/{src → protovis/src}/mark/Dot.js +0 -0
  100. data/vendor/{src → protovis/src}/mark/Ease.js +0 -0
  101. data/vendor/{src → protovis/src}/mark/Image.js +0 -0
  102. data/vendor/{src → protovis/src}/mark/Label.js +0 -0
  103. data/vendor/{src → protovis/src}/mark/Line.js +0 -0
  104. data/vendor/{src → protovis/src}/mark/Mark.js +0 -0
  105. data/vendor/{src → protovis/src}/mark/Panel.js +0 -0
  106. data/vendor/{src → protovis/src}/mark/Rule.js +0 -0
  107. data/vendor/{src → protovis/src}/mark/Transient.js +0 -0
  108. data/vendor/{src → protovis/src}/mark/Transition.js +0 -0
  109. data/vendor/{src → protovis/src}/mark/Wedge.js +0 -0
  110. data/vendor/{src → protovis/src}/physics/BoundConstraint.js +0 -0
  111. data/vendor/{src → protovis/src}/physics/ChargeForce.js +0 -0
  112. data/vendor/{src → protovis/src}/physics/CollisionConstraint.js +0 -0
  113. data/vendor/{src → protovis/src}/physics/Constraint.js +0 -0
  114. data/vendor/{src → protovis/src}/physics/DragForce.js +0 -0
  115. data/vendor/{src → protovis/src}/physics/Force.js +0 -0
  116. data/vendor/{src → protovis/src}/physics/Particle.js +0 -0
  117. data/vendor/{src → protovis/src}/physics/PositionConstraint.js +0 -0
  118. data/vendor/{src → protovis/src}/physics/Quadtree.js +0 -0
  119. data/vendor/{src → protovis/src}/physics/Simulation.js +0 -0
  120. data/vendor/{src → protovis/src}/physics/SpringForce.js +0 -0
  121. data/vendor/{src → protovis/src}/pv-internals.js +0 -0
  122. data/vendor/{src → protovis/src}/pv.js +0 -0
  123. data/vendor/{src → protovis/src}/scene/SvgArea.js +0 -0
  124. data/vendor/{src → protovis/src}/scene/SvgBar.js +0 -0
  125. data/vendor/{src → protovis/src}/scene/SvgCurve.js +0 -0
  126. data/vendor/{src → protovis/src}/scene/SvgDot.js +0 -0
  127. data/vendor/{src → protovis/src}/scene/SvgImage.js +0 -0
  128. data/vendor/{src → protovis/src}/scene/SvgLabel.js +0 -0
  129. data/vendor/{src → protovis/src}/scene/SvgLine.js +0 -0
  130. data/vendor/{src → protovis/src}/scene/SvgPanel.js +0 -0
  131. data/vendor/{src → protovis/src}/scene/SvgRule.js +0 -0
  132. data/vendor/{src → protovis/src}/scene/SvgScene.js +0 -0
  133. data/vendor/{src → protovis/src}/scene/SvgWedge.js +0 -0
  134. data/vendor/{src → protovis/src}/text/DateFormat.js +0 -0
  135. data/vendor/{src → protovis/src}/text/Format.js +0 -0
  136. data/vendor/{src → protovis/src}/text/NumberFormat.js +0 -0
  137. data/vendor/{src → protovis/src}/text/TimeFormat.js +0 -0
  138. metadata +132 -426
  139. metadata.gz.sig +2 -0
  140. data/examples/crimea-line.rb +0 -64
  141. data/vendor/FUTURE +0 -62
  142. data/vendor/Makefile +0 -138
  143. data/vendor/TODO +0 -22
  144. data/vendor/examples/antibiotics/antibiotics-scatter.html +0 -113
  145. data/vendor/examples/antibiotics/antibiotics.html +0 -140
  146. data/vendor/examples/antibiotics/antibiotics.js +0 -20
  147. data/vendor/examples/barley/barley.html +0 -102
  148. data/vendor/examples/barley/barley.js +0 -122
  149. data/vendor/examples/cars/cars.html +0 -90
  150. data/vendor/examples/cars/cars.js +0 -408
  151. data/vendor/examples/clock/clock.html +0 -91
  152. data/vendor/examples/crimea/crimea-grouped-bar.html +0 -65
  153. data/vendor/examples/crimea/crimea-line.html +0 -61
  154. data/vendor/examples/crimea/crimea-stacked-area.html +0 -61
  155. data/vendor/examples/crimea/crimea-stacked-bar.html +0 -60
  156. data/vendor/examples/crimea/crimea.html +0 -100
  157. data/vendor/examples/crimea/crimea.js +0 -33
  158. data/vendor/examples/downloadify/LICENSE.txt +0 -22
  159. data/vendor/examples/downloadify/download.png +0 -0
  160. data/vendor/examples/downloadify/downloadify.html +0 -57
  161. data/vendor/examples/downloadify/downloadify.min.js +0 -3
  162. data/vendor/examples/downloadify/downloadify.swf +0 -0
  163. data/vendor/examples/downloadify/swfobject.js +0 -4
  164. data/vendor/examples/ex.css +0 -17
  165. data/vendor/examples/eyes/eyes.html +0 -53
  166. data/vendor/examples/eyes/matrix.html +0 -44
  167. data/vendor/examples/flowers/flowers.html +0 -109
  168. data/vendor/examples/flowers/flowers.js +0 -154
  169. data/vendor/examples/group-stack/group-stack.html +0 -79
  170. data/vendor/examples/group-stack/headcount.js +0 -23
  171. data/vendor/examples/hotel/hotel.html +0 -76
  172. data/vendor/examples/hotel/hotel.js +0 -245
  173. data/vendor/examples/jobs/jobs.html +0 -71
  174. data/vendor/examples/jobs/jobs.js +0 -1024
  175. data/vendor/examples/jquery-1.4.2.min.js +0 -154
  176. data/vendor/examples/nba/nba.html +0 -83
  177. data/vendor/examples/nba/nba.js +0 -53
  178. data/vendor/examples/nba/nba2.html +0 -82
  179. data/vendor/examples/sankey/gdp2009.js +0 -184
  180. data/vendor/examples/sankey/sankey.html +0 -77
  181. data/vendor/examples/slider/cell.html +0 -112
  182. data/vendor/examples/slider/cell.js +0 -31
  183. data/vendor/examples/slider/horizon.html +0 -85
  184. data/vendor/examples/slider/jquery-ui-1.8rc3.custom.min.js +0 -71
  185. data/vendor/examples/slider/slider.html +0 -50
  186. data/vendor/examples/slider/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png +0 -0
  187. data/vendor/examples/slider/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png +0 -0
  188. data/vendor/examples/slider/ui-lightness/images/ui-bg_flat_10_000000_40x100.png +0 -0
  189. data/vendor/examples/slider/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png +0 -0
  190. data/vendor/examples/slider/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png +0 -0
  191. data/vendor/examples/slider/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  192. data/vendor/examples/slider/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png +0 -0
  193. data/vendor/examples/slider/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png +0 -0
  194. data/vendor/examples/slider/ui-lightness/images/ui-bg_highlight-soft_75_ffe45c_1x100.png +0 -0
  195. data/vendor/examples/slider/ui-lightness/images/ui-icons_222222_256x240.png +0 -2
  196. data/vendor/examples/slider/ui-lightness/images/ui-icons_228ef1_256x240.png +0 -2
  197. data/vendor/examples/slider/ui-lightness/images/ui-icons_ef8c08_256x240.png +0 -2
  198. data/vendor/examples/slider/ui-lightness/images/ui-icons_ffd27a_256x240.png +0 -2
  199. data/vendor/examples/slider/ui-lightness/images/ui-icons_ffffff_256x240.png +0 -2
  200. data/vendor/examples/slider/ui-lightness/jquery-ui-1.8rc3.custom.css +0 -302
  201. data/vendor/examples/tipsy/jquery.tipsy.js +0 -198
  202. data/vendor/examples/tipsy/tipsy-bar.html +0 -65
  203. data/vendor/examples/tipsy/tipsy-line.html +0 -67
  204. data/vendor/examples/tipsy/tipsy.css +0 -12
  205. data/vendor/examples/tipsy/tipsy.gif +0 -0
  206. data/vendor/examples/tipsy/tipsy.js +0 -66
  207. data/vendor/examples/weather/weather.html +0 -86
  208. data/vendor/examples/weather/weather.js +0 -42
  209. data/vendor/examples/wheat/wheat.html +0 -130
  210. data/vendor/examples/wheat/wheat.js +0 -70
  211. data/vendor/lib/google-compiler/COPYING +0 -202
  212. data/vendor/lib/google-compiler/README +0 -224
  213. data/vendor/lib/google-compiler/compiler-20100201.jar +0 -0
  214. data/vendor/protovis-d3.3.js +0 -15726
  215. data/vendor/test1.html +0 -30
  216. data/vendor/tests/behavior/drag-events.html +0 -47
  217. data/vendor/tests/behavior/drag.html +0 -32
  218. data/vendor/tests/behavior/drag2.html +0 -33
  219. data/vendor/tests/behavior/point-area-stacked.html +0 -73
  220. data/vendor/tests/behavior/point-area-stacked2.html +0 -70
  221. data/vendor/tests/behavior/point-area.html +0 -67
  222. data/vendor/tests/behavior/point-bar.html +0 -62
  223. data/vendor/tests/behavior/point-dot.html +0 -60
  224. data/vendor/tests/behavior/point-line.html +0 -62
  225. data/vendor/tests/behavior/point-lines-grid.html +0 -65
  226. data/vendor/tests/behavior/point-lines.html +0 -61
  227. data/vendor/tests/behavior/point-wedge.html +0 -43
  228. data/vendor/tests/behavior/resize.html +0 -69
  229. data/vendor/tests/behavior/select.html +0 -37
  230. data/vendor/tests/bzr.js +0 -62
  231. data/vendor/tests/center.js +0 -13
  232. data/vendor/tests/data/deviation.html +0 -54
  233. data/vendor/tests/data/histogram-discrete.html +0 -50
  234. data/vendor/tests/data/histogram.html +0 -56
  235. data/vendor/tests/data/log-adjusted.html +0 -48
  236. data/vendor/tests/data/log-ceil.html +0 -48
  237. data/vendor/tests/data/log-floor.html +0 -48
  238. data/vendor/tests/data/log-symmetric.html +0 -48
  239. data/vendor/tests/data/log.html +0 -48
  240. data/vendor/tests/data/max-index.html +0 -36
  241. data/vendor/tests/data/max.html +0 -36
  242. data/vendor/tests/data/min-index.html +0 -36
  243. data/vendor/tests/data/min.html +0 -36
  244. data/vendor/tests/data/ordinal-split-banded.html +0 -45
  245. data/vendor/tests/data/ordinal-split-banded2.html +0 -45
  246. data/vendor/tests/data/ordinal-split-flush.html +0 -51
  247. data/vendor/tests/data/ordinal-split.html +0 -51
  248. data/vendor/tests/data/range.html +0 -105
  249. data/vendor/tests/data/scale-date.html +0 -46
  250. data/vendor/tests/data/scale-date2.html +0 -38
  251. data/vendor/tests/data/scale-date3.html +0 -38
  252. data/vendor/tests/data/scale-date4.html +0 -38
  253. data/vendor/tests/data/scale-degenerate.html +0 -143
  254. data/vendor/tests/data/scale-linear.html +0 -59
  255. data/vendor/tests/data/scale-log.html +0 -60
  256. data/vendor/tests/data/scale-log2.html +0 -60
  257. data/vendor/tests/data/scale-log3.html +0 -60
  258. data/vendor/tests/data/scale-log4.html +0 -60
  259. data/vendor/tests/data/scale-log5.html +0 -60
  260. data/vendor/tests/data/scale-log6.html +0 -60
  261. data/vendor/tests/data/scale-quantile.html +0 -47
  262. data/vendor/tests/data/scale-quantile2.html +0 -50
  263. data/vendor/tests/data/scale-quantile3.html +0 -48
  264. data/vendor/tests/data/scale-root.html +0 -60
  265. data/vendor/tests/data/scale-root2.html +0 -39
  266. data/vendor/tests/data/scale-tick-format.html +0 -54
  267. data/vendor/tests/data/scale-ticks.html +0 -45
  268. data/vendor/tests/data/sum.html +0 -42
  269. data/vendor/tests/data/variance.html +0 -42
  270. data/vendor/tests/diamond.js +0 -40
  271. data/vendor/tests/flare-imports.js +0 -222
  272. data/vendor/tests/flare.js +0 -284
  273. data/vendor/tests/geo/countries-hires.js +0 -257
  274. data/vendor/tests/geo/countries-lores.js +0 -197
  275. data/vendor/tests/geo/population.js +0 -250
  276. data/vendor/tests/geo/scale-aitoff.html +0 -58
  277. data/vendor/tests/geo/scale-gall-peters.html +0 -56
  278. data/vendor/tests/geo/scale-hammer.html +0 -58
  279. data/vendor/tests/geo/scale-identity.html +0 -56
  280. data/vendor/tests/geo/scale-mercator.html +0 -56
  281. data/vendor/tests/geo/scale-sinusoidal.html +0 -57
  282. data/vendor/tests/geo/scale-smart-domain.html +0 -58
  283. data/vendor/tests/geo/scale.html +0 -55
  284. data/vendor/tests/geo/scale2.html +0 -40
  285. data/vendor/tests/geo/us-states.js +0 -61
  286. data/vendor/tests/heatmap.js +0 -63
  287. data/vendor/tests/lang/globals.html +0 -41
  288. data/vendor/tests/lang/init.html +0 -31
  289. data/vendor/tests/layers.js +0 -28
  290. data/vendor/tests/layout/arc-directed.html +0 -33
  291. data/vendor/tests/layout/arc-radial.html +0 -36
  292. data/vendor/tests/layout/arc-undirected.html +0 -32
  293. data/vendor/tests/layout/arc.html +0 -33
  294. data/vendor/tests/layout/arc2.html +0 -32
  295. data/vendor/tests/layout/bullet-multiples.html +0 -60
  296. data/vendor/tests/layout/bullet.html +0 -45
  297. data/vendor/tests/layout/bullets.js +0 -37
  298. data/vendor/tests/layout/cluster-fill-group.html +0 -24
  299. data/vendor/tests/layout/cluster-fill.html +0 -28
  300. data/vendor/tests/layout/cluster-partition-radial-fill.html +0 -43
  301. data/vendor/tests/layout/cluster-radial-fill-radius.html +0 -26
  302. data/vendor/tests/layout/cluster-radial-fill.html +0 -29
  303. data/vendor/tests/layout/cluster-radial-group-fill.html +0 -30
  304. data/vendor/tests/layout/cluster-radial-radius.html +0 -30
  305. data/vendor/tests/layout/cluster-radial.html +0 -28
  306. data/vendor/tests/layout/cluster-radial2.html +0 -33
  307. data/vendor/tests/layout/cluster.html +0 -34
  308. data/vendor/tests/layout/cluster2.html +0 -32
  309. data/vendor/tests/layout/force-toggle.html +0 -46
  310. data/vendor/tests/layout/force.html +0 -45
  311. data/vendor/tests/layout/force2.html +0 -58
  312. data/vendor/tests/layout/force3.html +0 -41
  313. data/vendor/tests/layout/force4.html +0 -45
  314. data/vendor/tests/layout/force5.html +0 -53
  315. data/vendor/tests/layout/grid-cols.html +0 -31
  316. data/vendor/tests/layout/grid-heatmap.html +0 -25
  317. data/vendor/tests/layout/grid-rows.html +0 -31
  318. data/vendor/tests/layout/grid.html +0 -34
  319. data/vendor/tests/layout/horizon-color.html +0 -31
  320. data/vendor/tests/layout/horizon.html +0 -31
  321. data/vendor/tests/layout/indent-toggle.html +0 -62
  322. data/vendor/tests/layout/indent.html +0 -25
  323. data/vendor/tests/layout/indent2.html +0 -33
  324. data/vendor/tests/layout/matrix-sort.html +0 -28
  325. data/vendor/tests/layout/matrix.html +0 -35
  326. data/vendor/tests/layout/network.html +0 -43
  327. data/vendor/tests/layout/pack-bubble.html +0 -45
  328. data/vendor/tests/layout/pack.html +0 -26
  329. data/vendor/tests/layout/pack2.html +0 -32
  330. data/vendor/tests/layout/partition-fill.html +0 -27
  331. data/vendor/tests/layout/partition-fill2.html +0 -22
  332. data/vendor/tests/layout/partition-fill3.html +0 -27
  333. data/vendor/tests/layout/partition-radial-fill-radius.html +0 -25
  334. data/vendor/tests/layout/partition-radial-fill.html +0 -26
  335. data/vendor/tests/layout/partition-radial-fill2.html +0 -23
  336. data/vendor/tests/layout/partition-radial-fill3.html +0 -29
  337. data/vendor/tests/layout/partition-radial-radius.html +0 -29
  338. data/vendor/tests/layout/partition-radial.html +0 -30
  339. data/vendor/tests/layout/partition-radial2.html +0 -33
  340. data/vendor/tests/layout/partition.html +0 -33
  341. data/vendor/tests/layout/partition2.html +0 -32
  342. data/vendor/tests/layout/rollup.html +0 -50
  343. data/vendor/tests/layout/stack-empty.html +0 -27
  344. data/vendor/tests/layout/stack-expand.html +0 -41
  345. data/vendor/tests/layout/stack-reverse.html +0 -42
  346. data/vendor/tests/layout/stack-right.html +0 -42
  347. data/vendor/tests/layout/stack-rule.html +0 -61
  348. data/vendor/tests/layout/stack-visible.html +0 -43
  349. data/vendor/tests/layout/stack.html +0 -53
  350. data/vendor/tests/layout/tree-radial.html +0 -31
  351. data/vendor/tests/layout/tree-radial2.html +0 -34
  352. data/vendor/tests/layout/tree-toggle.html +0 -36
  353. data/vendor/tests/layout/tree.html +0 -31
  354. data/vendor/tests/layout/tree2.html +0 -35
  355. data/vendor/tests/layout/treemap-hierarchy.html +0 -40
  356. data/vendor/tests/layout/treemap-margin.html +0 -26
  357. data/vendor/tests/layout/treemap-round.html +0 -40
  358. data/vendor/tests/layout/treemap-slice.html +0 -34
  359. data/vendor/tests/layout/treemap.html +0 -37
  360. data/vendor/tests/life.js +0 -212
  361. data/vendor/tests/mark/anchor.html +0 -25
  362. data/vendor/tests/mark/area-anchor-chain.html +0 -42
  363. data/vendor/tests/mark/area-anchor-line.html +0 -57
  364. data/vendor/tests/mark/area-anchor-stack.html +0 -35
  365. data/vendor/tests/mark/area-anchor.html +0 -43
  366. data/vendor/tests/mark/area-anchor2.html +0 -33
  367. data/vendor/tests/mark/area-cardinal.html +0 -57
  368. data/vendor/tests/mark/area-monotone.html +0 -57
  369. data/vendor/tests/mark/area-segmented-basis.html +0 -30
  370. data/vendor/tests/mark/area-segmented-cardinal.html +0 -30
  371. data/vendor/tests/mark/area-segmented-monotone.html +0 -30
  372. data/vendor/tests/mark/area-segmented-step.html +0 -44
  373. data/vendor/tests/mark/area-segmented.html +0 -29
  374. data/vendor/tests/mark/area-stacked-cardinal.html +0 -54
  375. data/vendor/tests/mark/area-stacked-monotone.html +0 -54
  376. data/vendor/tests/mark/area-stacked.html +0 -53
  377. data/vendor/tests/mark/area-step.html +0 -43
  378. data/vendor/tests/mark/area-zero.html +0 -32
  379. data/vendor/tests/mark/area.html +0 -57
  380. data/vendor/tests/mark/bar-anchor-stack.html +0 -51
  381. data/vendor/tests/mark/bar-anchor.html +0 -44
  382. data/vendor/tests/mark/bar-column-grouped.html +0 -63
  383. data/vendor/tests/mark/bar-column-stacked.html +0 -56
  384. data/vendor/tests/mark/bar-column.html +0 -54
  385. data/vendor/tests/mark/bar-grouped.html +0 -63
  386. data/vendor/tests/mark/bar-stacked.html +0 -57
  387. data/vendor/tests/mark/bar.html +0 -54
  388. data/vendor/tests/mark/cursor.html +0 -41
  389. data/vendor/tests/mark/def-type.html +0 -23
  390. data/vendor/tests/mark/dot-anchor.html +0 -33
  391. data/vendor/tests/mark/dot-radius.html +0 -22
  392. data/vendor/tests/mark/dot-stroke.html +0 -43
  393. data/vendor/tests/mark/dot.html +0 -52
  394. data/vendor/tests/mark/dot2.html +0 -61
  395. data/vendor/tests/mark/ease.html +0 -90
  396. data/vendor/tests/mark/event-dblclick.html +0 -30
  397. data/vendor/tests/mark/event-prototype.html +0 -45
  398. data/vendor/tests/mark/event-render.html +0 -45
  399. data/vendor/tests/mark/event.html +0 -24
  400. data/vendor/tests/mark/image-color-inherit.html +0 -33
  401. data/vendor/tests/mark/image-color.html +0 -35
  402. data/vendor/tests/mark/image-color2.html +0 -35
  403. data/vendor/tests/mark/image-heatmap.html +0 -29
  404. data/vendor/tests/mark/image.html +0 -32
  405. data/vendor/tests/mark/label-break.html +0 -54
  406. data/vendor/tests/mark/label-decoration.html +0 -22
  407. data/vendor/tests/mark/label-events.html +0 -32
  408. data/vendor/tests/mark/line-anchor.html +0 -42
  409. data/vendor/tests/mark/line-basis.html +0 -54
  410. data/vendor/tests/mark/line-brownian.html +0 -57
  411. data/vendor/tests/mark/line-cardinal.html +0 -77
  412. data/vendor/tests/mark/line-catmull-rom.html +0 -78
  413. data/vendor/tests/mark/line-curve.html +0 -65
  414. data/vendor/tests/mark/line-eccentricity.html +0 -39
  415. data/vendor/tests/mark/line-fill.html +0 -24
  416. data/vendor/tests/mark/line-join.html +0 -51
  417. data/vendor/tests/mark/line-monotone-non-monotone.html +0 -53
  418. data/vendor/tests/mark/line-monotone-two-way.html +0 -61
  419. data/vendor/tests/mark/line-monotone.html +0 -53
  420. data/vendor/tests/mark/line-polar.html +0 -36
  421. data/vendor/tests/mark/line-segmented-basis.html +0 -57
  422. data/vendor/tests/mark/line-segmented-cardinal.html +0 -80
  423. data/vendor/tests/mark/line-segmented-join.html +0 -52
  424. data/vendor/tests/mark/line-segmented-monotone.html +0 -56
  425. data/vendor/tests/mark/line-segmented-polar.html +0 -30
  426. data/vendor/tests/mark/line-segmented-step.html +0 -41
  427. data/vendor/tests/mark/line-segmented-step2.html +0 -32
  428. data/vendor/tests/mark/line-segmented.html +0 -30
  429. data/vendor/tests/mark/line-step.html +0 -39
  430. data/vendor/tests/mark/line-tension.html +0 -59
  431. data/vendor/tests/mark/line.html +0 -51
  432. data/vendor/tests/mark/panel-anchor.html +0 -37
  433. data/vendor/tests/mark/panel-anchor2.html +0 -31
  434. data/vendor/tests/mark/panel-anchor3.html +0 -22
  435. data/vendor/tests/mark/panel-anchor4.html +0 -28
  436. data/vendor/tests/mark/panel-anchor5.html +0 -28
  437. data/vendor/tests/mark/panel-append.html +0 -29
  438. data/vendor/tests/mark/panel-canvas.html +0 -107
  439. data/vendor/tests/mark/panel-fill.html +0 -50
  440. data/vendor/tests/mark/panel-mouse.html +0 -53
  441. data/vendor/tests/mark/panel-transform.html +0 -67
  442. data/vendor/tests/mark/property-cast.html +0 -24
  443. data/vendor/tests/mark/render-partial.html +0 -42
  444. data/vendor/tests/mark/rule-anchor.html +0 -29
  445. data/vendor/tests/mark/title.html +0 -41
  446. data/vendor/tests/mark/transition-anchor.html +0 -47
  447. data/vendor/tests/mark/transition-wedge.html +0 -47
  448. data/vendor/tests/mark/transition.html +0 -106
  449. data/vendor/tests/mark/wedge-donut.html +0 -35
  450. data/vendor/tests/mark/wedge-implied.html +0 -42
  451. data/vendor/tests/mark/wedge-pie.html +0 -37
  452. data/vendor/tests/mark/wedge-ring.html +0 -27
  453. data/vendor/tests/miserables.js +0 -348
  454. data/vendor/tests/physics/dorling.html +0 -70
  455. data/vendor/tests/physics/simulation.html +0 -56
  456. data/vendor/tests/social.js +0 -28
  457. data/vendor/tests/stanford.png +0 -0
  458. data/vendor/tests/style.css +0 -5
  459. data/vendor/tests/testify.css +0 -29
  460. data/vendor/tests/testify.js +0 -16
  461. data/vendor/tests/text/format-number.html +0 -75
@@ -11,15 +11,15 @@ module Rubyvis
11
11
  def pv
12
12
  Rubyvis
13
13
  end
14
- def self.category10(*arguments)
14
+ def self.category10(*arguments)
15
15
  scale = pv.colors(
16
- "#1f77b4", "#ff7f0e", "#2ca02c", "#d62728", "#9467bd",
16
+ "#1f77b4", "#ff7f0e", "#2ca02c", "#d62728", "#9467bd",
17
17
  "#8c564b", "#e377c2", "#7f7f7f", "#bcbd22", "#17becf")
18
18
  scale.domain(*arguments);
19
19
  scale
20
20
  end
21
21
  def self.category19(*arguments)
22
- scale = pv.colors(
22
+ scale = pv.colors(
23
23
  "#9c9ede", "#7375b5", "#4a5584", "#cedb9c", "#b5cf6b",
24
24
  "#8ca252", "#637939", "#e7cb94", "#e7ba52", "#bd9e39",
25
25
  "#8c6d31", "#e7969c", "#d6616b", "#ad494a", "#843c39",
@@ -37,4 +37,4 @@ module Rubyvis
37
37
  scale
38
38
  end
39
39
  end
40
- end
40
+ end
@@ -0,0 +1 @@
1
+
@@ -2,7 +2,7 @@ module Rubyvis
2
2
  def self.Format
3
3
  Rubyvis::Format
4
4
  end
5
-
5
+
6
6
  module Format
7
7
  def self.re(s)
8
8
  s.gsub(/[\\\^\$\*\+\?\[\]\(\)\.\{\}]/, "\\$&")
@@ -16,4 +16,4 @@ module Rubyvis
16
16
  end
17
17
  end
18
18
  require 'rubyvis/format/number'
19
- require 'rubyvis/format/date'
19
+ require 'rubyvis/format/date'
@@ -10,9 +10,16 @@ module Rubyvis
10
10
  def format(d)
11
11
  d.strftime(pattern)
12
12
  end
13
+ def format_lambda
14
+ pat=pattern
15
+ lambda {|d|
16
+ d.strftime(pat)
17
+ }
18
+ end
13
19
  def parse(s)
14
- ::Date.strptime(s, pattern)
20
+ time=::DateTime.strptime(s, pattern)
21
+ Time.utc(time.year, time.month, time.day, time.hour, time.min, time.sec, 0)
15
22
  end
16
23
  end
17
24
  end
18
- end
25
+ end
@@ -15,7 +15,7 @@ module Rubyvis
15
15
  @np = "\u2212" # default negative prefix
16
16
  @ns = "" # default negative suffix
17
17
  end
18
- def fraction_digits(*arguments)
18
+ def fraction_digits(*arguments)
19
19
  if (arguments.size>0)
20
20
  min=arguments[0]
21
21
  max=arguments[1]
@@ -24,8 +24,8 @@ module Rubyvis
24
24
  @maxk = 10**@maxf
25
25
  return self
26
26
  end
27
- [minf, maxf]
27
+ [minf, maxf]
28
28
  end
29
29
  end
30
30
  end
31
- end
31
+ end
@@ -8,7 +8,7 @@ module Rubyvis
8
8
  (f.is_a? Proc) ? f : lambda {f}
9
9
  end
10
10
  # :section: /data/Arrays.js
11
-
11
+
12
12
  def self.map(array, f=nil)
13
13
  if f
14
14
  array.size.times.map {|i|
@@ -75,9 +75,9 @@ module Rubyvis
75
75
  def self.reverse_order(a,b)
76
76
  -(a<=>b)
77
77
  end
78
-
78
+
79
79
  def self.search(array, value, f=nil)
80
- f = Rubyvis.identity if (f.nil?)
80
+ f = Rubyvis.identity if (f.nil?)
81
81
  low = 0
82
82
  high = array.size - 1;
83
83
  while (low <= high)
@@ -97,11 +97,11 @@ module Rubyvis
97
97
  i=Rubyvis.search(array,value,f)
98
98
  (i < 0 ) ? (-i-1) : i;
99
99
  end
100
-
101
-
100
+
101
+
102
102
  # :section: /data/Numbers.js
103
-
104
- def self.range(*arguments)
103
+
104
+ def self.range(*arguments)
105
105
  start, stop, step=arguments
106
106
  if (arguments.size == 1)
107
107
  stop = start;
@@ -114,12 +114,12 @@ module Rubyvis
114
114
  stop = stop- (stop - start) * 1e-10 #// floating point precision!
115
115
  j = start + step * i
116
116
  if (step < 0)
117
- while (j > stop)
117
+ while (j > stop)
118
118
  array.push(j)
119
119
  i+=1
120
120
  j = start + step * i
121
121
  end
122
- else
122
+ else
123
123
  while (j < stop)
124
124
  array.push(j)
125
125
  i+=1
@@ -130,14 +130,14 @@ module Rubyvis
130
130
  end
131
131
  def self.random(*arguments)
132
132
  start,stop,step=arguments
133
- if (arguments.size == 1)
133
+ if (arguments.size == 1)
134
134
  stop = start;
135
135
  start = 0;
136
136
  end
137
137
  step||= 1;
138
138
  return step ? ((rand() * (stop - start).quo(step)).floor * step + start) : (rand() * (stop - start) + start);
139
139
  end
140
-
140
+
141
141
  def self.sum(array,f=nil)
142
142
  if f.nil?
143
143
  array.inject(0) {|ac,v| ac+v}
@@ -172,9 +172,9 @@ module Rubyvis
172
172
  Rubyvis.sum(array,f).quo(array.size)
173
173
  end
174
174
  def self.median(array,f=nil)
175
- return (array.length - 1).quo(2) if (f == pv.index)
175
+ return (array.length - 1).quo(2) if (f == pv.index)
176
176
  array = Rubyvis.map(array, f).sort{|a,b| Rubyvis.natural_order(a,b)}
177
- return array[array.size.quo(2).floor] if (array.length % 2>0)
177
+ return array[array.size.quo(2).floor] if (array.length % 2>0)
178
178
  i = array.size.quo(2);
179
179
  return (array[i - 1] + array[i]).quo(2);
180
180
  end
@@ -56,9 +56,9 @@ class Proc
56
56
  else
57
57
  obj.instance_exec(*arguments,&self)
58
58
  end
59
- end
59
+ end
60
60
  # Same as js_apply, but using explicit arguments
61
- def js_call(obj,*args)
61
+ def js_call(obj,*args)
62
62
  js_apply(obj,args)
63
- end
63
+ end
64
64
  end
data/lib/rubyvis/label.rb CHANGED
@@ -0,0 +1 @@
1
+
data/lib/rubyvis/mark.rb CHANGED
@@ -1,61 +1,59 @@
1
1
  module Rubyvis
2
- # Represents a data-driven graphical mark. The <tt>Mark</tt> class is
3
- # the base class for all graphical marks in Protovis; it does not provide any
4
- # specific rendering functionality, but together with {@link Panel} establishes
5
- # the core framework.
2
+ # Represents a data-driven graphical mark. The <tt>Mark</tt> class is
3
+ # the base class for all graphical marks in Protovis; it does not provide any
4
+ # specific rendering functionality, but together with {@link Panel} establishes
5
+ # the core framework.
6
6
  class Mark
7
- @properties={}
8
-
9
- def self.property_method(name,_def)
10
- define_method(name) do |*arguments|
11
- v,dummy = arguments
12
- if _def and self.scene
13
- if arguments.size>0
14
- defs[name]=OpenStruct.new({:id=>(v.nil?) ? 0 : Rubyvis.id, :value=> v})
15
- return self
16
- end
17
- return defs[name]
18
- end
19
- if arguments.size>0
20
- type=(!_def).to_i<<1 | (v.is_a? Proc).to_i
21
- property_value(name,(type & 1 !=0) ? lambda {|*args| v.js_apply(self, args)} : v)._type=type
22
- #@_properties_types[name]=type
23
- return self
24
- end
25
- i=instance()
26
- if i.nil?
27
- raise "No instancia para #{name}"
28
- else
29
- #puts "Instancia para #{name}"
30
-
31
- i.send(name)
32
- end
33
- end
34
- end
35
- def property_value(name,v)
36
- prop=Property.new({:name=>name, :id=>Rubyvis.id, :value=>v})
37
- @_properties.delete_if{|v| v.name==name}
38
- @_properties.push(prop)
39
- #@_properties_values[name]=v
40
- return prop
41
- end
42
- def margin(n)
43
- self.left(n).right(n).top(n).bottom(n)
44
- end
45
- def instance(default_index=nil)
46
- scene=self.scene
47
- scene||=self.parent.instance(-1).children[self.child_index]
48
- if(default_index)
49
- index=self.respond_to?(:index) ? self.index : default_index
50
- else
51
- index=scene.size-1
52
- end
53
- #puts "index:#{index} , scene.size:#{scene.size}, default_index:#{default_index}"
54
- scene[index]
55
- end
56
-
57
-
58
- def self.attr_accessor_dsl(*attr)
7
+ @properties={}
8
+
9
+ def self.property_method(name,_def)
10
+ return if Mark.method_defined? name
11
+ Mark.send(:define_method, name) do |*arguments|
12
+ v,dummy = arguments
13
+ if _def and self.scene
14
+ if arguments.size>0
15
+ defs[name]=OpenStruct.new({:id=>(v.nil?) ? 0 : Rubyvis.id, :value=> v})
16
+ return self
17
+ end
18
+ return defs[name]
19
+ end
20
+ if arguments.size>0
21
+ type=(!_def).to_i<<1 | (v.is_a? Proc).to_i
22
+ property_value(name,(type & 1 !=0) ? lambda {|*args| v.js_apply(self, args)} : v)._type=type
23
+ #@_properties_types[name]=type
24
+ return self
25
+ end
26
+ i=instance()
27
+ if i.nil?
28
+ raise "No instance for #{self} on #{name}"
29
+ else
30
+ #puts "Instancia para #{name}"
31
+ #puts "index:#{self.index}, name:#{name}, val:#{i.send(name)}"
32
+ i.send(name)
33
+ end
34
+ end
35
+ end
36
+ def property_value(name,v)
37
+ prop=Property.new({:name=>name, :id=>Rubyvis.id, :value=>v})
38
+ @_properties.delete_if{|v1| v1.name==name}
39
+ @_properties.push(prop)
40
+ #@_properties_values[name]=v
41
+ return prop
42
+ end
43
+ def margin(n)
44
+ self.left(n).right(n).top(n).bottom(n)
45
+ end
46
+ def instance(default_index=nil)
47
+ scene=self.scene
48
+ scene||=self.parent.instance(-1).children[self.child_index]
49
+
50
+ index = self.respond_to?(:index) ? self.index : default_index
51
+ #puts "type: #{type}, self.index: #{self.index}, index:#{index}"
52
+ scene[index<0 ? scene.length-1: index]
53
+ end
54
+
55
+
56
+ def self.attr_accessor_dsl(*attr)
59
57
  attr.each do |sym|
60
58
  @properties[sym]=true
61
59
  sym_w_sm=sym.to_s.gsub(":","")
@@ -65,11 +63,11 @@ module Rubyvis
65
63
  }
66
64
  end
67
65
  end
68
-
66
+
69
67
  attr_accessor :parent, :root, :index, :child_index, :scene, :proto, :target, :scale
70
68
  attr_reader :_properties
71
- attr_accessor_dsl :data,:visible, :left, :right, :top, :bottom, :cursor, :title, :reverse, :antialias, :events, :id
72
-
69
+ attr_accessor_dsl :data,:visible, :left, :right, :top, :bottom, :cursor, :title, :reverse, :antialias, :events, :id
70
+
73
71
  @scene=nil
74
72
  @stack=[]
75
73
  @index=nil
@@ -100,7 +98,7 @@ module Rubyvis
100
98
  def Mark.stack=(v)
101
99
  @stack=v
102
100
  end
103
-
101
+
104
102
  def initialize(opts=Hash.new)
105
103
  #@_properties_values={}
106
104
  #@_properties_types={}
@@ -115,12 +113,12 @@ module Rubyvis
115
113
  @index=-1
116
114
  @scale=1
117
115
  @scene=nil
118
-
116
+
119
117
  end
120
118
  def type
121
119
  "mark"
122
120
  end
123
- def self.defaults
121
+ def self.defaults
124
122
  Mark.new({:data=>lambda {|d| [d]}, :visible=>true, :antialias=>true, :events=>'painted'})
125
123
  end
126
124
  def extend(proto)
@@ -128,49 +126,53 @@ module Rubyvis
128
126
  @target=proto.target
129
127
  self
130
128
  end
131
-
129
+
132
130
  def instances(source)
133
-
134
- mark = self
135
- index = []
136
- scene=nil
137
- while (!(scene = mark.scene)) do
138
- source = source.parent;
139
- index.push(OpenStruct.new({:index=>source.index, :child_index=>mark.child_index}))
140
- mark = mark.parent
141
- end
142
- while (index.size>0) do
143
- i = index.pop()
144
- scene = scene[i.index].children[i.child_index]
145
- end
146
- #
147
- # When the anchor target is also an ancestor, as in the case of adding
148
- # to a panel anchor, only generate one instance per panel. Also, set
149
- # the margins to zero, since they are offset by the enclosing panel.
150
- # /
151
- if (self.respond_to? :index and self.index)
152
-
153
- s = scene[self.index].dup
154
- s.right = s.top = s.left = s.bottom = 0;
155
- return [s];
156
- end
157
- return scene;
158
- end
159
131
 
160
-
161
-
162
-
163
-
164
-
165
-
132
+ mark = self
133
+ index = []
134
+ scene=nil
135
+ while (!(scene = mark.scene)) do
136
+ source = source.parent;
137
+ index.push(OpenStruct.new({:index=>source.index, :child_index=>mark.child_index}))
138
+ mark = mark.parent
139
+ end
140
+
141
+ while (index.size>0) do
142
+ i = index.pop()
143
+ scene = scene[i.index].children[i.child_index]
144
+ end
145
+ #
146
+ # When the anchor target is also an ancestor, as in the case of adding
147
+ # to a panel anchor, only generate one instance per panel. Also, set
148
+ # the margins to zero, since they are offset by the enclosing panel.
149
+ # /
150
+ if (self.respond_to? :index and self.index)
151
+
152
+ s = scene[self.index].dup
153
+ s.right = s.top = s.left = s.bottom = 0;
154
+ return [s];
155
+ end
156
+ return scene;
157
+ end
158
+
159
+
160
+
161
+
162
+
163
+
164
+
166
165
  def add(type)
167
166
  parent.add(type).extend(self)
168
167
  end
169
- def anchor(name="center")
170
-
168
+ def anchor(name='center')
169
+ mark_anchor(name)
170
+ end
171
+ def mark_anchor(name="center")
172
+
171
173
  anchor=Rubyvis::Anchor.new(self).name(name).data(lambda {
172
174
  self.scene.target.map {|s| s.data} }).visible(lambda {
173
- self.scene.target[self.index].visible
175
+ self.scene.target[self.index].visible
174
176
  }).id(lambda {self.scene.target[self.index].id}).left(lambda {
175
177
  s = self.scene.target[self.index]
176
178
  w = s.width
@@ -183,10 +185,10 @@ end
183
185
  s.left + w
184
186
  end
185
187
  }).top(lambda {
186
- s = self.scene.target[self.index]
187
- h = s.height
188
- h||= 0
189
- if ['left','right','center'].include? self.name
188
+ s = self.scene.target[self.index]
189
+ h = s.height
190
+ h||= 0
191
+ if ['left','right','center'].include? self.name
190
192
  s.top+h/2.0
191
193
  elsif self.name=='top'
192
194
  nil
@@ -200,32 +202,34 @@ end
200
202
  s = self.scene.target[self.index];
201
203
  self.name() == "top" ? s.bottom + (s.height ? s.height : 0) : nil;
202
204
  }).text_align(lambda {
203
- if ['bottom','top','center'].include? self.name
204
- 'center'
205
- elsif self.name=='right'
206
- 'right'
207
- else
208
- 'left'
209
- end
205
+ if ['bottom','top','center'].include? self.name
206
+ 'center'
207
+ elsif self.name=='right'
208
+ 'right'
209
+ else
210
+ 'left'
211
+ end
210
212
  }).text_baseline(lambda {
211
- if ['right','left','center'].include? self.name
212
- 'middle'
213
- elsif self.name=='top'
214
- 'top'
215
- else
216
- 'bottom'
217
- end
213
+ if ['right','left','center'].include? self.name
214
+ 'middle'
215
+ elsif self.name=='top'
216
+ 'top'
217
+ else
218
+ 'bottom'
219
+ end
218
220
  })
219
-
220
-
221
+
222
+
221
223
  return anchor
222
224
  end
223
-
224
-
225
-
226
-
227
-
225
+
226
+
227
+
228
228
  def build_implied(s)
229
+ mark_build_implied(s)
230
+ end
231
+
232
+ def mark_build_implied(s)
229
233
  l=s.left
230
234
  r=s.right
231
235
  t=s.top
@@ -243,7 +247,7 @@ end
243
247
  w=width-r-l
244
248
  elsif r.nil?
245
249
  if l.nil?
246
-
250
+
247
251
  r=(width-w) / (2.0)
248
252
  l=r
249
253
  else
@@ -252,9 +256,9 @@ end
252
256
  elsif l.nil?
253
257
  l=width-w-r
254
258
  end
255
-
259
+
256
260
  height=self.parent ? self.parent.height(): (h+(t.nil? ? 0 : t )+(b.nil? ? 0 : b))
257
-
261
+
258
262
  if h.nil?
259
263
  t||=0
260
264
  b||=0
@@ -269,16 +273,16 @@ end
269
273
  elsif t.nil?
270
274
  t=height-h-b
271
275
  end
272
-
273
-
274
-
276
+
277
+
278
+
275
279
  s.left=l
276
280
  s.right=r
277
281
  s.top=t
278
282
  s.bottom=b
279
-
283
+
280
284
  # puts "#{l},#{r},#{t},#{b}"
281
-
285
+
282
286
  s.width=w if prop[:width]
283
287
  s.height=h if prop[:height]
284
288
  s.text_style=Rubyvis::Color.transparent if prop[:text_style] and !s.text_style
@@ -290,38 +294,38 @@ end
290
294
  @stack=Mark.stack
291
295
  if parent and !self.root.scene
292
296
  root.render()
293
- return
297
+ return
294
298
  end
295
299
  @indexes=[]
296
300
  mark=self
297
301
  until mark.parent.nil?
298
302
  @indexes.unshift(mark.child_index)
299
303
  end
300
- bind
304
+ bind
301
305
  while(parent and !parent.respond_to? :index) do
302
306
  parent=parent.parent
303
307
  end
304
-
308
+
305
309
  self.context( parent ? parent.scene : nil, parent ? parent.index : -1, lambda {render_render(self.root, 0,1)})
306
-
310
+
307
311
  end
308
-
312
+
309
313
  def render_render(mark,depth,scale)
310
314
  mark.scale=scale
311
- if (depth < @indexes.size)
315
+ if (depth < @indexes.size)
312
316
  @stack.unshift(nil)
313
- if (mark.respond_to? :index and mark.index)
314
- render_instance(mark, depth, scale);
315
- else
317
+ if (mark.respond_to? :index and mark.index)
318
+ render_instance(mark, depth, scale);
319
+ else
316
320
  mark.scene.size.times {|i|
317
321
  mark.index = i;
318
322
  render_instance(mark, depth, scale);
319
323
  }
320
- mark.index=nil
324
+ mark.index=nil
321
325
  end
322
- stack.shift();
323
- else
324
- mark.build();
326
+ stack.shift
327
+ else
328
+ mark.build
325
329
  pv.Scene.scale = scale;
326
330
  pv.Scene.update_all(mark.scene);
327
331
  end
@@ -336,7 +340,7 @@ end
336
340
  mark.children[i].scene=s.children[i]
337
341
  }
338
342
  Mark.stack[0]=s.data
339
-
343
+
340
344
  if (child.scene)
341
345
  render_render(child,depth+1,scale*s.transform.k)
342
346
  else
@@ -347,7 +351,7 @@ end
347
351
  child_index.times {|i|
348
352
  mark.children[i].scene=nil
349
353
  }
350
-
354
+
351
355
  end
352
356
  end
353
357
  private :render_render, :render_instance
@@ -359,23 +363,25 @@ end
359
363
  if !@seen.has_key?(k)
360
364
  @seen[k]=v
361
365
  case k
362
- when :data
363
- @_data=v
364
- when :visible
365
- @_required.push(v)
366
- when :id
367
- @_required.push(v)
368
- else
369
- @types[v._type].push(v)
366
+ when :data
367
+ @_data=v
368
+ when :visible
369
+ @_required.push(v)
370
+ when :id
371
+ @_required.push(v)
372
+ else
373
+ @types[v._type].push(v)
370
374
  end
371
375
  end
372
376
  }
373
377
  end while(mark = mark.proto)
374
378
  end
375
-
379
+
376
380
  attr_accessor :binds
377
-
378
- def bind()
381
+ def bind
382
+ mark_bind
383
+ end
384
+ def mark_bind()
379
385
  @seen={}
380
386
  @types={1=>[],2=>[],3=>[]}
381
387
  @_data=nil
@@ -396,8 +402,8 @@ end
396
402
  @binds=OpenStruct.new({:properties=>@seen, :data=>@_data, :required=>@_required, :optional=>@types[1]+@types[2]+@types[3]
397
403
  })
398
404
  end
399
-
400
-
405
+
406
+
401
407
  def context_apply(scene,index)
402
408
  Mark.scene=scene
403
409
  Mark.index=index
@@ -421,15 +427,15 @@ end
421
427
  k=k*mark.scene[mark.index].transform.k
422
428
  }
423
429
  if (that.children)
424
- n=than.children.size
430
+ n=that.children.size
425
431
  n.times {|i|
426
432
  mark=that.children[i]
427
433
  mark.scene=that.scene[that.index].children[i]
428
434
  mark.scale=k
429
435
  }
430
-
436
+
431
437
  end
432
-
438
+
433
439
  end
434
440
  def context_clear(scene,index)
435
441
  return if !scene
@@ -441,7 +447,7 @@ end
441
447
  mark.scene=nil
442
448
  mark.scale=nil
443
449
  }
444
-
450
+
445
451
  end
446
452
  mark=that
447
453
  begin
@@ -467,11 +473,11 @@ end
467
473
  context_apply(oscene,oindex)
468
474
  end
469
475
  end
470
-
476
+
471
477
  def build
472
478
  scene=self.scene
473
479
  stack=Mark.stack
474
-
480
+
475
481
  if(!scene)
476
482
  self.scene=SceneElement.new
477
483
  scene=self.scene
@@ -492,10 +498,10 @@ end
492
498
  data=self.binds.data
493
499
  #puts "stack:#{stack}"
494
500
  #puts "data_value:#{data.value}"
495
-
501
+
496
502
  data=(data._type & 1)>0 ? data.value.js_apply(self, stack) : data.value
497
503
  #puts "data:#{data}"
498
-
504
+
499
505
  stack.unshift(nil)
500
506
  scene.size=data.size
501
507
  data.each_with_index {|d, i|
@@ -513,7 +519,10 @@ end
513
519
  stack.shift()
514
520
  return self
515
521
  end
516
- def build_instance(s1)
522
+ def build_instance(s)
523
+ mark_build_instance(s)
524
+ end
525
+ def mark_build_instance(s1)
517
526
  build_properties(s1, self.binds.required)
518
527
  if s1.visible
519
528
  build_properties(s1,self.binds.optional)
@@ -531,7 +540,7 @@ end
531
540
  end
532
541
  ss.send((prop.name.to_s+"=").to_sym, v)
533
542
  end
534
- #p ss
543
+ # p ss
535
544
  end
536
545
  end
537
546
  end