escher.js 0.1.15 → 0.1.17

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 (125) hide show
  1. package/README.md +19 -3
  2. package/build/escher.js +808 -156
  3. package/build/escher.min.js +1 -1
  4. package/build/escher.module.js +802 -154
  5. package/docs/AnimationTimer.html +2 -2
  6. package/docs/BarGraph.html +5308 -0
  7. package/docs/BezierCurve.html +37 -33
  8. package/docs/Box.html +87 -45
  9. package/docs/Box2.html +175 -27
  10. package/docs/BoxMask.html +31 -29
  11. package/docs/Circle.html +54 -42
  12. package/docs/ColorStyle.html +15 -9
  13. package/docs/DOM.html +46 -32
  14. package/docs/EventManager.html +2 -2
  15. package/docs/FileUtils.html +2 -2
  16. package/docs/Gauge.html +42 -40
  17. package/docs/GradientColorStop.html +5 -5
  18. package/docs/GradientStyle.html +11 -7
  19. package/docs/Graph.html +118 -46
  20. package/docs/Helpers.html +2 -2
  21. package/docs/Image.html +56 -34
  22. package/docs/Key.html +2 -2
  23. package/docs/Line.html +31 -29
  24. package/docs/LinearGradientStyle.html +11 -7
  25. package/docs/Mask.html +31 -29
  26. package/docs/Matrix.html +20 -20
  27. package/docs/MultiLineText.html +31 -29
  28. package/docs/Node.html +79 -37
  29. package/docs/NodeConnector.html +37 -35
  30. package/docs/NodeGraph.html +31 -29
  31. package/docs/NodeSocket.html +58 -46
  32. package/docs/Object2D.html +33 -31
  33. package/docs/Object2D.js.html +5 -2
  34. package/docs/Path.html +5520 -0
  35. package/docs/Pattern.html +31 -29
  36. package/docs/PatternStyle.html +11 -7
  37. package/docs/PieChart.html +5670 -0
  38. package/docs/Pointer.html +2 -2
  39. package/docs/QuadraticCurve.html +37 -33
  40. package/docs/RadialGradientStyle.html +11 -7
  41. package/docs/Renderer.html +86 -12
  42. package/docs/Renderer.js.html +23 -2
  43. package/docs/RoundedBox.html +79 -37
  44. package/docs/ScatterGraph.html +5378 -0
  45. package/docs/Style.html +14 -10
  46. package/docs/Text.html +31 -29
  47. package/docs/UUID.html +2 -2
  48. package/docs/Vector2.html +1319 -224
  49. package/docs/Viewport.html +189 -29
  50. package/docs/Viewport.js.html +48 -9
  51. package/docs/ViewportControls.html +317 -15
  52. package/docs/controls_ViewportControls.js.html +78 -35
  53. package/docs/global.html +2 -2
  54. package/docs/index.html +2 -2
  55. package/docs/input_Key.js.html +2 -2
  56. package/docs/input_Pointer.js.html +2 -3
  57. package/docs/math_Box2.js.html +17 -6
  58. package/docs/math_Matrix.js.html +15 -11
  59. package/docs/math_UUID.js.html +2 -2
  60. package/docs/math_Vector2.js.html +80 -25
  61. package/docs/objects_BezierCurve.js.html +4 -2
  62. package/docs/objects_Box.js.html +9 -13
  63. package/docs/objects_Circle.js.html +4 -12
  64. package/docs/objects_DOM.js.html +7 -3
  65. package/docs/objects_Image.js.html +6 -2
  66. package/docs/objects_Line.js.html +2 -2
  67. package/docs/objects_MultiLineText.js.html +2 -2
  68. package/docs/objects_Path.js.html +144 -0
  69. package/docs/objects_Pattern.js.html +2 -2
  70. package/docs/objects_QuadraticCurve.js.html +5 -3
  71. package/docs/objects_RoundedBox.js.html +2 -2
  72. package/docs/objects_Text.js.html +2 -2
  73. package/docs/objects_chart_BarGraph.js.html +132 -0
  74. package/docs/objects_chart_Gauge.js.html +22 -5
  75. package/docs/objects_chart_Graph.js.html +26 -10
  76. package/docs/objects_chart_PieChart.js.html +213 -0
  77. package/docs/objects_chart_ScatterGraph.js.html +158 -0
  78. package/docs/objects_mask_BoxMask.js.html +2 -2
  79. package/docs/objects_mask_Mask.js.html +2 -2
  80. package/docs/objects_node_Node.js.html +2 -2
  81. package/docs/objects_node_NodeConnector.js.html +7 -2
  82. package/docs/objects_node_NodeGraph.js.html +2 -2
  83. package/docs/objects_node_NodeSocket.js.html +4 -2
  84. package/docs/objects_style_ColorStyle.js.html +4 -2
  85. package/docs/objects_style_GradientColorStop.js.html +3 -2
  86. package/docs/objects_style_GradientStyle.js.html +2 -2
  87. package/docs/objects_style_LinearGradientStyle.js.html +2 -2
  88. package/docs/objects_style_PatternStyle.js.html +2 -2
  89. package/docs/objects_style_RadialGradientStyle.js.html +2 -2
  90. package/docs/objects_style_Style.js.html +6 -4
  91. package/docs/utils_AnimationTimer.js.html +2 -2
  92. package/docs/utils_EventManager.js.html +2 -2
  93. package/docs/utils_FileUtils.js.html +2 -2
  94. package/docs/utils_Helpers.js.html +2 -2
  95. package/examples/charts.html +123 -0
  96. package/examples/physics.html +2 -3
  97. package/examples/playground.html +5 -1
  98. package/package.json +6 -6
  99. package/readme/graphs.png +0 -0
  100. package/source/Escher.js +4 -0
  101. package/source/Object2D.js +3 -0
  102. package/source/Renderer.js +21 -0
  103. package/source/Viewport.js +46 -7
  104. package/source/controls/ViewportControls.js +76 -33
  105. package/source/input/Pointer.js +0 -1
  106. package/source/math/Box2.js +15 -4
  107. package/source/math/Matrix.js +13 -9
  108. package/source/math/Vector2.js +78 -23
  109. package/source/objects/BezierCurve.js +2 -0
  110. package/source/objects/Box.js +7 -11
  111. package/source/objects/Circle.js +2 -10
  112. package/source/objects/DOM.js +5 -1
  113. package/source/objects/Image.js +4 -0
  114. package/source/objects/Path.js +93 -0
  115. package/source/objects/QuadraticCurve.js +3 -1
  116. package/source/objects/chart/BarGraph.js +81 -0
  117. package/source/objects/chart/Gauge.js +20 -3
  118. package/source/objects/chart/Graph.js +24 -8
  119. package/source/objects/chart/PieChart.js +162 -0
  120. package/source/objects/chart/ScatterGraph.js +107 -0
  121. package/source/objects/node/NodeConnector.js +5 -0
  122. package/source/objects/node/NodeSocket.js +2 -0
  123. package/source/objects/style/ColorStyle.js +2 -0
  124. package/source/objects/style/GradientColorStop.js +1 -0
  125. package/source/objects/style/Style.js +4 -2
package/README.md CHANGED
@@ -1,8 +1,10 @@
1
1
  # escher.js
2
2
  [![npm version](https://badge.fury.io/js/escher.js.svg)](https://badge.fury.io/js/escher.js)[![GitHub version](https://badge.fury.io/gh/tentone%2Fescher.js.svg)](https://badge.fury.io/gh/tentone%2Fescher.js)[![GitHub stars](https://img.shields.io/github/stars/tentone/escher.js.svg)](https://github.com/tentone/escher.js/stargazers)
3
3
 
4
- - Web based 2D graph building framework.
5
- - Entity based diagram build system, entities are stores as a tree. Compose complex animated canvas objects using parent-children transforms.
4
+ - Web based 2D graphics framework on top of the canvas API.
5
+ - Entity based diagram build system, entities are stores as a tree.
6
+ - Interactive 2D graphics with complex pointer events and viewport controls.
7
+ - Compose complex animated canvas objects using parent-children transforms.
6
8
  - Extensible using already existing canvas based visualization libs.
7
9
  - Base objects boxes, circle, custom shapes, lines, that can be used to compose more complex objects.
8
10
  - Support for DOM elements using CSS transforms (Useful for text input and more complex user interaction).
@@ -11,7 +13,6 @@
11
13
  ![graph](<https://tentone.github.io/escher.js/readme/example.png>)
12
14
 
13
15
 
14
-
15
16
  ### Examples / Documentation
16
17
 
17
18
  - Sometimes the best way to learn about something is to try it yourself, there are a couple of example in the example folder in the Git repository. They can be used as base for your project.
@@ -77,11 +78,26 @@ group.add(circle);
77
78
  var viewport = new Escher.Viewport(canvas);
78
79
 
79
80
  var renderer = new Escher.Renderer(canvas);
81
+
80
82
  renderer.createRenderLoop(group, viewport);
81
83
  ```
82
84
 
83
85
  ![graph](<https://tentone.github.io/escher.js/readme/hello.png>)
84
86
 
87
+ - Alternatively you can create the render loop manually, the render loop should be called at the same rate as the screen is refreshed using the [requestAnimationFrame()](https://developer.mozilla.org/en-US/docs/Web/API/window/requestAnimationFrame) method or a `AnimationTimer` object from the library.
88
+
89
+ ```javascript
90
+ var renderer = new Escher.Renderer(canvas);
91
+ var controls = new ViewportControls(viewport);
92
+
93
+ var timer = new AnimationTimer(function()
94
+ {
95
+ controls.update(renderer.pointer);
96
+ renderer.update(group, viewport);
97
+ });
98
+ timer.start();
99
+ ```
100
+
85
101
  - If the application is not running a full screen canvas there might be some problems with the page scrolling around or showing context menu while interacting to prevent this we can disable/prevent these browser events.
86
102
  - In the example we use the `EventManager` object to create and manage these events but we could also create these directly attached to the DOM elements.
87
103