@amcharts/amcharts5 5.4.10 → 5.5.0

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 (252) hide show
  1. package/.internal/charts/hierarchy/ForceDirected.d.ts +0 -1
  2. package/.internal/charts/hierarchy/ForceDirected.d.ts.map +1 -1
  3. package/.internal/charts/hierarchy/ForceDirected.js +0 -1
  4. package/.internal/charts/hierarchy/ForceDirected.js.map +1 -1
  5. package/.internal/charts/stock/StockChart.d.ts.map +1 -1
  6. package/.internal/charts/stock/StockChart.js +1 -22
  7. package/.internal/charts/stock/StockChart.js.map +1 -1
  8. package/.internal/charts/stock/drawing/DrawingSeries.d.ts +6 -0
  9. package/.internal/charts/stock/drawing/DrawingSeries.d.ts.map +1 -1
  10. package/.internal/charts/stock/drawing/DrawingSeries.js +41 -18
  11. package/.internal/charts/stock/drawing/DrawingSeries.js.map +1 -1
  12. package/.internal/charts/stock/drawing/EllipseSeries.d.ts +1 -0
  13. package/.internal/charts/stock/drawing/EllipseSeries.d.ts.map +1 -1
  14. package/.internal/charts/stock/drawing/EllipseSeries.js +4 -0
  15. package/.internal/charts/stock/drawing/EllipseSeries.js.map +1 -1
  16. package/.internal/charts/stock/drawing/IconSeries.d.ts +1 -0
  17. package/.internal/charts/stock/drawing/IconSeries.d.ts.map +1 -1
  18. package/.internal/charts/stock/drawing/IconSeries.js +15 -0
  19. package/.internal/charts/stock/drawing/IconSeries.js.map +1 -1
  20. package/.internal/charts/stock/drawing/LabelSeries.d.ts.map +1 -1
  21. package/.internal/charts/stock/drawing/LabelSeries.js.map +1 -1
  22. package/.internal/charts/stock/drawing/SimpleLineSeries.d.ts +1 -0
  23. package/.internal/charts/stock/drawing/SimpleLineSeries.d.ts.map +1 -1
  24. package/.internal/charts/stock/drawing/SimpleLineSeries.js +4 -0
  25. package/.internal/charts/stock/drawing/SimpleLineSeries.js.map +1 -1
  26. package/.internal/charts/stock/drawing/VerticalLineSeries.js +2 -2
  27. package/.internal/charts/stock/drawing/VerticalLineSeries.js.map +1 -1
  28. package/.internal/charts/stock/toolbar/PeriodSelector.d.ts +12 -1
  29. package/.internal/charts/stock/toolbar/PeriodSelector.d.ts.map +1 -1
  30. package/.internal/charts/stock/toolbar/PeriodSelector.js +41 -14
  31. package/.internal/charts/stock/toolbar/PeriodSelector.js.map +1 -1
  32. package/.internal/charts/xy/XYChart.js +1 -1
  33. package/.internal/charts/xy/XYChart.js.map +1 -1
  34. package/.internal/charts/xy/axes/Axis.d.ts +1 -0
  35. package/.internal/charts/xy/axes/Axis.d.ts.map +1 -1
  36. package/.internal/charts/xy/axes/Axis.js +34 -7
  37. package/.internal/charts/xy/axes/Axis.js.map +1 -1
  38. package/.internal/charts/xy/axes/DateAxis.d.ts +1 -1
  39. package/.internal/charts/xy/axes/DateAxis.d.ts.map +1 -1
  40. package/.internal/charts/xy/axes/DateAxis.js +2 -2
  41. package/.internal/charts/xy/axes/DateAxis.js.map +1 -1
  42. package/.internal/charts/xy/axes/GaplessDateAxis.d.ts +2 -1
  43. package/.internal/charts/xy/axes/GaplessDateAxis.d.ts.map +1 -1
  44. package/.internal/charts/xy/axes/GaplessDateAxis.js +8 -6
  45. package/.internal/charts/xy/axes/GaplessDateAxis.js.map +1 -1
  46. package/.internal/charts/xy/axes/ValueAxis.d.ts.map +1 -1
  47. package/.internal/charts/xy/axes/ValueAxis.js +18 -5
  48. package/.internal/charts/xy/axes/ValueAxis.js.map +1 -1
  49. package/.internal/charts/xy/series/XYSeries.d.ts +3 -0
  50. package/.internal/charts/xy/series/XYSeries.d.ts.map +1 -1
  51. package/.internal/charts/xy/series/XYSeries.js +3 -1
  52. package/.internal/charts/xy/series/XYSeries.js.map +1 -1
  53. package/.internal/core/Classes.d.ts +2 -0
  54. package/.internal/core/Classes.d.ts.map +1 -1
  55. package/.internal/core/Classes.js.map +1 -1
  56. package/.internal/core/Registry.d.ts.map +1 -1
  57. package/.internal/core/Registry.js +1 -1
  58. package/.internal/core/Registry.js.map +1 -1
  59. package/.internal/core/Root.js +1 -1
  60. package/.internal/core/Root.js.map +1 -1
  61. package/.internal/core/render/Circle.d.ts +0 -1
  62. package/.internal/core/render/Circle.d.ts.map +1 -1
  63. package/.internal/core/render/Circle.js +1 -9
  64. package/.internal/core/render/Circle.js.map +1 -1
  65. package/.internal/core/render/Container.d.ts.map +1 -1
  66. package/.internal/core/render/Container.js.map +1 -1
  67. package/.internal/core/render/Graphics.d.ts.map +1 -1
  68. package/.internal/core/render/Graphics.js +58 -53
  69. package/.internal/core/render/Graphics.js.map +1 -1
  70. package/.internal/core/render/Rectangle.d.ts +0 -1
  71. package/.internal/core/render/Rectangle.d.ts.map +1 -1
  72. package/.internal/core/render/Rectangle.js +1 -9
  73. package/.internal/core/render/Rectangle.js.map +1 -1
  74. package/.internal/core/render/Sprite.d.ts +94 -2
  75. package/.internal/core/render/Sprite.d.ts.map +1 -1
  76. package/.internal/core/render/Sprite.js +48 -8
  77. package/.internal/core/render/Sprite.js.map +1 -1
  78. package/.internal/core/render/backend/CanvasRenderer.d.ts +19 -14
  79. package/.internal/core/render/backend/CanvasRenderer.d.ts.map +1 -1
  80. package/.internal/core/render/backend/CanvasRenderer.js +65 -59
  81. package/.internal/core/render/backend/CanvasRenderer.js.map +1 -1
  82. package/.internal/core/render/backend/Renderer.d.ts +2 -2
  83. package/.internal/core/render/backend/Renderer.d.ts.map +1 -1
  84. package/.internal/core/render/backend/Renderer.js.map +1 -1
  85. package/.internal/core/render/patterns/GrainPattern.d.ts +78 -0
  86. package/.internal/core/render/patterns/GrainPattern.d.ts.map +1 -0
  87. package/.internal/core/render/patterns/GrainPattern.js +112 -0
  88. package/.internal/core/render/patterns/GrainPattern.js.map +1 -0
  89. package/.internal/core/render/patterns/Pattern.d.ts +3 -2
  90. package/.internal/core/render/patterns/Pattern.d.ts.map +1 -1
  91. package/.internal/core/render/patterns/Pattern.js +19 -9
  92. package/.internal/core/render/patterns/Pattern.js.map +1 -1
  93. package/.internal/core/render/patterns/PicturePattern.d.ts +1 -0
  94. package/.internal/core/render/patterns/PicturePattern.d.ts.map +1 -1
  95. package/.internal/core/render/patterns/PicturePattern.js +9 -0
  96. package/.internal/core/render/patterns/PicturePattern.js.map +1 -1
  97. package/.internal/core/render/patterns/RectanglePattern.d.ts.map +1 -1
  98. package/.internal/core/render/patterns/RectanglePattern.js +6 -5
  99. package/.internal/core/render/patterns/RectanglePattern.js.map +1 -1
  100. package/.internal/plugins/sliceGrouper/SliceGrouper.d.ts +2 -0
  101. package/.internal/plugins/sliceGrouper/SliceGrouper.d.ts.map +1 -1
  102. package/.internal/plugins/sliceGrouper/SliceGrouper.js +13 -0
  103. package/.internal/plugins/sliceGrouper/SliceGrouper.js.map +1 -1
  104. package/.internal/themes/DefaultTheme.d.ts.map +1 -1
  105. package/.internal/themes/DefaultTheme.js +11 -0
  106. package/.internal/themes/DefaultTheme.js.map +1 -1
  107. package/CHANGELOG.md +32 -0
  108. package/examples/javascript/flow-arc-horizontal/package.json +1 -1
  109. package/examples/javascript/flow-arc-vertical/package.json +1 -1
  110. package/examples/javascript/flow-chord/package.json +1 -1
  111. package/examples/javascript/flow-chord-directed/package.json +1 -1
  112. package/examples/javascript/flow-chord-non-ribbon/package.json +1 -1
  113. package/examples/javascript/flow-sankey/package.json +1 -1
  114. package/examples/javascript/gauge/package.json +1 -1
  115. package/examples/javascript/gauge-bands/package.json +1 -1
  116. package/examples/javascript/hierarchy-force-directed/package.json +1 -1
  117. package/examples/javascript/hierarchy-pack/package.json +1 -1
  118. package/examples/javascript/hierarchy-partition/package.json +1 -1
  119. package/examples/javascript/hierarchy-sunburst/package.json +1 -1
  120. package/examples/javascript/hierarchy-tree/package.json +1 -1
  121. package/examples/javascript/hierarchy-treemap/package.json +1 -1
  122. package/examples/javascript/hierarchy-voronoi-treemap/package.json +1 -1
  123. package/examples/javascript/jest/package.json +1 -1
  124. package/examples/javascript/json-pie/package.json +1 -1
  125. package/examples/javascript/json-xy/package.json +1 -1
  126. package/examples/javascript/map-animating-along-lines/package.json +1 -1
  127. package/examples/javascript/map-day-and-night/package.json +1 -1
  128. package/examples/javascript/map-globe-rotate-to-country/package.json +1 -1
  129. package/examples/javascript/map-globe-with-projected-circles/package.json +1 -1
  130. package/examples/javascript/map-with-bubbles/package.json +1 -1
  131. package/examples/javascript/map-zoom-to-country/package.json +1 -1
  132. package/examples/javascript/misc-40-charts/package.json +1 -1
  133. package/examples/javascript/misc-microchart-grid/package.json +1 -1
  134. package/examples/javascript/pie-chart/package.json +1 -1
  135. package/examples/javascript/pie-donut-chart/package.json +1 -1
  136. package/examples/javascript/pie-variable-radius/package.json +1 -1
  137. package/examples/javascript/radar-column-iwatch-style/package.json +1 -1
  138. package/examples/javascript/radar-heat-map/package.json +1 -1
  139. package/examples/javascript/radar-line/package.json +1 -1
  140. package/examples/javascript/radar-time-line/package.json +1 -1
  141. package/examples/javascript/sliced-funnel/package.json +1 -1
  142. package/examples/javascript/sliced-pictorial-stacked/package.json +1 -1
  143. package/examples/javascript/sliced-pyramid/package.json +1 -1
  144. package/examples/javascript/stock-chart/package.json +1 -1
  145. package/examples/javascript/stock-chart-comparing-stocks/package.json +1 -1
  146. package/examples/javascript/stock-chart-data-granularity/package.json +1 -1
  147. package/examples/javascript/stock-chart-data-grouping/package.json +1 -1
  148. package/examples/javascript/stock-chart-intraday/package.json +1 -1
  149. package/examples/javascript/stock-chart-live/package.json +1 -1
  150. package/examples/javascript/stock-chart-volume-separate-panel/package.json +1 -1
  151. package/examples/javascript/venn-diagram/package.json +1 -1
  152. package/examples/javascript/wordcloud-with-data/package.json +1 -1
  153. package/examples/javascript/wordcloud-with-text/package.json +1 -1
  154. package/examples/javascript/xy-100-percent-stacked-column/package.json +1 -1
  155. package/examples/javascript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
  156. package/examples/javascript/xy-bubble/package.json +1 -1
  157. package/examples/javascript/xy-candlestick/package.json +1 -1
  158. package/examples/javascript/xy-clustered-column/package.json +1 -1
  159. package/examples/javascript/xy-column/package.json +1 -1
  160. package/examples/javascript/xy-comparing-series-google-analytics-style/package.json +1 -1
  161. package/examples/javascript/xy-data-grouping/package.json +1 -1
  162. package/examples/javascript/xy-draggable-range/package.json +1 -1
  163. package/examples/javascript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
  164. package/examples/javascript/xy-dumbbell plot/package.json +1 -1
  165. package/examples/javascript/xy-evenly-spaced-date-axis/package.json +1 -1
  166. package/examples/javascript/xy-line/package.json +1 -1
  167. package/examples/javascript/xy-line-highlight-on-legend-hover/package.json +1 -1
  168. package/examples/javascript/xy-live-data/package.json +1 -1
  169. package/examples/javascript/xy-multiple-synced-value-axes/package.json +1 -1
  170. package/examples/javascript/xy-ohlc/package.json +1 -1
  171. package/examples/javascript/xy-real-time-data-sorting/package.json +1 -1
  172. package/examples/javascript/xy-smoothed-line/package.json +1 -1
  173. package/examples/javascript/xy-stacked-and-clustered-column/package.json +1 -1
  174. package/examples/javascript/xy-stacked-column/package.json +1 -1
  175. package/examples/javascript/xy-stacked-step/package.json +1 -1
  176. package/examples/javascript/xy-stock/package.json +1 -1
  177. package/examples/javascript/xy-stock-comparing/package.json +1 -1
  178. package/examples/typescript/flow-arc-horizontal/package.json +1 -1
  179. package/examples/typescript/flow-arc-vertical/package.json +1 -1
  180. package/examples/typescript/flow-chord/package.json +1 -1
  181. package/examples/typescript/flow-chord-directed/package.json +1 -1
  182. package/examples/typescript/flow-chord-non-ribbon/package.json +1 -1
  183. package/examples/typescript/flow-sankey/package.json +1 -1
  184. package/examples/typescript/gauge/package.json +1 -1
  185. package/examples/typescript/gauge-bands/package.json +1 -1
  186. package/examples/typescript/hierarchy-force-directed/package.json +1 -1
  187. package/examples/typescript/hierarchy-pack/package.json +1 -1
  188. package/examples/typescript/hierarchy-partition/package.json +1 -1
  189. package/examples/typescript/hierarchy-sunburst/package.json +1 -1
  190. package/examples/typescript/hierarchy-tree/package.json +1 -1
  191. package/examples/typescript/hierarchy-treemap/package.json +1 -1
  192. package/examples/typescript/hierarchy-voronoi-treemap/package.json +1 -1
  193. package/examples/typescript/jest/package.json +1 -1
  194. package/examples/typescript/json-pie/package.json +1 -1
  195. package/examples/typescript/json-xy/package.json +1 -1
  196. package/examples/typescript/map-animating-along-lines/package.json +1 -1
  197. package/examples/typescript/map-day-and-night/package.json +1 -1
  198. package/examples/typescript/map-globe-rotate-to-country/package.json +1 -1
  199. package/examples/typescript/map-globe-with-projected-circles/package.json +1 -1
  200. package/examples/typescript/map-with-bubbles/package.json +1 -1
  201. package/examples/typescript/map-zoom-to-country/package.json +1 -1
  202. package/examples/typescript/misc-40-charts/package.json +1 -1
  203. package/examples/typescript/misc-microchart-grid/package.json +1 -1
  204. package/examples/typescript/pie-chart/package.json +1 -1
  205. package/examples/typescript/pie-donut-chart/package.json +1 -1
  206. package/examples/typescript/pie-variable-radius/package.json +1 -1
  207. package/examples/typescript/radar-column-iwatch-style/package.json +1 -1
  208. package/examples/typescript/radar-heat-map/package.json +1 -1
  209. package/examples/typescript/radar-line/package.json +1 -1
  210. package/examples/typescript/radar-time-line/package.json +1 -1
  211. package/examples/typescript/sliced-funnel/package.json +1 -1
  212. package/examples/typescript/sliced-pictorial-stacked/package.json +1 -1
  213. package/examples/typescript/sliced-pyramid/package.json +1 -1
  214. package/examples/typescript/stock-chart/package.json +1 -1
  215. package/examples/typescript/stock-chart-comparing-stocks/package.json +1 -1
  216. package/examples/typescript/stock-chart-data-granularity/package.json +1 -1
  217. package/examples/typescript/stock-chart-data-grouping/package.json +1 -1
  218. package/examples/typescript/stock-chart-intraday/package.json +1 -1
  219. package/examples/typescript/stock-chart-live/package.json +1 -1
  220. package/examples/typescript/stock-chart-volume-separate-panel/package.json +1 -1
  221. package/examples/typescript/venn-diagram/package.json +1 -1
  222. package/examples/typescript/wordcloud-with-data/package.json +1 -1
  223. package/examples/typescript/wordcloud-with-text/package.json +1 -1
  224. package/examples/typescript/xy-100-percent-stacked-column/package.json +1 -1
  225. package/examples/typescript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
  226. package/examples/typescript/xy-bubble/package.json +1 -1
  227. package/examples/typescript/xy-candlestick/package.json +1 -1
  228. package/examples/typescript/xy-clustered-column/package.json +1 -1
  229. package/examples/typescript/xy-column/package.json +1 -1
  230. package/examples/typescript/xy-comparing-series-google-analytics-style/package.json +1 -1
  231. package/examples/typescript/xy-data-grouping/package.json +1 -1
  232. package/examples/typescript/xy-draggable-range/package.json +1 -1
  233. package/examples/typescript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
  234. package/examples/typescript/xy-dumbbell plot/package.json +1 -1
  235. package/examples/typescript/xy-evenly-spaced-date-axis/package.json +1 -1
  236. package/examples/typescript/xy-line/package.json +1 -1
  237. package/examples/typescript/xy-line-highlight-on-legend-hover/package.json +1 -1
  238. package/examples/typescript/xy-live-data/package.json +1 -1
  239. package/examples/typescript/xy-multiple-synced-value-axes/package.json +1 -1
  240. package/examples/typescript/xy-ohlc/package.json +1 -1
  241. package/examples/typescript/xy-real-time-data-sorting/package.json +1 -1
  242. package/examples/typescript/xy-smoothed-line/package.json +1 -1
  243. package/examples/typescript/xy-stacked-and-clustered-column/package.json +1 -1
  244. package/examples/typescript/xy-stacked-column/package.json +1 -1
  245. package/examples/typescript/xy-stacked-step/package.json +1 -1
  246. package/examples/typescript/xy-stock/package.json +1 -1
  247. package/examples/typescript/xy-stock-comparing/package.json +1 -1
  248. package/index.d.ts +2 -0
  249. package/index.d.ts.map +1 -1
  250. package/index.js +2 -0
  251. package/index.js.map +1 -1
  252. package/package.json +1 -1
@@ -77,7 +77,7 @@ export interface IDisplayObject extends IDisposer {
77
77
  mask: IGraphics | null;
78
78
  visible: boolean;
79
79
  interactive: boolean;
80
- inactive: boolean;
80
+ inactive: boolean | null;
81
81
  wheelable: boolean;
82
82
  cancelTouch: boolean;
83
83
  isMeasured: boolean;
@@ -163,7 +163,7 @@ export interface IGraphics extends IDisplayObject {
163
163
  bezierCurveTo(cpX: number, cpY: number, cpX2: number, cpY2: number, toX: number, toY: number): void;
164
164
  quadraticCurveTo(cpX: number, cpY: number, toX: number, toY: number): void;
165
165
  svgPath(path: string): void;
166
- image(image: HTMLImageElement, width: number, height: number, x: number, y: number): void;
166
+ image(image: HTMLImageElement | HTMLCanvasElement, width: number, height: number, x: number, y: number): void;
167
167
  shadow(color: Color, blur?: number, offsetX?: number, offsetY?: number, opacity?: number): void;
168
168
  }
169
169
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Renderer.d.ts","sourceRoot":"","sources":["../../../../../../src/.internal/core/render/backend/Renderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD,MAAM,WAAW,SAAS;IACzB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CAClD;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAE7B;;OAEG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC;IAEd;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;OAEG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAE3B;AAED,MAAM,WAAW,QAAQ;CACxB;AAED,oBAAY,aAAa,GAAG,YAAY,GAAG,UAAU,GAAG,KAAK,CAAC;AAE9D,oBAAY,EAAE,GAAG,MAAM,GAAG,IAAI,CAAC;AAE/B,MAAM,WAAW,cAAc,CAAC,CAAC;IAChC,KAAK,EAAE,CAAC,CAAC;IACT,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,EAAE,CAAC;IACP,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC/B,KAAK,EAAE,cAAc,CAAC,aAAa,CAAC,CAAC;IACrC,UAAU,EAAE,cAAc,CAAC,aAAa,CAAC,CAAC;IAC1C,WAAW,EAAE,cAAc,CAAC,aAAa,CAAC,CAAC;IAC3C,QAAQ,EAAE,cAAc,CAAC,aAAa,CAAC,CAAC;IACxC,iBAAiB,EAAE,cAAc,CAAC,aAAa,CAAC,CAAC;IACjD,eAAe,EAAE,cAAc,CAAC,aAAa,CAAC,CAAC;IAC/C,WAAW,EAAE,cAAc,CAAC,aAAa,CAAC,CAAC;IAC3C,UAAU,EAAE,cAAc,CAAC,aAAa,CAAC,CAAC;IAC1C,WAAW,EAAE,cAAc,CAAC,aAAa,CAAC,CAAC;IAC3C,WAAW,EAAE,cAAc,CAAC,aAAa,CAAC,CAAC;IAC3C,SAAS,EAAE,cAAc,CAAC,aAAa,CAAC,CAAC;IACzC,KAAK,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,cAAe,SAAQ,SAAS;IAChD,IAAI,EAAE,SAAS,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,UAAU,IAAI,IAAI,CAAC;IACnB,QAAQ,IAAI,MAAM,CAAC;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,OAAO,GAAG,SAAS,GAAG,IAAI,CAAC;IACvE,cAAc,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACrC,KAAK,IAAI,IAAI,CAAC;IACd,gBAAgB,IAAI,IAAI,CAAC;IACzB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IAChC,cAAc,IAAI,OAAO,CAAC;IAC1B,iBAAiB,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IAC7C,EAAE,CAAC,CAAC,EAAE,GAAG,SAAS,MAAM,eAAe,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,eAAe,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC;IACrI,QAAQ,IAAI,OAAO,CAAC;IACpB,SAAS,IAAI,iBAAiB,CAAC;IAE/B;;OAEG;IACH,cAAc,IAAI,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,UAAW,SAAQ,cAAc;IACjD,mBAAmB,EAAE,OAAO,CAAC;IAC7B,SAAS,EAAC,SAAS,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,CAAC;IACtC,UAAU,CAAC,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACvD,WAAW,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,CAAC;CACzC;AAGD;;GAEG;AACH,oBAAY,SAAS;IACpB,GAAG,YAAY;IACf,KAAK,UAAU;IACf,UAAU,eAAe;IACzB,WAAW,gBAAgB;IAC3B,MAAM,WAAW;IACjB,UAAU,eAAe;IACzB,QAAQ,qBAAqB;IAC7B,SAAS,cAAc;IACvB,UAAU,eAAe;IACzB,GAAG,QAAQ;IACX,OAAO,YAAY;IACnB,UAAU,eAAe;IACzB,QAAQ,aAAa;IACrB,MAAM,gBAAgB;IACtB,OAAO,YAAY;IACnB,UAAU,eAAe;IACzB,MAAM,WAAW;IACjB,UAAU,eAAe;IACzB,QAAQ,gBAAgB;IACxB,GAAG,QAAQ;CACX;AAED,MAAM,WAAW,SAAU,SAAQ,cAAc;IAChD,SAAS,EAAE,SAAS,CAAC;IAErB,KAAK,IAAI,IAAI,CAAC;IAEd,SAAS,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,SAAS,GAAG,QAAQ,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtE,OAAO,IAAI,IAAI,CAAC;IAChB,SAAS,IAAI,IAAI,CAAC;IAElB,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,SAAS,GAAG,QAAQ,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,IAAI,CAAC;IAC9H,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACnC,iBAAiB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7C,SAAS,IAAI,IAAI,CAAC;IAElB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACpE,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACvD,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1E,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACjH,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5E,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,SAAS,IAAI,IAAI,CAAC;IAClB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACpG,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3E,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,KAAK,CAAC,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1F,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAChG;AAED;;GAEG;AACH,MAAM,WAAW,KAAM,SAAQ,cAAc;IAC5C,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,UAAU,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,WAAY,SAAQ,KAAK;IACzC,QAAQ,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,CAAC;IACtE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IAE1B,IAAI,CAAC,EAAE,KAAK,GAAG,SAAS,GAAG,QAAQ,CAAC;IACpC,SAAS,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;IAC1D,aAAa,CAAC,EAAE,UAAU,GAAG,KAAK,GAAG,OAAO,CAAC;IAC7C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAA;IAC7H,SAAS,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC5C,WAAW,CAAC,EAAE,QAAQ,GAAG,YAAY,CAAC;IACtC,cAAc,CAAC,EAAE,WAAW,GAAG,cAAc,CAAC;IAC9C,WAAW,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IAKvB,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;IAMvB,SAAS,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IAC1B,YAAY,CAAC,EAAE,KAAK,GAAG,SAAS,GAAG,QAAQ,GAAG,YAAY,GAAG,aAAa,GAAG,QAAQ,CAAC;IACtF,iBAAiB,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,eAAe,GAAG,UAAU,CAAC;IACpF,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,QAAS,SAAQ,cAAc;IAC/C,KAAK,EAAE,gBAAgB,GAAG,SAAS,CAAC;IACpC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,WAAW,CAAC,EAAE,KAAK,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,SAAU,SAAQ,SAAS;IAC3C,cAAc,EAAE,OAAO,CAAC;IACxB,aAAa,EAAE,OAAO,CAAC;IACvB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,QAAQ,EAAC,cAAc,GAAE,IAAI,CAAC;IAC7C,mBAAmB,EAAE,OAAO,CAAC;IAC7B,oBAAoB,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC;IAChF,oBAAoB,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAClH,aAAa,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC;IACvH,aAAa,IAAI,UAAU,CAAC;IAC5B,YAAY,IAAI,SAAS,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,KAAK,CAAC;IACjD,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,KAAK,CAAC;IACvD,aAAa,IAAI,UAAU,CAAC;IAC5B,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,SAAS,GAAG,QAAQ,CAAC;IAC3D,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7F,MAAM,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,CAAC;IACnC,SAAS,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,iBAAiB,CAAC;IAC7E,IAAI,EAAE,WAAW,CAAC;IAElB,QAAQ,CAAC,CAAC,SAAS,aAAa,EAAE,aAAa,EAAE,CAAC,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;CAC9F;AAED,MAAM,WAAW,cAAc;IAC9B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,OAAO;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,MAAM;IACtB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,OAAO,GAAG,SAAS,CAAC;CAC5B"}
1
+ {"version":3,"file":"Renderer.d.ts","sourceRoot":"","sources":["../../../../../../src/.internal/core/render/backend/Renderer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Renderer.js","sourceRoot":"","sources":["../../../../../../src/.internal/core/render/backend/Renderer.ts"],"names":[],"mappings":"AA4IA;;GAEG;AACH,MAAM,CAAN,IAAY,SAqBX;AArBD,WAAY,SAAS;IACpB,4BAAe,CAAA;IACf,4BAAe,CAAA;IACf,sCAAyB,CAAA;IACzB,wCAA2B,CAAA;IAC3B,8BAAiB,CAAA;IACjB,sCAAyB,CAAA;IACzB,0CAA6B,CAAA;IAC7B,oCAAuB,CAAA;IACvB,sCAAyB,CAAA;IACzB,wBAAW,CAAA;IACX,gCAAmB,CAAA;IACnB,sCAAyB,CAAA;IACzB,kCAAqB,CAAA;IACrB,mCAAsB,CAAA;IACtB,gCAAmB,CAAA;IACnB,sCAAyB,CAAA;IACzB,8BAAiB,CAAA;IACjB,sCAAyB,CAAA;IACzB,qCAAwB,CAAA;IACxB,wBAAW,CAAA;AACZ,CAAC,EArBW,SAAS,KAAT,SAAS,QAqBpB","sourcesContent":["import type { IDisposer } from \"../../util/Disposer\";\nimport type { IPoint } from \"../../util/IPoint\";\nimport type { Color } from \"../../util/Color\";\nimport type { Percent } from \"../../util/Percent\";\nimport type { Matrix } from \"../../util/Matrix\";\nimport type { IBounds } from \"../../util/IBounds\";\n\nexport interface IGradient {\n\taddColorStop(offset: number, color: string): void;\n}\n\n/**\n * Represents an object describing color switching point in a gradiend.\n *F\n * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/gradients/} for more info\n */\nexport interface IGradientStop {\n\n\t/**\n\t * Color.\n\t */\n\tcolor?: Color;\n\n\t/**\n\t * Offset defines where in the gradient the color should kick in. Values\n\t * from 0 to 1 are possible with 0 meaning start, 0.5 half-way through the\n\t * gradient, etc.\n\t */\n\toffset?: number;\n\n\t/**\n\t * Transparency of the color. 0 - completely transparent, 1 - fully opaque.\n\t */\n\topacity?: number;\n\n\t/**\n\t * Sets lightness of the color.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/gradients/#Brightness} for more info\n\t */\n\tlighten?: number;\n\n\t/**\n\t * Sets brightness of the color.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/gradients/#Brightness} for more info\n\t */\n\tbrighten?: number;\n\n\t/**\n\t * @ignore\n\t */\n\tcolorInherited?: boolean;\n\n\t/**\n\t * @ignore\n\t */\n\topacityInherited?: boolean;\n\n}\n\nexport interface IPattern {\n}\n\nexport type IPointerEvent = PointerEvent | MouseEvent | Touch;\n\nexport type Id = number | null;\n\nexport interface IRendererEvent<E> {\n\tevent: E;\n\tpoint: IPoint;\n\tid: Id;\n\tsimulated: boolean;\n\tnative: boolean;\n}\n\nexport interface IRendererEvents {\n\tclick: IRendererEvent<IPointerEvent>;\n\trightclick: IRendererEvent<IPointerEvent>;\n\tmiddleclick: IRendererEvent<IPointerEvent>;\n\tdblclick: IRendererEvent<IPointerEvent>;\n\tglobalpointermove: IRendererEvent<IPointerEvent>,\n\tglobalpointerup: IRendererEvent<IPointerEvent>,\n\tpointerover: IRendererEvent<IPointerEvent>;\n\tpointerout: IRendererEvent<IPointerEvent>;\n\tpointerdown: IRendererEvent<IPointerEvent>;\n\tpointermove: IRendererEvent<IPointerEvent>;\n\tpointerup: IRendererEvent<IPointerEvent>;\n\twheel: IRendererEvent<WheelEvent>;\n}\n\nexport interface IDisplayObject extends IDisposer {\n\tmask: IGraphics | null;\n\tvisible: boolean;\n\tinteractive: boolean;\n\tinactive: boolean;\n\twheelable: boolean;\n\tcancelTouch: boolean;\n\tisMeasured: boolean;\n\tbuttonMode: boolean;\n\talpha: number;\n\tangle: number;\n\tscale: number;\n\tcrisp: boolean;\n\tx: number;\n\ty: number;\n\tpivot: IPoint;\n\tfilter?: string;\n\tcursorOverStyle?: string;\n\texportable?: boolean;\n\n\t_setMatrix(): void;\n\tgetLayer(): ILayer;\n\tsetLayer(order: number | undefined, margin: IMargin | undefined): void;\n\tmarkDirtyLayer(deep?: boolean): void;\n\tclear(): void;\n\tinvalidateBounds(): void;\n\ttoLocal(point: IPoint): IPoint;\n\ttoGlobal(point: IPoint): IPoint;\n\tgetLocalBounds(): IBounds;\n\tgetAdjustedBounds(bounds?: IBounds): IBounds;\n\ton<C, Key extends keyof IRendererEvents>(key: Key, callback: (this: C, event: IRendererEvents[Key]) => void, context?: C): IDisposer;\n\thovering(): boolean;\n\tgetCanvas(): HTMLCanvasElement;\n\n\t/**\n\t * @ignore\n\t */\n\tgetLocalMatrix(): Matrix;\n}\n\nexport interface IContainer extends IDisplayObject {\n\tinteractiveChildren: boolean;\n\t_renderer:IRenderer;\n\taddChild(child: IDisplayObject): void;\n\taddChildAt(child: IDisplayObject, index: number): void;\n\tremoveChild(child: IDisplayObject): void;\n}\n\n\n/**\n * From https://github.com/pixijs/pixi.js/blob/3dd0ff9a935f0bc13a09aefff9eb2872f02c51b9/packages/canvas/canvas-renderer/src/utils/mapCanvasBlendModesToPixi.ts#L13\n */\nexport enum BlendMode {\n\tADD = \"lighter\",\n\tCOLOR = \"color\",\n\tCOLOR_BURN = \"color-burn\",\n\tCOLOR_DODGE = \"color-dodge\",\n\tDARKEN = \"darken\",\n\tDIFFERENCE = \"difference\",\n\tDST_OVER = \"destination-over\",\n\tEXCLUSION = \"exclusion\",\n\tHARD_LIGHT = \"hard-light\",\n\tHUE = \"hue\",\n\tLIGHTEN = \"lighten\",\n\tLUMINOSITY = \"luminosity\",\n\tMULTIPLY = \"multiply\",\n\tNORMAL = \"source-over\",\n\tOVERLAY = \"overlay\",\n\tSATURATION = \"saturation\",\n\tSCREEN = \"screen\",\n\tSOFT_LIGHT = \"soft-light\",\n\tSRC_ATOP = \"source-atop\",\n\tXOR = \"xor\",\n}\n\nexport interface IGraphics extends IDisplayObject {\n\tblendMode: BlendMode;\n\n\tclear(): void;\n\n\tbeginFill(color?: Color | IGradient | IPattern, alpha?: number): void;\n\tendFill(): void;\n\tbeginPath(): void;\n\n\tlineStyle(width?: number, color?: Color | IGradient | IPattern, alpha?: number, lineJoin?: \"miter\" | \"round\" | \"bevel\"): void;\n\tsetLineDash(dash?: number[]): void;\n\tsetLineDashOffset(dashOffset?: number): void;\n\tendStroke(): void;\n\n\tdrawRect(x: number, y: number, width: number, height: number): void;\n\tdrawCircle(x: number, y: number, radius: number): void;\n\tdrawEllipse(x: number, y: number, radiusX: number, radiusY: number): void;\n\tarc(cx: number, cy: number, radius: number, startAngle: number, endAngle: number, anticlockwise?: boolean): void;\n\tarcTo(x1: number, y1: number, x2: number, y2: number, radius: number): void;\n\tlineTo(x: number, y: number): void;\n\tmoveTo(x: number, y: number): void;\n\tclosePath(): void;\n\tbezierCurveTo(cpX: number, cpY: number, cpX2: number, cpY2: number, toX: number, toY: number): void;\n\tquadraticCurveTo(cpX: number, cpY: number, toX: number, toY: number): void;\n\tsvgPath(path: string): void;\n\timage(image: HTMLImageElement, width: number, height: number, x: number, y: number): void;\n\tshadow(color: Color, blur?: number, offsetX?: number, offsetY?: number, opacity?: number): void;\n}\n\n/**\n * @ignore\n */\nexport interface IText extends IDisplayObject {\n\tresolution: number;\n\ttext: string;\n\tstyle: ITextStyle;\n\ttextVisible: boolean;\n}\n\n/**\n * @ignore\n */\nexport interface IRadialText extends IText {\n\ttextType?: \"regular\" | \"circular\" | \"radial\" | \"aligned\" | \"adjusted\";\n\tradius?: number;\n\tstartAngle?: number;\n\trelativeAngle?: number;\n\tinside?: boolean;\n\torientation?: \"inward\" | \"outward\" | \"auto\";\n\tkerning?: number;\n}\n\nexport interface ITextStyle {\n\t//wordWrapWidth: number = 100;\n\tfill?: Color | IGradient | IPattern;\n\ttextAlign?: \"start\" | \"end\" | \"left\" | \"right\" | \"center\";\n\tverticalAlign?: \"baseline\" | \"sub\" | \"super\";\n\tfontFamily?: string;\n\tfontSize?: string | number;\n\tfontWeight?: 'normal' | 'bold' | 'bolder' | 'lighter' | '100' | '200' | '300' | '400' | '500' | '600' | '700' | '800' | '900'\n\tfontStyle?: 'normal' | 'italic' | 'oblique';\n\tfontVariant?: \"normal\" | \"small-caps\";\n\ttextDecoration?: \"underline\" | \"line-through\";\n\tshadowColor?: Color | null;\n\tshadowBlur?: number;\n\tshadowOffsetX?: number;\n\tshadowOffsetY?: number;\n\tshadowOpacity?: number;\n\n\n\t// leading?: number;\n\t// letterSpacing?: number;\n\tlineHeight?: number | Percent;\n\tbaselineRatio?: number;\n\t// padding?: number;\n\t// stroke?: number;\n\t// strokeThickness?: number;\n\t// trim?: number;\n\t// wordWrap?: boolean;\n\tdirection?: \"ltr\" | \"rtl\";\n\ttextBaseline?: \"top\" | \"hanging\" | \"middle\" | \"alphabetic\" | \"ideographic\" | \"bottom\";\n\toversizedBehavior?: \"none\" | \"hide\" | \"fit\" | \"wrap\" | \"wrap-no-break\" | \"truncate\";\n\tbreakWords?: boolean;\n\tellipsis?: string;\n\tmaxWidth?: number;\n\tmaxHeight?: number;\n\tminScale?: number;\n}\n\nexport interface IPicture extends IDisplayObject {\n\timage: HTMLImageElement | undefined;\n\twidth?: number | undefined;\n\theight?: number | undefined;\n\tshadowColor?: Color;\n\tshadowBlur?: number;\n\tshadowOffsetX?: number;\n\tshadowOffsetY?: number;\n\tshadowOpacity?: number;\n}\n\nexport interface IRenderer extends IDisposer {\n\tdebugGhostView: boolean;\n\ttapToActivate: boolean;\n\ttapToActivateTimeout: number;\n\tresolution: number;\n\tremoveHovering(graphics:IDisplayObject):void;\n\tinteractionsEnabled: boolean;\n\tcreateLinearGradient(x1: number, y1: number, x2: number, y2: number): IGradient;\n\tcreateRadialGradient(x1: number, y1: number, radius1: number, x2: number, y2: number, radius2: number): IGradient;\n\tcreatePattern(graphics: IGraphics, background: IGraphics, repetition: string, width: number, height: number): IPattern;\n\tmakeContainer(): IContainer;\n\tmakeGraphics(): IGraphics;\n\tmakeText(text: string, style: ITextStyle): IText;\n\tmakeRadialText(text: string, style: ITextStyle): IText;\n\tmakeTextStyle(): ITextStyle;\n\tmakePicture(image: HTMLImageElement | undefined): IPicture;\n\tresize(canvasWidth: number, canvasHeight: number, domWidth: number, domHeight: number): void;\n\trender(root: IDisplayObject): void;\n\tgetCanvas(root: IDisplayObject, options?: ICanvasOptions): HTMLCanvasElement;\n\tview: HTMLElement;\n\n\tgetEvent<A extends IPointerEvent>(originalEvent: A, adjustPoint?: boolean): IRendererEvent<A>;\n}\n\nexport interface ICanvasOptions {\n\tmaintainPixelRatio?: boolean;\n\tminWidth?: number;\n\tmaxWidth?: number;\n\tminHeight?: number;\n\tmaxHeight?: number;\n}\n\nexport interface IMargin {\n\tleft: number;\n\tright: number;\n\ttop: number;\n\tbottom: number;\n}\n\n/**\n * @ignore\n */\nexport interface ILayer {\n\tvisible: boolean;\n\torder: number;\n\twidth: number | undefined;\n\theight: number | undefined;\n\tdirty: boolean;\n\tmargin: IMargin | undefined;\n}\n"]}
1
+ {"version":3,"file":"Renderer.js","sourceRoot":"","sources":["../../../../../../src/.internal/core/render/backend/Renderer.ts"],"names":[],"mappings":"AA4IA;;GAEG;AACH,MAAM,CAAN,IAAY,SAqBX;AArBD,WAAY,SAAS;IACpB,4BAAe,CAAA;IACf,4BAAe,CAAA;IACf,sCAAyB,CAAA;IACzB,wCAA2B,CAAA;IAC3B,8BAAiB,CAAA;IACjB,sCAAyB,CAAA;IACzB,0CAA6B,CAAA;IAC7B,oCAAuB,CAAA;IACvB,sCAAyB,CAAA;IACzB,wBAAW,CAAA;IACX,gCAAmB,CAAA;IACnB,sCAAyB,CAAA;IACzB,kCAAqB,CAAA;IACrB,mCAAsB,CAAA;IACtB,gCAAmB,CAAA;IACnB,sCAAyB,CAAA;IACzB,8BAAiB,CAAA;IACjB,sCAAyB,CAAA;IACzB,qCAAwB,CAAA;IACxB,wBAAW,CAAA;AACZ,CAAC,EArBW,SAAS,KAAT,SAAS,QAqBpB","sourcesContent":["import type { IDisposer } from \"../../util/Disposer\";\nimport type { IPoint } from \"../../util/IPoint\";\nimport type { Color } from \"../../util/Color\";\nimport type { Percent } from \"../../util/Percent\";\nimport type { Matrix } from \"../../util/Matrix\";\nimport type { IBounds } from \"../../util/IBounds\";\n\nexport interface IGradient {\n\taddColorStop(offset: number, color: string): void;\n}\n\n/**\n * Represents an object describing color switching point in a gradiend.\n *F\n * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/gradients/} for more info\n */\nexport interface IGradientStop {\n\n\t/**\n\t * Color.\n\t */\n\tcolor?: Color;\n\n\t/**\n\t * Offset defines where in the gradient the color should kick in. Values\n\t * from 0 to 1 are possible with 0 meaning start, 0.5 half-way through the\n\t * gradient, etc.\n\t */\n\toffset?: number;\n\n\t/**\n\t * Transparency of the color. 0 - completely transparent, 1 - fully opaque.\n\t */\n\topacity?: number;\n\n\t/**\n\t * Sets lightness of the color.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/gradients/#Brightness} for more info\n\t */\n\tlighten?: number;\n\n\t/**\n\t * Sets brightness of the color.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/gradients/#Brightness} for more info\n\t */\n\tbrighten?: number;\n\n\t/**\n\t * @ignore\n\t */\n\tcolorInherited?: boolean;\n\n\t/**\n\t * @ignore\n\t */\n\topacityInherited?: boolean;\n\n}\n\nexport interface IPattern {\n}\n\nexport type IPointerEvent = PointerEvent | MouseEvent | Touch;\n\nexport type Id = number | null;\n\nexport interface IRendererEvent<E> {\n\tevent: E;\n\tpoint: IPoint;\n\tid: Id;\n\tsimulated: boolean;\n\tnative: boolean;\n}\n\nexport interface IRendererEvents {\n\tclick: IRendererEvent<IPointerEvent>;\n\trightclick: IRendererEvent<IPointerEvent>;\n\tmiddleclick: IRendererEvent<IPointerEvent>;\n\tdblclick: IRendererEvent<IPointerEvent>;\n\tglobalpointermove: IRendererEvent<IPointerEvent>,\n\tglobalpointerup: IRendererEvent<IPointerEvent>,\n\tpointerover: IRendererEvent<IPointerEvent>;\n\tpointerout: IRendererEvent<IPointerEvent>;\n\tpointerdown: IRendererEvent<IPointerEvent>;\n\tpointermove: IRendererEvent<IPointerEvent>;\n\tpointerup: IRendererEvent<IPointerEvent>;\n\twheel: IRendererEvent<WheelEvent>;\n}\n\nexport interface IDisplayObject extends IDisposer {\n\tmask: IGraphics | null;\n\tvisible: boolean;\n\tinteractive: boolean;\n\tinactive: boolean | null;\n\twheelable: boolean;\n\tcancelTouch: boolean;\n\tisMeasured: boolean;\n\tbuttonMode: boolean;\n\talpha: number;\n\tangle: number;\n\tscale: number;\n\tcrisp: boolean;\n\tx: number;\n\ty: number;\n\tpivot: IPoint;\n\tfilter?: string;\n\tcursorOverStyle?: string;\n\texportable?: boolean;\n\n\t_setMatrix(): void;\n\tgetLayer(): ILayer;\n\tsetLayer(order: number | undefined, margin: IMargin | undefined): void;\n\tmarkDirtyLayer(deep?: boolean): void;\n\tclear(): void;\n\tinvalidateBounds(): void;\n\ttoLocal(point: IPoint): IPoint;\n\ttoGlobal(point: IPoint): IPoint;\n\tgetLocalBounds(): IBounds;\n\tgetAdjustedBounds(bounds?: IBounds): IBounds;\n\ton<C, Key extends keyof IRendererEvents>(key: Key, callback: (this: C, event: IRendererEvents[Key]) => void, context?: C): IDisposer;\n\thovering(): boolean;\n\tgetCanvas(): HTMLCanvasElement;\n\n\t/**\n\t * @ignore\n\t */\n\tgetLocalMatrix(): Matrix;\n}\n\nexport interface IContainer extends IDisplayObject {\n\tinteractiveChildren: boolean;\n\t_renderer:IRenderer;\n\taddChild(child: IDisplayObject): void;\n\taddChildAt(child: IDisplayObject, index: number): void;\n\tremoveChild(child: IDisplayObject): void;\n}\n\n\n/**\n * From https://github.com/pixijs/pixi.js/blob/3dd0ff9a935f0bc13a09aefff9eb2872f02c51b9/packages/canvas/canvas-renderer/src/utils/mapCanvasBlendModesToPixi.ts#L13\n */\nexport enum BlendMode {\n\tADD = \"lighter\",\n\tCOLOR = \"color\",\n\tCOLOR_BURN = \"color-burn\",\n\tCOLOR_DODGE = \"color-dodge\",\n\tDARKEN = \"darken\",\n\tDIFFERENCE = \"difference\",\n\tDST_OVER = \"destination-over\",\n\tEXCLUSION = \"exclusion\",\n\tHARD_LIGHT = \"hard-light\",\n\tHUE = \"hue\",\n\tLIGHTEN = \"lighten\",\n\tLUMINOSITY = \"luminosity\",\n\tMULTIPLY = \"multiply\",\n\tNORMAL = \"source-over\",\n\tOVERLAY = \"overlay\",\n\tSATURATION = \"saturation\",\n\tSCREEN = \"screen\",\n\tSOFT_LIGHT = \"soft-light\",\n\tSRC_ATOP = \"source-atop\",\n\tXOR = \"xor\",\n}\n\nexport interface IGraphics extends IDisplayObject {\n\tblendMode: BlendMode;\n\n\tclear(): void;\n\n\tbeginFill(color?: Color | IGradient | IPattern, alpha?: number): void;\n\tendFill(): void;\n\tbeginPath(): void;\n\n\tlineStyle(width?: number, color?: Color | IGradient | IPattern, alpha?: number, lineJoin?: \"miter\" | \"round\" | \"bevel\"): void;\n\tsetLineDash(dash?: number[]): void;\n\tsetLineDashOffset(dashOffset?: number): void;\n\tendStroke(): void;\n\n\tdrawRect(x: number, y: number, width: number, height: number): void;\n\tdrawCircle(x: number, y: number, radius: number): void;\n\tdrawEllipse(x: number, y: number, radiusX: number, radiusY: number): void;\n\tarc(cx: number, cy: number, radius: number, startAngle: number, endAngle: number, anticlockwise?: boolean): void;\n\tarcTo(x1: number, y1: number, x2: number, y2: number, radius: number): void;\n\tlineTo(x: number, y: number): void;\n\tmoveTo(x: number, y: number): void;\n\tclosePath(): void;\n\tbezierCurveTo(cpX: number, cpY: number, cpX2: number, cpY2: number, toX: number, toY: number): void;\n\tquadraticCurveTo(cpX: number, cpY: number, toX: number, toY: number): void;\n\tsvgPath(path: string): void;\n\timage(image: HTMLImageElement | HTMLCanvasElement, width: number, height: number, x: number, y: number): void;\n\tshadow(color: Color, blur?: number, offsetX?: number, offsetY?: number, opacity?: number): void;\n}\n\n/**\n * @ignore\n */\nexport interface IText extends IDisplayObject {\n\tresolution: number;\n\ttext: string;\n\tstyle: ITextStyle;\n\ttextVisible: boolean;\n}\n\n/**\n * @ignore\n */\nexport interface IRadialText extends IText {\n\ttextType?: \"regular\" | \"circular\" | \"radial\" | \"aligned\" | \"adjusted\";\n\tradius?: number;\n\tstartAngle?: number;\n\trelativeAngle?: number;\n\tinside?: boolean;\n\torientation?: \"inward\" | \"outward\" | \"auto\";\n\tkerning?: number;\n}\n\nexport interface ITextStyle {\n\t//wordWrapWidth: number = 100;\n\tfill?: Color | IGradient | IPattern;\n\ttextAlign?: \"start\" | \"end\" | \"left\" | \"right\" | \"center\";\n\tverticalAlign?: \"baseline\" | \"sub\" | \"super\";\n\tfontFamily?: string;\n\tfontSize?: string | number;\n\tfontWeight?: 'normal' | 'bold' | 'bolder' | 'lighter' | '100' | '200' | '300' | '400' | '500' | '600' | '700' | '800' | '900'\n\tfontStyle?: 'normal' | 'italic' | 'oblique';\n\tfontVariant?: \"normal\" | \"small-caps\";\n\ttextDecoration?: \"underline\" | \"line-through\";\n\tshadowColor?: Color | null;\n\tshadowBlur?: number;\n\tshadowOffsetX?: number;\n\tshadowOffsetY?: number;\n\tshadowOpacity?: number;\n\n\n\t// leading?: number;\n\t// letterSpacing?: number;\n\tlineHeight?: number | Percent;\n\tbaselineRatio?: number;\n\t// padding?: number;\n\t// stroke?: number;\n\t// strokeThickness?: number;\n\t// trim?: number;\n\t// wordWrap?: boolean;\n\tdirection?: \"ltr\" | \"rtl\";\n\ttextBaseline?: \"top\" | \"hanging\" | \"middle\" | \"alphabetic\" | \"ideographic\" | \"bottom\";\n\toversizedBehavior?: \"none\" | \"hide\" | \"fit\" | \"wrap\" | \"wrap-no-break\" | \"truncate\";\n\tbreakWords?: boolean;\n\tellipsis?: string;\n\tmaxWidth?: number;\n\tmaxHeight?: number;\n\tminScale?: number;\n}\n\nexport interface IPicture extends IDisplayObject {\n\timage: HTMLImageElement | undefined;\n\twidth?: number | undefined;\n\theight?: number | undefined;\n\tshadowColor?: Color;\n\tshadowBlur?: number;\n\tshadowOffsetX?: number;\n\tshadowOffsetY?: number;\n\tshadowOpacity?: number;\n}\n\nexport interface IRenderer extends IDisposer {\n\tdebugGhostView: boolean;\n\ttapToActivate: boolean;\n\ttapToActivateTimeout: number;\n\tresolution: number;\n\tremoveHovering(graphics:IDisplayObject):void;\n\tinteractionsEnabled: boolean;\n\tcreateLinearGradient(x1: number, y1: number, x2: number, y2: number): IGradient;\n\tcreateRadialGradient(x1: number, y1: number, radius1: number, x2: number, y2: number, radius2: number): IGradient;\n\tcreatePattern(graphics: IGraphics, background: IGraphics, repetition: string, width: number, height: number): IPattern;\n\tmakeContainer(): IContainer;\n\tmakeGraphics(): IGraphics;\n\tmakeText(text: string, style: ITextStyle): IText;\n\tmakeRadialText(text: string, style: ITextStyle): IText;\n\tmakeTextStyle(): ITextStyle;\n\tmakePicture(image: HTMLImageElement | undefined): IPicture;\n\tresize(canvasWidth: number, canvasHeight: number, domWidth: number, domHeight: number): void;\n\trender(root: IDisplayObject): void;\n\tgetCanvas(root: IDisplayObject, options?: ICanvasOptions): HTMLCanvasElement;\n\tview: HTMLElement;\n\n\tgetEvent<A extends IPointerEvent>(originalEvent: A, adjustPoint?: boolean): IRendererEvent<A>;\n}\n\nexport interface ICanvasOptions {\n\tmaintainPixelRatio?: boolean;\n\tminWidth?: number;\n\tmaxWidth?: number;\n\tminHeight?: number;\n\tmaxHeight?: number;\n}\n\nexport interface IMargin {\n\tleft: number;\n\tright: number;\n\ttop: number;\n\tbottom: number;\n}\n\n/**\n * @ignore\n */\nexport interface ILayer {\n\tvisible: boolean;\n\torder: number;\n\twidth: number | undefined;\n\theight: number | undefined;\n\tdirty: boolean;\n\tmargin: IMargin | undefined;\n}\n"]}
@@ -0,0 +1,78 @@
1
+ import { Pattern, IPatternSettings, IPatternPrivate } from "./Pattern";
2
+ import { Color } from "../../util/Color";
3
+ export interface IGrainPatternSettings extends IPatternSettings {
4
+ /**
5
+ * Size of a grain in pixels.
6
+ *
7
+ * @default 1
8
+ */
9
+ size?: number;
10
+ /**
11
+ * Density of noise.
12
+ *
13
+ * `1` means each pixel will have another pixel painted over with random
14
+ * opacity from `minOpacity` to `maxOpacity`.
15
+ *
16
+ * `2` means every second pixel will be "painted over", etc.
17
+ *
18
+ * @default 1
19
+ */
20
+ density?: number;
21
+ /**
22
+ * Minimum opacity of a noise pixel.
23
+ *
24
+ * @default 0
25
+ */
26
+ minOpacity?: number;
27
+ /**
28
+ * Maximum opacity of a noise pixel.
29
+ *
30
+ * @default 0.3
31
+ */
32
+ maxOpacity?: number;
33
+ /**
34
+ * An array of colors to randomly use for pixels.
35
+ *
36
+ * If this is not set, will use gradient's `color` setting value or black.
37
+ */
38
+ colors?: Array<Color>;
39
+ /**
40
+ * Horizontal gap (not in pixels but in size).
41
+ *
42
+ * @default 0
43
+ */
44
+ horizontalGap?: number;
45
+ /**
46
+ * Vertical gap (not in pixels but in size).
47
+ *
48
+ * @default 0
49
+ */
50
+ verticalGap?: number;
51
+ }
52
+ export interface IGrainPatternPrivate extends IPatternPrivate {
53
+ }
54
+ /**
55
+ * Grain pattern.
56
+ *
57
+ * Allows to add grain (noise) effect to your [[Graphics]] objects.
58
+ *
59
+ * Note, grain pattern does not support `fill` and `color` setting.
60
+ * Use `colors` setting to define colors of a grain pixels.
61
+ *
62
+ * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/patterns/#Grain_patterns} for more info
63
+ * @since 5.5.0
64
+ */
65
+ export declare class GrainPattern extends Pattern {
66
+ _settings: IGrainPatternSettings;
67
+ _privateSettings: IGrainPatternPrivate;
68
+ static className: string;
69
+ static classNames: Array<string>;
70
+ canvas: HTMLCanvasElement;
71
+ context: CanvasRenderingContext2D;
72
+ protected _clearGrain: boolean;
73
+ _beforeChanged(): void;
74
+ _changed(): void;
75
+ protected _checkDirtyFill(): boolean;
76
+ protected _setRectData(col: number, row: number, size: number, width: number, data: Uint8ClampedArray, rc: number, gc: number, bc: number, ac: number): void;
77
+ }
78
+ //# sourceMappingURL=GrainPattern.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GrainPattern.d.ts","sourceRoot":"","sources":["../../../../../../src/.internal/core/render/patterns/GrainPattern.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACvE,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzC,MAAM,WAAW,qBAAsB,SAAQ,gBAAgB;IAE9D;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;;;;;;;OASG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;OAIG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IAEtB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CAErB;AAED,MAAM,WAAW,oBAAqB,SAAQ,eAAe;CAC5D;AAED;;;;;;;;;;GAUG;AACH,qBAAa,YAAa,SAAQ,OAAO;IACzB,SAAS,EAAE,qBAAqB,CAAC;IACjC,gBAAgB,EAAE,oBAAoB,CAAC;IAEtD,OAAc,SAAS,EAAE,MAAM,CAAkB;IACjD,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAuD;IAEvF,MAAM,EAAE,iBAAiB,CAAoC;IAC7D,OAAO,EAAE,wBAAwB,CAAiC;IAEzE,SAAS,CAAC,WAAW,EAAE,OAAO,CAAS;IAEhC,cAAc;IAYd,QAAQ;IAqDf,SAAS,CAAC,eAAe;IAIzB,SAAS,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM;CAYrJ"}
@@ -0,0 +1,112 @@
1
+ import { Pattern } from "./Pattern";
2
+ import { Color } from "../../util/Color";
3
+ /**
4
+ * Grain pattern.
5
+ *
6
+ * Allows to add grain (noise) effect to your [[Graphics]] objects.
7
+ *
8
+ * Note, grain pattern does not support `fill` and `color` setting.
9
+ * Use `colors` setting to define colors of a grain pixels.
10
+ *
11
+ * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/patterns/#Grain_patterns} for more info
12
+ * @since 5.5.0
13
+ */
14
+ export class GrainPattern extends Pattern {
15
+ constructor() {
16
+ super(...arguments);
17
+ Object.defineProperty(this, "canvas", {
18
+ enumerable: true,
19
+ configurable: true,
20
+ writable: true,
21
+ value: document.createElement("canvas")
22
+ });
23
+ Object.defineProperty(this, "context", {
24
+ enumerable: true,
25
+ configurable: true,
26
+ writable: true,
27
+ value: this.canvas.getContext("2d")
28
+ });
29
+ Object.defineProperty(this, "_clearGrain", {
30
+ enumerable: true,
31
+ configurable: true,
32
+ writable: true,
33
+ value: false
34
+ });
35
+ }
36
+ _beforeChanged() {
37
+ //document.body.appendChild(this.canvas); // temp
38
+ this.canvas.width = this.get("width", 200);
39
+ this.canvas.height = this.get("height", 200);
40
+ if (this.isDirty("size") || this.isDirty("density") || this.isDirty("minOpacity") || this.isDirty("maxOpacity") || this.isDirty("colors") || this.isDirty("horizontalGap") || this.isDirty("verticalGap")) {
41
+ this._clearGrain = true;
42
+ }
43
+ super._beforeChanged();
44
+ }
45
+ _changed() {
46
+ super._changed();
47
+ if (this._clearGrain) {
48
+ const width = this.get("width", 200);
49
+ const height = this.get("height", 200);
50
+ const patternData = this.context.getImageData(0, 0, width, height);
51
+ const size = this.get("size", 1);
52
+ const minOpacity = this.get("minOpacity", 0);
53
+ const maxOpacity = this.get("maxOpacity", 0.3);
54
+ const colors = this.get("colors", [this.get("color", Color.fromHex(0x000000))]);
55
+ const cols = width / size;
56
+ const rows = height / size;
57
+ const density = this.get("density", 1);
58
+ const horizontalGap = this.get("horizontalGap", 0) + 1;
59
+ const verticalGap = this.get("verticalGap", 0) + 1;
60
+ for (let r = 0; r < rows; r++) {
61
+ if (verticalGap > 0) {
62
+ if (r / verticalGap != Math.round(r / verticalGap)) {
63
+ continue;
64
+ }
65
+ }
66
+ for (let c = 0; c < cols; c++) {
67
+ const color = colors[Math.floor(Math.random() * colors.length)];
68
+ const alpha = (minOpacity + Math.random() * (maxOpacity - minOpacity)) * 255;
69
+ const rnd = Math.random();
70
+ if (horizontalGap > 0) {
71
+ if (c / horizontalGap != Math.round(c / horizontalGap)) {
72
+ continue;
73
+ }
74
+ }
75
+ if (rnd < density) {
76
+ this._setRectData(c, r, size, width, patternData.data, color.r, color.g, color.b, alpha);
77
+ }
78
+ }
79
+ }
80
+ this.context.putImageData(patternData, 0, 0);
81
+ this._pattern = this.context.createPattern(this.canvas, "repeat");
82
+ }
83
+ this._clearGrain = false;
84
+ }
85
+ _checkDirtyFill() {
86
+ return false;
87
+ }
88
+ _setRectData(col, row, size, width, data, rc, gc, bc, ac) {
89
+ for (var c = col * size; c < col * size + size; c++) {
90
+ for (var r = row * size; r < row * size + size; r++) {
91
+ var i = (r * width + c) * 4;
92
+ data[i] = rc;
93
+ data[i + 1] = gc;
94
+ data[i + 2] = bc;
95
+ data[i + 3] = ac;
96
+ }
97
+ }
98
+ }
99
+ }
100
+ Object.defineProperty(GrainPattern, "className", {
101
+ enumerable: true,
102
+ configurable: true,
103
+ writable: true,
104
+ value: "GrainPattern"
105
+ });
106
+ Object.defineProperty(GrainPattern, "classNames", {
107
+ enumerable: true,
108
+ configurable: true,
109
+ writable: true,
110
+ value: Pattern.classNames.concat([GrainPattern.className])
111
+ });
112
+ //# sourceMappingURL=GrainPattern.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GrainPattern.js","sourceRoot":"","sources":["../../../../../../src/.internal/core/render/patterns/GrainPattern.ts"],"names":[],"mappings":"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","sourcesContent":["import { Pattern, IPatternSettings, IPatternPrivate } from \"./Pattern\";\r\nimport { Color } from \"../../util/Color\";\r\n\r\nexport interface IGrainPatternSettings extends IPatternSettings {\r\n\r\n\t/**\r\n\t * Size of a grain in pixels.\r\n\t *\r\n\t * @default 1\r\n\t */\r\n\tsize?: number;\r\n\r\n\t/**\r\n\t * Density of noise.\r\n\t * \r\n\t * `1` means each pixel will have another pixel painted over with random\r\n\t * opacity from `minOpacity` to `maxOpacity`.\r\n\t *\r\n\t * `2` means every second pixel will be \"painted over\", etc.\r\n\t *\r\n\t * @default 1\r\n\t */\r\n\tdensity?: number;\r\n\r\n\t/**\r\n\t * Minimum opacity of a noise pixel.\r\n\t *\r\n\t * @default 0\r\n\t */\r\n\tminOpacity?: number;\r\n\r\n\t/**\r\n\t * Maximum opacity of a noise pixel.\r\n\t *\r\n\t * @default 0.3\r\n\t */\r\n\tmaxOpacity?: number;\r\n\r\n\t/**\r\n\t * An array of colors to randomly use for pixels.\r\n\t *\r\n\t * If this is not set, will use gradient's `color` setting value or black.\r\n\t */\r\n\tcolors?: Array<Color>;\r\n\r\n\t/**\r\n\t * Horizontal gap (not in pixels but in size).\r\n\t *\r\n\t * @default 0\r\n\t */\r\n\thorizontalGap?: number;\r\n\r\n\t/**\r\n\t * Vertical gap (not in pixels but in size).\r\n\t *\r\n\t * @default 0\r\n\t */\r\n\tverticalGap?: number;\r\n\r\n}\r\n\r\nexport interface IGrainPatternPrivate extends IPatternPrivate {\r\n}\r\n\r\n/**\r\n * Grain pattern.\r\n * \r\n * Allows to add grain (noise) effect to your [[Graphics]] objects.\r\n * \r\n * Note, grain pattern does not support `fill` and `color` setting.\r\n * Use `colors` setting to define colors of a grain pixels.\r\n *\r\n * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/patterns/#Grain_patterns} for more info\r\n * @since 5.5.0\r\n */\r\nexport class GrainPattern extends Pattern {\r\n\tdeclare public _settings: IGrainPatternSettings;\r\n\tdeclare public _privateSettings: IGrainPatternPrivate;\r\n\r\n\tpublic static className: string = \"GrainPattern\";\r\n\tpublic static classNames: Array<string> = Pattern.classNames.concat([GrainPattern.className]);\r\n\r\n\tpublic canvas: HTMLCanvasElement = document.createElement(\"canvas\");\r\n\tpublic context: CanvasRenderingContext2D = this.canvas.getContext(\"2d\")!;\r\n\r\n\tprotected _clearGrain: boolean = false;\r\n\r\n\tpublic _beforeChanged() {\r\n\t\t//document.body.appendChild(this.canvas); // temp\r\n\t\tthis.canvas.width = this.get(\"width\", 200);\r\n\t\tthis.canvas.height = this.get(\"height\", 200);\r\n\r\n\t\tif (this.isDirty(\"size\") || this.isDirty(\"density\") || this.isDirty(\"minOpacity\") || this.isDirty(\"maxOpacity\") || this.isDirty(\"colors\") || this.isDirty(\"horizontalGap\") || this.isDirty(\"verticalGap\")) {\r\n\t\t\tthis._clearGrain = true;\r\n\t\t}\r\n\t\tsuper._beforeChanged();\r\n\t}\r\n\r\n\r\n\tpublic _changed() {\r\n\t\tsuper._changed();\r\n\r\n\t\tif (this._clearGrain) {\r\n\t\t\tconst width = this.get(\"width\", 200);\r\n\t\t\tconst height = this.get(\"height\", 200);\r\n\r\n\t\t\tconst patternData = this.context.getImageData(0, 0, width, height);\r\n\r\n\t\t\tconst size = this.get(\"size\", 1);\r\n\t\t\tconst minOpacity = this.get(\"minOpacity\", 0);\r\n\t\t\tconst maxOpacity = this.get(\"maxOpacity\", 0.3);\r\n\r\n\t\t\tconst colors = this.get(\"colors\", [this.get(\"color\", Color.fromHex(0x000000))])\r\n\r\n\t\t\tconst cols = width / size;\r\n\t\t\tconst rows = height / size;\r\n\t\t\tconst density = this.get(\"density\", 1);\r\n\t\t\tconst horizontalGap = this.get(\"horizontalGap\", 0) + 1;\r\n\t\t\tconst verticalGap = this.get(\"verticalGap\", 0) + 1;\r\n\r\n\t\t\tfor (let r = 0; r < rows; r++) {\r\n\r\n\t\t\t\tif (verticalGap > 0) {\r\n\t\t\t\t\tif (r / verticalGap != Math.round(r / verticalGap)) {\r\n\t\t\t\t\t\tcontinue;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tfor (let c = 0; c < cols; c++) {\r\n\t\t\t\t\tconst color = colors[Math.floor(Math.random() * colors.length)];\r\n\t\t\t\t\tconst alpha = (minOpacity + Math.random() * (maxOpacity - minOpacity)) * 255;\r\n\t\t\t\t\tconst rnd = Math.random();\r\n\r\n\t\t\t\t\tif (horizontalGap > 0) {\r\n\t\t\t\t\t\tif (c / horizontalGap != Math.round(c / horizontalGap)) {\r\n\t\t\t\t\t\t\tcontinue;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (rnd < density) {\r\n\t\t\t\t\t\tthis._setRectData(c, r, size, width, patternData.data, color.r, color.g, color.b, alpha);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tthis.context.putImageData(patternData, 0, 0);\r\n\t\t\tthis._pattern = this.context.createPattern(this.canvas, \"repeat\");\r\n\t\t}\r\n\r\n\t\tthis._clearGrain = false;\r\n\t}\r\n\r\n\tprotected _checkDirtyFill() {\r\n\t\treturn false;\r\n\t}\r\n\r\n\tprotected _setRectData(col: number, row: number, size: number, width: number, data: Uint8ClampedArray, rc: number, gc: number, bc: number, ac: number) {\r\n\t\tfor (var c = col * size; c < col * size + size; c++) {\r\n\t\t\tfor (var r = row * size; r < row * size + size; r++) {\r\n\t\t\t\tvar i = (r * width + c) * 4;\r\n\r\n\t\t\t\tdata[i] = rc;\r\n\t\t\t\tdata[i + 1] = gc;\r\n\t\t\t\tdata[i + 2] = bc;\r\n\t\t\t\tdata[i + 3] = ac;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n"]}
@@ -96,10 +96,11 @@ export declare class Pattern extends Entity {
96
96
  _display: IGraphics;
97
97
  _backgroundDisplay: IGraphics;
98
98
  protected _clear: boolean;
99
- protected _pattern: IPattern | undefined;
100
- get pattern(): IPattern | undefined;
99
+ protected _pattern: IPattern | undefined | null;
100
+ get pattern(): IPattern | undefined | null;
101
101
  protected _draw(): void;
102
102
  _beforeChanged(): void;
103
+ protected _checkDirtyFill(): void;
103
104
  _changed(): void;
104
105
  }
105
106
  //# sourceMappingURL=Pattern.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Pattern.d.ts","sourceRoot":"","sources":["../../../../../../src/.internal/core/render/patterns/Pattern.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAE3F,MAAM,WAAW,gBAAiB,SAAQ,eAAe;IAExD;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;OAIG;IACH,UAAU,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,UAAU,GAAG,WAAW,CAAC;IAE9D;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;OAIG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC;IAEd;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAEpC;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;;OAIG;IACH,IAAI,CAAC,EAAE,KAAK,CAAC;IAEb;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,eAAgB,SAAQ,cAAc;CACtD;AAED,MAAM,WAAW,cAAe,SAAQ,aAAa;CACpD;AAED;;;;GAIG;AACH,qBAAa,OAAQ,SAAQ,MAAM;IAClC,SAAS,CAAC,SAAS;IAKJ,SAAS,EAAE,gBAAgB,CAAC;IAC5B,gBAAgB,EAAE,eAAe,CAAC;IAEjD,OAAc,SAAS,EAAE,MAAM,CAAa;IAC5C,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAiD;IAEjF,QAAQ,EAAE,SAAS,CAAuC;IAC1D,kBAAkB,EAAE,SAAS,CAAuC;IAE3E,SAAS,CAAC,MAAM,UAAS;IAEzB,SAAS,CAAC,QAAQ,EAAE,QAAQ,GAAG,SAAS,CAAC;IAEzC,IAAW,OAAO,IAAI,QAAQ,GAAG,SAAS,CAEzC;IAED,SAAS,CAAC,KAAK,IAAI,IAAI;IAEhB,cAAc;IAQd,QAAQ;CA0Bf"}
1
+ {"version":3,"file":"Pattern.d.ts","sourceRoot":"","sources":["../../../../../../src/.internal/core/render/patterns/Pattern.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAE3F,MAAM,WAAW,gBAAiB,SAAQ,eAAe;IAExD;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;OAIG;IACH,UAAU,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,UAAU,GAAG,WAAW,CAAC;IAE9D;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;OAIG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC;IAEd;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAEpC;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;;OAIG;IACH,IAAI,CAAC,EAAE,KAAK,CAAC;IAEb;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,eAAgB,SAAQ,cAAc;CACtD;AAED,MAAM,WAAW,cAAe,SAAQ,aAAa;CACpD;AAED;;;;GAIG;AACH,qBAAa,OAAQ,SAAQ,MAAM;IAClC,SAAS,CAAC,SAAS;IAKJ,SAAS,EAAE,gBAAgB,CAAC;IAC5B,gBAAgB,EAAE,eAAe,CAAC;IAEjD,OAAc,SAAS,EAAE,MAAM,CAAa;IAC5C,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAiD;IAEjF,QAAQ,EAAE,SAAS,CAAuC;IAC1D,kBAAkB,EAAE,SAAS,CAAuC;IAE3E,SAAS,CAAC,MAAM,UAAS;IAEzB,SAAS,CAAC,QAAQ,EAAE,QAAQ,GAAG,SAAS,GAAG,IAAI,CAAC;IAEhD,IAAW,OAAO,IAAI,QAAQ,GAAG,SAAS,GAAG,IAAI,CAEhD;IAED,SAAS,CAAC,KAAK,IAAI,IAAI;IAEhB,cAAc;IAWrB,SAAS,CAAC,eAAe;IAMlB,QAAQ;CA+Bf"}
@@ -42,7 +42,14 @@ export class Pattern extends Entity {
42
42
  _draw() { }
43
43
  _beforeChanged() {
44
44
  super._beforeChanged();
45
- if (this.isDirty("repetition") || this.isDirty("width") || this.isDirty("height") || this.isDirty("rotation") || this.isDirty("color") || this.isDirty("strokeWidth") || this.isDirty("strokeDasharray") || this.isDirty("strokeDashoffset") || this.isDirty("colorOpacity") || this.isDirty("fill") || this.isDirty("fillOpacity")) {
45
+ if (this.isDirty("repetition") || this.isDirty("width") || this.isDirty("height") || this.isDirty("rotation") || this.isDirty("strokeWidth") || this.isDirty("strokeDasharray") || this.isDirty("strokeDashoffset") || this.isDirty("colorOpacity") || this.isDirty("fillOpacity")) {
46
+ //console.log(this.isDirty("repetition"), this.isDirty("width"), this.isDirty("height"), this.isDirty("rotation"), this.isDirty("color"), this.isDirty("strokeWidth"), this.isDirty("strokeDasharray"), this.isDirty("strokeDashoffset"), this.isDirty("colorOpacity"), this.isDirty("fillOpacity"))
47
+ this._clear = true;
48
+ }
49
+ this._checkDirtyFill();
50
+ }
51
+ _checkDirtyFill() {
52
+ if (this.isDirty("color") || this.isDirty("fill")) {
46
53
  this._clear = true;
47
54
  }
48
55
  }
@@ -54,18 +61,21 @@ export class Pattern extends Entity {
54
61
  const height = this.get("height", 100);
55
62
  const fill = this.get("fill");
56
63
  const fillOpacity = this.get("fillOpacity", 1);
57
- this._display.clear();
58
- this._backgroundDisplay.clear();
64
+ const backgroundDisplay = this._backgroundDisplay;
65
+ const display = this._display;
66
+ display.clear();
67
+ backgroundDisplay.clear();
59
68
  if (fill && (fillOpacity > 0)) {
60
- this._backgroundDisplay.beginFill(fill, fillOpacity);
61
- this._backgroundDisplay.drawRect(0, 0, width, height);
62
- this._backgroundDisplay.endFill();
69
+ backgroundDisplay.beginFill(fill, fillOpacity);
70
+ backgroundDisplay.drawRect(0, 0, width, height);
71
+ backgroundDisplay.endFill();
63
72
  }
64
- this._display.angle = this.get("rotation", 0);
65
- //this._display.pivot = { x: width / 2, y: height / 2 };
73
+ display.angle = this.get("rotation", 0);
74
+ //display.pivot = { x: width / 2, y: height / 2 };
66
75
  this._draw();
67
- this._pattern = this._root._renderer.createPattern(this._display, this._backgroundDisplay, repetition, width, height);
76
+ this._pattern = this._root._renderer.createPattern(display, backgroundDisplay, repetition, width, height);
68
77
  }
78
+ this._clear = false;
69
79
  }
70
80
  }
71
81
  Object.defineProperty(Pattern, "className", {
@@ -1 +1 @@
1
- {"version":3,"file":"Pattern.js","sourceRoot":"","sources":["../../../../../../src/.internal/core/render/patterns/Pattern.ts"],"names":[],"mappings":"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","sourcesContent":["import type { IGraphics, IPattern } from \"../backend/Renderer\";\nimport type { Color } from \"../../util/Color\";\n\nimport { Entity, IEntitySettings, IEntityPrivate, IEntityEvents } from \"../../util/Entity\";\n\nexport interface IPatternSettings extends IEntitySettings {\n\n\t/**\n\t * Rotation of patterm in degrees. Supported values: -90 to 90.\n\t *\n\t * @default 0\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/patterns/#Rotation} for more info\n\t */\n\trotation?: number;\n\n\t/**\n\t * How pattern tiles are repeated when filling the area.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/patterns/#Repetition} for more info\n\t */\n\trepetition?: \"repeat\" | \"repeat-x\" | \"repeat-y\" | \"no-repeat\";\n\n\t/**\n\t * Width of the pattern tile, in pixels.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/patterns/#Sizing_patterns} for more info\n\t */\n\twidth?: number;\n\n\t/**\n\t * Width of the pattern tile, in pixels.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/patterns/#Sizing_patterns} for more info\n\t */\n\theight?: number;\n\n\t/**\n\t * Color of the pattern shape.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/patterns/#Colors} for more info\n\t */\n\tcolor?: Color;\n\n\t/**\n\t * Opacity of the pattern shape.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/patterns/#Colors} for more info\n\t */\n\tcolorOpacity?: number;\n\n\t/**\n\t * Width of the pattern's line elements.\n\t *\n\t * @default 1\n\t */\n\tstrokeWidth?: number;\n\n\t/**\n\t * Stroke (border or line) dash settings.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/#Dashed_lines} for more information\n\t */\n\tstrokeDasharray?: number[] | number;\n\n\t/**\n\t * Stroke (border or line) dash offset.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/#Dashed_lines} for more information\n\t */\n\tstrokeDashoffset?: number;\n\n\t/**\n\t * Color to fill gaps between pattern shapes.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/patterns/#Colors} for more info\n\t */\n\tfill?: Color;\n\n\t/**\n\t * Opacity of the fill for gaps between pattern shapes.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/patterns/#Colors} for more info\n\t */\n\tfillOpacity?: number;\n\n\t/**\n\t * @ignore\n\t */\n\tcolorInherited?: boolean;\n\n\t/**\n\t * @ignore\n\t */\n\tfillInherited?: boolean;\n}\n\nexport interface IPatternPrivate extends IEntityPrivate {\n}\n\nexport interface IPatternEvents extends IEntityEvents {\n}\n\n/**\n * Base class for patterns.\n *\n * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/patterns/} for more info\n */\nexport class Pattern extends Entity {\n\tprotected _afterNew() {\n\t\t// Applying themes because pattern will not have parent\n\t\tsuper._afterNewApplyThemes();\n\t}\n\n\tdeclare public _settings: IPatternSettings;\n\tdeclare public _privateSettings: IPatternPrivate;\n\n\tpublic static className: string = \"Pattern\";\n\tpublic static classNames: Array<string> = Entity.classNames.concat([Pattern.className]);\n\n\tpublic _display: IGraphics = this._root._renderer.makeGraphics();\n\tpublic _backgroundDisplay: IGraphics = this._root._renderer.makeGraphics();\n\n\tprotected _clear = false;\n\n\tprotected _pattern: IPattern | undefined;\n\n\tpublic get pattern(): IPattern | undefined {\n\t\treturn this._pattern;\n\t}\n\n\tprotected _draw(): void { }\n\n\tpublic _beforeChanged() {\n\t\tsuper._beforeChanged();\n\n\t\tif (this.isDirty(\"repetition\") || this.isDirty(\"width\") || this.isDirty(\"height\") || this.isDirty(\"rotation\") || this.isDirty(\"color\") || this.isDirty(\"strokeWidth\") || this.isDirty(\"strokeDasharray\") || this.isDirty(\"strokeDashoffset\") || this.isDirty(\"colorOpacity\") || this.isDirty(\"fill\") || this.isDirty(\"fillOpacity\")) {\n\t\t\tthis._clear = true;\n\t\t}\n\t}\n\n\tpublic _changed() {\n\t\tsuper._changed();\n\n\t\tif (this._clear) {\n\t\t\tconst repetition = this.get(\"repetition\", \"\");\n\t\t\tconst width = this.get(\"width\", 100);\n\t\t\tconst height = this.get(\"height\", 100);\n\t\t\tconst fill = this.get(\"fill\");\n\t\t\tconst fillOpacity = this.get(\"fillOpacity\", 1);\n\n\t\t\tthis._display.clear();\n\t\t\tthis._backgroundDisplay.clear();\n\n\t\t\tif (fill && (fillOpacity > 0)) {\n\t\t\t\tthis._backgroundDisplay.beginFill(fill, fillOpacity);\n\t\t\t\tthis._backgroundDisplay.drawRect(0, 0, width, height);\n\t\t\t\tthis._backgroundDisplay.endFill();\n\t\t\t}\n\n\t\t\tthis._display.angle = this.get(\"rotation\", 0);\n\t\t\t//this._display.pivot = { x: width / 2, y: height / 2 };\n\t\t\tthis._draw();\n\n\t\t\tthis._pattern = this._root._renderer.createPattern(this._display, this._backgroundDisplay, repetition, width, height);\n\t\t}\n\t}\n}\n"]}
1
+ {"version":3,"file":"Pattern.js","sourceRoot":"","sources":["../../../../../../src/.internal/core/render/patterns/Pattern.ts"],"names":[],"mappings":"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","sourcesContent":["import type { IGraphics, IPattern } from \"../backend/Renderer\";\nimport type { Color } from \"../../util/Color\";\n\nimport { Entity, IEntitySettings, IEntityPrivate, IEntityEvents } from \"../../util/Entity\";\n\nexport interface IPatternSettings extends IEntitySettings {\n\n\t/**\n\t * Rotation of patterm in degrees. Supported values: -90 to 90.\n\t *\n\t * @default 0\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/patterns/#Rotation} for more info\n\t */\n\trotation?: number;\n\n\t/**\n\t * How pattern tiles are repeated when filling the area.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/patterns/#Repetition} for more info\n\t */\n\trepetition?: \"repeat\" | \"repeat-x\" | \"repeat-y\" | \"no-repeat\";\n\n\t/**\n\t * Width of the pattern tile, in pixels.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/patterns/#Sizing_patterns} for more info\n\t */\n\twidth?: number;\n\n\t/**\n\t * Width of the pattern tile, in pixels.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/patterns/#Sizing_patterns} for more info\n\t */\n\theight?: number;\n\n\t/**\n\t * Color of the pattern shape.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/patterns/#Colors} for more info\n\t */\n\tcolor?: Color;\n\n\t/**\n\t * Opacity of the pattern shape.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/patterns/#Colors} for more info\n\t */\n\tcolorOpacity?: number;\n\n\t/**\n\t * Width of the pattern's line elements.\n\t *\n\t * @default 1\n\t */\n\tstrokeWidth?: number;\n\n\t/**\n\t * Stroke (border or line) dash settings.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/#Dashed_lines} for more information\n\t */\n\tstrokeDasharray?: number[] | number;\n\n\t/**\n\t * Stroke (border or line) dash offset.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/#Dashed_lines} for more information\n\t */\n\tstrokeDashoffset?: number;\n\n\t/**\n\t * Color to fill gaps between pattern shapes.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/patterns/#Colors} for more info\n\t */\n\tfill?: Color;\n\n\t/**\n\t * Opacity of the fill for gaps between pattern shapes.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/patterns/#Colors} for more info\n\t */\n\tfillOpacity?: number;\n\n\t/**\n\t * @ignore\n\t */\n\tcolorInherited?: boolean;\n\n\t/**\n\t * @ignore\n\t */\n\tfillInherited?: boolean;\n}\n\nexport interface IPatternPrivate extends IEntityPrivate {\n}\n\nexport interface IPatternEvents extends IEntityEvents {\n}\n\n/**\n * Base class for patterns.\n *\n * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/patterns/} for more info\n */\nexport class Pattern extends Entity {\n\tprotected _afterNew() {\n\t\t// Applying themes because pattern will not have parent\n\t\tsuper._afterNewApplyThemes();\n\t}\n\n\tdeclare public _settings: IPatternSettings;\n\tdeclare public _privateSettings: IPatternPrivate;\n\n\tpublic static className: string = \"Pattern\";\n\tpublic static classNames: Array<string> = Entity.classNames.concat([Pattern.className]);\n\n\tpublic _display: IGraphics = this._root._renderer.makeGraphics();\n\tpublic _backgroundDisplay: IGraphics = this._root._renderer.makeGraphics();\n\n\tprotected _clear = false;\n\n\tprotected _pattern: IPattern | undefined | null;\n\n\tpublic get pattern(): IPattern | undefined | null {\n\t\treturn this._pattern;\n\t}\n\n\tprotected _draw(): void { }\n\n\tpublic _beforeChanged() {\n\t\tsuper._beforeChanged();\n\n\t\tif (this.isDirty(\"repetition\") || this.isDirty(\"width\") || this.isDirty(\"height\") || this.isDirty(\"rotation\") || this.isDirty(\"strokeWidth\") || this.isDirty(\"strokeDasharray\") || this.isDirty(\"strokeDashoffset\") || this.isDirty(\"colorOpacity\") || this.isDirty(\"fillOpacity\")) {\n\t\t\t//console.log(this.isDirty(\"repetition\"), this.isDirty(\"width\"), this.isDirty(\"height\"), this.isDirty(\"rotation\"), this.isDirty(\"color\"), this.isDirty(\"strokeWidth\"), this.isDirty(\"strokeDasharray\"), this.isDirty(\"strokeDashoffset\"), this.isDirty(\"colorOpacity\"), this.isDirty(\"fillOpacity\"))\t\n\t\t\tthis._clear = true;\n\t\t}\n\n\t\tthis._checkDirtyFill();\n\t}\n\n\tprotected _checkDirtyFill() {\n\t\tif (this.isDirty(\"color\") || this.isDirty(\"fill\")) {\n\t\t\tthis._clear = true;\n\t\t}\n\t}\n\n\tpublic _changed() {\n\t\tsuper._changed();\n\n\t\tif (this._clear) {\n\t\t\tconst repetition = this.get(\"repetition\", \"\");\n\t\t\tconst width = this.get(\"width\", 100);\n\t\t\tconst height = this.get(\"height\", 100);\n\t\t\tconst fill = this.get(\"fill\");\n\t\t\tconst fillOpacity = this.get(\"fillOpacity\", 1);\n\n\t\t\tconst backgroundDisplay = this._backgroundDisplay;\n\t\t\tconst display = this._display;\n\n\t\t\tdisplay.clear();\n\t\t\tbackgroundDisplay.clear();\n\n\t\t\tif (fill && (fillOpacity > 0)) {\n\t\t\t\tbackgroundDisplay.beginFill(fill, fillOpacity);\n\t\t\t\tbackgroundDisplay.drawRect(0, 0, width, height);\n\t\t\t\tbackgroundDisplay.endFill();\n\t\t\t}\n\n\t\t\tdisplay.angle = this.get(\"rotation\", 0);\n\t\t\t//display.pivot = { x: width / 2, y: height / 2 };\n\t\t\tthis._draw();\n\n\t\t\tthis._pattern = this._root._renderer.createPattern(display, backgroundDisplay, repetition, width, height);\n\t\t}\n\n\t\tthis._clear = false;\n\t}\n}\n"]}
@@ -22,6 +22,7 @@ export interface IPicturePatternSettings extends IPatternSettings {
22
22
  * @default true
23
23
  */
24
24
  centered?: boolean;
25
+ canvas?: HTMLCanvasElement;
25
26
  }
26
27
  export interface IPicturePatternPrivate extends IPatternPrivate {
27
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"PicturePattern.d.ts","sourceRoot":"","sources":["../../../../../../src/.internal/core/render/patterns/PicturePattern.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEvF,MAAM,WAAW,uBAAwB,SAAQ,gBAAgB;IAEhE;;;;OAIG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;;;;;;;OAQG;IACH,GAAG,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IAEnC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CAEnB;AAED,MAAM,WAAW,sBAAuB,SAAQ,eAAe;CAC9D;AAED,MAAM,WAAW,qBAAsB,SAAQ,cAAc;IAE5D;;OAEG;IACH,MAAM,EAAE,EAAE,CAAC;CAEX;AAED;;;;;;GAMG;AACH,qBAAa,cAAe,SAAQ,OAAO;IAC3B,SAAS,EAAE,uBAAuB,CAAC;IACnC,gBAAgB,EAAE,sBAAsB,CAAC;IACzC,OAAO,EAAE,qBAAqB,CAAC;IAE9C,OAAc,SAAS,EAAE,MAAM,CAAoB;IACnD,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAyD;IAEzF,MAAM,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAErC,cAAc;IAUrB,SAAS,CAAC,KAAK;IAuCf,SAAS,CAAC,KAAK;CAkBf"}
1
+ {"version":3,"file":"PicturePattern.d.ts","sourceRoot":"","sources":["../../../../../../src/.internal/core/render/patterns/PicturePattern.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEvF,MAAM,WAAW,uBAAwB,SAAQ,gBAAgB;IAEhE;;;;OAIG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;;;;;;;OAQG;IACH,GAAG,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IAEnC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAInB,MAAM,CAAC,EAAE,iBAAiB,CAAC;CAE3B;AAED,MAAM,WAAW,sBAAuB,SAAQ,eAAe;CAC9D;AAED,MAAM,WAAW,qBAAsB,SAAQ,cAAc;IAE5D;;OAEG;IACH,MAAM,EAAE,EAAE,CAAC;CAEX;AAED;;;;;;GAMG;AACH,qBAAa,cAAe,SAAQ,OAAO;IAC3B,SAAS,EAAE,uBAAuB,CAAC;IACnC,gBAAgB,EAAE,sBAAsB,CAAC;IACzC,OAAO,EAAE,qBAAqB,CAAC;IAE9C,OAAc,SAAS,EAAE,MAAM,CAAoB;IACnD,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAyD;IAEzF,MAAM,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAErC,cAAc;IAgBrB,SAAS,CAAC,KAAK;IAyCf,SAAS,CAAC,KAAK;CAkBf"}
@@ -22,6 +22,11 @@ export class PicturePattern extends Pattern {
22
22
  if (this.isDirty("src")) {
23
23
  this._load();
24
24
  }
25
+ const canvas = this.get("canvas");
26
+ if (canvas) {
27
+ this.set("width", canvas.width);
28
+ this.set("height", canvas.height);
29
+ }
25
30
  }
26
31
  _draw() {
27
32
  super._draw();
@@ -55,6 +60,10 @@ export class PicturePattern extends Pattern {
55
60
  }
56
61
  this._display.image(image, width, height, x, y);
57
62
  }
63
+ const canvas = this.get("canvas");
64
+ if (canvas) {
65
+ this._display.image(canvas, canvas.width, canvas.height, 0, 0);
66
+ }
58
67
  }
59
68
  _load() {
60
69
  const src = this.get("src");
@@ -1 +1 @@
1
- {"version":3,"file":"PicturePattern.js","sourceRoot":"","sources":["../../../../../../src/.internal/core/render/patterns/PicturePattern.ts"],"names":[],"mappings":"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","sourcesContent":["import { Pattern, IPatternSettings, IPatternPrivate, IPatternEvents } from \"./Pattern\";\n\nexport interface IPicturePatternSettings extends IPatternSettings {\n\n\t/**\n\t * A source URI of the image.\n\t *\n\t * Can be relative or absolute URL, or data-uri.\n\t */\n\tsrc?: string;\n\n\t/**\n\t * How pattern should be sized:\n\t *\n\t * * `\"image\"` (default) - pattern will be sized to actual image dimensions.\n\t * * `\"pattern\"` - image will sized to image dimensions.\n\t * * `\"none\"` - image will be placed in the pattern, regardless of either dimensions.\n\t * \n\t * @default \"image\"\n\t */\n\tfit?: \"image\" | \"pattern\" | \"none\";\n\n\t/**\n\t * Center images.\n\t *\n\t * @default true\n\t */\n\tcentered?: boolean;\n\n}\n\nexport interface IPicturePatternPrivate extends IPatternPrivate {\n}\n\nexport interface IPicturePatternEvents extends IPatternEvents {\n\n\t/**\n\t * Invoked when related image is loaded.\n\t */\n\tloaded: {};\n\n}\n\n/**\n * Picture pattern.\n *\n * @since 5.2.15\n *\n * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/patterns/} for more info\n */\nexport class PicturePattern extends Pattern {\n\tdeclare public _settings: IPicturePatternSettings;\n\tdeclare public _privateSettings: IPicturePatternPrivate;\n\tdeclare public _events: IPicturePatternEvents;\n\n\tpublic static className: string = \"PicturePattern\";\n\tpublic static classNames: Array<string> = Pattern.classNames.concat([PicturePattern.className]);\n\n\tpublic _image: HTMLImageElement | undefined;\n\n\tpublic _beforeChanged() {\n\t\tsuper._beforeChanged();\n\n\t\tthis._clear = true;\n\n\t\tif (this.isDirty(\"src\")) {\n\t\t\tthis._load();\n\t\t}\n\t}\n\n\tprotected _draw() {\n\t\tsuper._draw();\n\n\t\tconst image = this._image;\n\t\tif (image) {\n\n\t\t\tconst patternWidth = this.get(\"width\", 100);\n\t\t\tconst patternHeight = this.get(\"height\", 100);\n\n\t\t\t// Fit\n\t\t\tconst fit = this.get(\"fit\", \"image\");\n\t\t\tlet width = 0;\n\t\t\tlet height = 0;\n\t\t\tif (fit == \"pattern\") {\n\t\t\t\twidth = patternWidth;\n\t\t\t\theight = patternHeight;\n\t\t\t}\n\t\t\telse {\n\t\t\t\twidth = image.width;\n\t\t\t\theight = image.height;\n\t\t\t\tif (fit == \"image\") {\n\t\t\t\t\tthis.set(\"width\", width);\n\t\t\t\t\tthis.set(\"height\", height);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Position\n\t\t\tconst centered = this.get(\"centered\", true);\n\t\t\tlet x = 0;\n\t\t\tlet y = 0;\n\t\t\tif (centered) {\n\t\t\t\tx = patternWidth / 2 - width / 2;\n\t\t\t\ty = patternHeight / 2 - height / 2;\n\t\t\t}\n\t\t\tthis._display.image(image, width, height, x, y);\n\t\t}\n\n\t}\n\n\tprotected _load() {\n\t\tconst src = this.get(\"src\");\n\t\tif (src) {\n\t\t\tconst image = new Image();\n\t\t\t//image.crossOrigin = \"Anonymous\";\n\t\t\timage.src = src!;\n\t\t\timage.decode().then(() => {\n\t\t\t\tthis._image = image;\n\t\t\t\tthis._draw();\n\t\t\t\tif (this.events.isEnabled(\"loaded\")) {\n\t\t\t\t\tthis.events.dispatch(\"loaded\", { type: \"loaded\", target: this });\n\t\t\t\t}\n\t\t\t}).catch((_error: any) => {\n\t\t\t\t// TODO: maybe raise error?\n\t\t\t});\n\t\t}\n\t}\n\n}"]}
1
+ {"version":3,"file":"PicturePattern.js","sourceRoot":"","sources":["../../../../../../src/.internal/core/render/patterns/PicturePattern.ts"],"names":[],"mappings":"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","sourcesContent":["import { Pattern, IPatternSettings, IPatternPrivate, IPatternEvents } from \"./Pattern\";\n\nexport interface IPicturePatternSettings extends IPatternSettings {\n\n\t/**\n\t * A source URI of the image.\n\t *\n\t * Can be relative or absolute URL, or data-uri.\n\t */\n\tsrc?: string;\n\n\t/**\n\t * How pattern should be sized:\n\t *\n\t * * `\"image\"` (default) - pattern will be sized to actual image dimensions.\n\t * * `\"pattern\"` - image will sized to image dimensions.\n\t * * `\"none\"` - image will be placed in the pattern, regardless of either dimensions.\n\t * \n\t * @default \"image\"\n\t */\n\tfit?: \"image\" | \"pattern\" | \"none\";\n\n\t/**\n\t * Center images.\n\t *\n\t * @default true\n\t */\n\tcentered?: boolean;\n\n\n\n\tcanvas?: HTMLCanvasElement;\n\n}\n\nexport interface IPicturePatternPrivate extends IPatternPrivate {\n}\n\nexport interface IPicturePatternEvents extends IPatternEvents {\n\n\t/**\n\t * Invoked when related image is loaded.\n\t */\n\tloaded: {};\n\n}\n\n/**\n * Picture pattern.\n *\n * @since 5.2.15\n *\n * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/patterns/} for more info\n */\nexport class PicturePattern extends Pattern {\n\tdeclare public _settings: IPicturePatternSettings;\n\tdeclare public _privateSettings: IPicturePatternPrivate;\n\tdeclare public _events: IPicturePatternEvents;\n\n\tpublic static className: string = \"PicturePattern\";\n\tpublic static classNames: Array<string> = Pattern.classNames.concat([PicturePattern.className]);\n\n\tpublic _image: HTMLImageElement | undefined;\n\n\tpublic _beforeChanged() {\n\t\tsuper._beforeChanged();\n\n\t\tthis._clear = true;\n\n\t\tif (this.isDirty(\"src\")) {\n\t\t\tthis._load();\n\t\t}\n\n\t\tconst canvas = this.get(\"canvas\");\n\t\tif (canvas) {\n\t\t\tthis.set(\"width\", canvas.width);\n\t\t\tthis.set(\"height\", canvas.height)\n\t\t}\t\t\n\t}\n\n\tprotected _draw() {\n\t\tsuper._draw();\n\t\tconst image = this._image;\n\t\tif (image) {\n\t\t\tconst patternWidth = this.get(\"width\", 100);\n\t\t\tconst patternHeight = this.get(\"height\", 100);\n\n\t\t\t// Fit\n\t\t\tconst fit = this.get(\"fit\", \"image\");\n\t\t\tlet width = 0;\n\t\t\tlet height = 0;\n\t\t\tif (fit == \"pattern\") {\n\t\t\t\twidth = patternWidth;\n\t\t\t\theight = patternHeight;\n\t\t\t}\n\t\t\telse {\n\t\t\t\twidth = image.width;\n\t\t\t\theight = image.height;\n\t\t\t\tif (fit == \"image\") {\n\t\t\t\t\tthis.set(\"width\", width);\n\t\t\t\t\tthis.set(\"height\", height);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Position\n\t\t\tconst centered = this.get(\"centered\", true);\n\t\t\tlet x = 0;\n\t\t\tlet y = 0;\n\t\t\tif (centered) {\n\t\t\t\tx = patternWidth / 2 - width / 2;\n\t\t\t\ty = patternHeight / 2 - height / 2;\n\t\t\t}\n\t\t\tthis._display.image(image, width, height, x, y);\n\t\t}\n\n\t\tconst canvas = this.get(\"canvas\");\n\t\tif (canvas) {\n\t\t\tthis._display.image(canvas, canvas.width, canvas.height, 0, 0);\n\t\t}\n\t}\n\n\tprotected _load() {\n\t\tconst src = this.get(\"src\");\n\t\tif (src) {\n\t\t\tconst image = new Image();\n\t\t\t//image.crossOrigin = \"Anonymous\";\n\t\t\timage.src = src!;\n\t\t\timage.decode().then(() => {\n\t\t\t\tthis._image = image;\n\t\t\t\tthis._draw();\n\t\t\t\tif (this.events.isEnabled(\"loaded\")) {\n\t\t\t\t\tthis.events.dispatch(\"loaded\", { type: \"loaded\", target: this });\n\t\t\t\t}\n\t\t\t}).catch((_error: any) => {\n\t\t\t\t// TODO: maybe raise error?\n\t\t\t});\n\t\t}\n\t}\n\n}"]}
@@ -1 +1 @@
1
- {"version":3,"file":"RectanglePattern.d.ts","sourceRoot":"","sources":["../../../../../../src/.internal/core/render/patterns/RectanglePattern.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAIvE,MAAM,WAAW,yBAA0B,SAAQ,gBAAgB;IAElE;;;;OAIG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CAEnB;AAED,MAAM,WAAW,wBAAyB,SAAQ,eAAe;CAChE;AAED;;;;GAIG;AACH,qBAAa,gBAAiB,SAAQ,OAAO;IAC7B,SAAS,EAAE,yBAAyB,CAAC;IACrC,gBAAgB,EAAE,wBAAwB,CAAC;IAE1D,OAAc,SAAS,EAAE,MAAM,CAAsB;IACrD,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAA2D;IAE3F,cAAc;IAQrB,SAAS,CAAC,KAAK;CA6Df"}
1
+ {"version":3,"file":"RectanglePattern.d.ts","sourceRoot":"","sources":["../../../../../../src/.internal/core/render/patterns/RectanglePattern.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAIvE,MAAM,WAAW,yBAA0B,SAAQ,gBAAgB;IAElE;;;;OAIG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CAEnB;AAED,MAAM,WAAW,wBAAyB,SAAQ,eAAe;CAChE;AAED;;;;GAIG;AACH,qBAAa,gBAAiB,SAAQ,OAAO;IAC7B,SAAS,EAAE,yBAAyB,CAAC;IACrC,gBAAgB,EAAE,wBAAwB,CAAC;IAE1D,OAAc,SAAS,EAAE,MAAM,CAAsB;IACrD,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAA2D;IAE3F,cAAc;IAQrB,SAAS,CAAC,KAAK;CA8Df"}
@@ -22,6 +22,7 @@ export class RectanglePattern extends Pattern {
22
22
  let h = this.get("height", 100);
23
23
  let rectW = this.get("maxWidth", 5);
24
24
  let rectH = this.get("maxHeight", 5);
25
+ const display = this._display;
25
26
  let cellW = rectW + gap;
26
27
  let cellH = rectH + gap;
27
28
  let cols = Math.round(w / cellW);
@@ -30,8 +31,8 @@ export class RectanglePattern extends Pattern {
30
31
  cellH = h / rows;
31
32
  if (rotation != 0) {
32
33
  // @todo this is probably not right
33
- this._display.x = cellW / 2 * $math.cos(rotation);
34
- this._display.y = -cellH / 2 * $math.sin(rotation);
34
+ display.x = cellW / 2 * $math.cos(rotation);
35
+ display.y = -cellH / 2 * $math.sin(rotation);
35
36
  }
36
37
  for (let r = rotation == 0 ? 0 : -rows * 2; r < rows * 2; r++) {
37
38
  for (let c = rotation == 0 ? 0 : -cols * 2; c < cols * 2; c++) {
@@ -42,7 +43,7 @@ export class RectanglePattern extends Pattern {
42
43
  x += (cellW - rectW) / 2;
43
44
  y += (cellH - rectH) / 2;
44
45
  }
45
- this._display.drawRect(x, y, rectW, rectH);
46
+ display.drawRect(x, y, rectW, rectH);
46
47
  }
47
48
  }
48
49
  }
@@ -59,8 +60,8 @@ export class RectanglePattern extends Pattern {
59
60
  if (color || colorOpacity) {
60
61
  // this._display.lineStyle(strokeWidth, stroke, colorOpacity);
61
62
  // this._display.endStroke();
62
- this._display.beginFill(color, colorOpacity);
63
- this._display.endFill();
63
+ display.beginFill(color, colorOpacity);
64
+ display.endFill();
64
65
  }
65
66
  }
66
67
  }
@@ -1 +1 @@
1
- {"version":3,"file":"RectanglePattern.js","sourceRoot":"","sources":["../../../../../../src/.internal/core/render/patterns/RectanglePattern.ts"],"names":[],"mappings":"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","sourcesContent":["import { Pattern, IPatternSettings, IPatternPrivate } from \"./Pattern\";\n\nimport * as $math from \"../../util/Math\";\n\nexport interface IRectanglePatternSettings extends IPatternSettings {\n\n\t/**\n\t * Gap between rectangles, in pixels.\n\t *\n\t * @default 6\n\t */\n\tgap?: number;\n\n\t/**\n\t * Maximum width of the rectangle, in pixels.\n\t *\n\t * @default 5\n\t */\n\tmaxWidth?: number;\n\n\t/**\n\t * Maximum height of the rectangle, in pixels.\n\t *\n\t * @default 5\n\t */\n\tmaxHeight?: number;\n\n\t/**\n\t * If set to `true`, will place every second rectangle, creating checkered\n\t * pattern.\n\t *\n\t * @default false\n\t */\n\tcheckered?: boolean;\n\n\t/**\n\t * Center rectangles.\n\t *\n\t * @default true\n\t */\n\tcentered?: boolean;\n\n}\n\nexport interface IRectanglePatternPrivate extends IPatternPrivate {\n}\n\n/**\n * Rectangle pattern.\n *\n * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/patterns/} for more info\n */\nexport class RectanglePattern extends Pattern {\n\tdeclare public _settings: IRectanglePatternSettings;\n\tdeclare public _privateSettings: IRectanglePatternPrivate;\n\n\tpublic static className: string = \"RectanglePattern\";\n\tpublic static classNames: Array<string> = Pattern.classNames.concat([RectanglePattern.className]);\n\n\tpublic _beforeChanged() {\n\t\tsuper._beforeChanged();\n\n\t\tif (this.isDirty(\"gap\")) {\n\t\t\tthis._clear = true;\n\t\t}\n\t}\n\n\tprotected _draw() {\n\t\tsuper._draw();\n\n\t\tconst checkered = this.get(\"checkered\", false);\n\t\tconst centered = this.get(\"centered\", true);\n\t\tconst gap = this.get(\"gap\", 0);\n\t\tconst rotation = this.get(\"rotation\", 0);\n\t\tlet w = this.get(\"width\", 100);\n\t\tlet h = this.get(\"height\", 100);\n\t\tlet rectW = this.get(\"maxWidth\", 5);\n\t\tlet rectH = this.get(\"maxHeight\", 5);\n\n\n\t\tlet cellW = rectW + gap;\n\t\tlet cellH = rectH + gap;\n\n\t\tlet cols = Math.round(w / cellW);\n\t\tlet rows = Math.round(h / cellH);\n\n\t\tcellW = w / cols;\n\t\tcellH = h / rows;\n\n\t\tif (rotation != 0) {\n\t\t\t// @todo this is probably not right\n\t\t\tthis._display.x = cellW / 2 * $math.cos(rotation);\n\t\t\tthis._display.y = -cellH / 2 * $math.sin(rotation);\n\t\t}\n\n\t\tfor (let r = rotation == 0 ? 0 : -rows * 2; r < rows * 2; r++) {\n\t\t\tfor (let c = rotation == 0 ? 0 : -cols * 2; c < cols * 2; c++) {\n\t\t\t\tif (!checkered || ((r & 1) != 1 && (c & 1) != 1) || ((r & 1) == 1 && (c & 1) == 1)) {\n\t\t\t\t\tlet x = c * cellW;\n\t\t\t\t\tlet y = r * cellH;\n\t\t\t\t\tif (centered) {\n\t\t\t\t\t\tx += (cellW - rectW) / 2;\n\t\t\t\t\t\ty += (cellH - rectH) / 2;\n\t\t\t\t\t}\n\t\t\t\t\tthis._display.drawRect(x, y, rectW, rectH);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (checkered) {\n\t\t\tw = w / 2 - gap * 2;\n\t\t\th = h / 2 - gap * 2;\n\t\t}\n\t\telse {\n\t\t\tw -= gap;\n\t\t\th -= gap;\n\t\t}\n\n\t\tconst color = this.get(\"color\");\n\t\tconst colorOpacity = this.get(\"colorOpacity\");\n\t\tif (color || colorOpacity) {\n\t\t\t// this._display.lineStyle(strokeWidth, stroke, colorOpacity);\n\t\t\t// this._display.endStroke();\n\t\t\tthis._display.beginFill(color, colorOpacity);\n\t\t\tthis._display.endFill();\n\t\t}\n\n\t}\n}\n"]}
1
+ {"version":3,"file":"RectanglePattern.js","sourceRoot":"","sources":["../../../../../../src/.internal/core/render/patterns/RectanglePattern.ts"],"names":[],"mappings":"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","sourcesContent":["import { Pattern, IPatternSettings, IPatternPrivate } from \"./Pattern\";\n\nimport * as $math from \"../../util/Math\";\n\nexport interface IRectanglePatternSettings extends IPatternSettings {\n\n\t/**\n\t * Gap between rectangles, in pixels.\n\t *\n\t * @default 6\n\t */\n\tgap?: number;\n\n\t/**\n\t * Maximum width of the rectangle, in pixels.\n\t *\n\t * @default 5\n\t */\n\tmaxWidth?: number;\n\n\t/**\n\t * Maximum height of the rectangle, in pixels.\n\t *\n\t * @default 5\n\t */\n\tmaxHeight?: number;\n\n\t/**\n\t * If set to `true`, will place every second rectangle, creating checkered\n\t * pattern.\n\t *\n\t * @default false\n\t */\n\tcheckered?: boolean;\n\n\t/**\n\t * Center rectangles.\n\t *\n\t * @default true\n\t */\n\tcentered?: boolean;\n\n}\n\nexport interface IRectanglePatternPrivate extends IPatternPrivate {\n}\n\n/**\n * Rectangle pattern.\n *\n * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/patterns/} for more info\n */\nexport class RectanglePattern extends Pattern {\n\tdeclare public _settings: IRectanglePatternSettings;\n\tdeclare public _privateSettings: IRectanglePatternPrivate;\n\n\tpublic static className: string = \"RectanglePattern\";\n\tpublic static classNames: Array<string> = Pattern.classNames.concat([RectanglePattern.className]);\n\n\tpublic _beforeChanged() {\n\t\tsuper._beforeChanged();\n\n\t\tif (this.isDirty(\"gap\")) {\n\t\t\tthis._clear = true;\n\t\t}\n\t}\n\n\tprotected _draw() {\n\t\tsuper._draw();\n\n\t\tconst checkered = this.get(\"checkered\", false);\n\t\tconst centered = this.get(\"centered\", true);\n\t\tconst gap = this.get(\"gap\", 0);\n\t\tconst rotation = this.get(\"rotation\", 0);\n\t\tlet w = this.get(\"width\", 100);\n\t\tlet h = this.get(\"height\", 100);\n\t\tlet rectW = this.get(\"maxWidth\", 5);\n\t\tlet rectH = this.get(\"maxHeight\", 5);\n\n\t\tconst display = this._display;\n\n\t\tlet cellW = rectW + gap;\n\t\tlet cellH = rectH + gap;\n\n\t\tlet cols = Math.round(w / cellW);\n\t\tlet rows = Math.round(h / cellH);\n\n\t\tcellW = w / cols;\n\t\tcellH = h / rows;\n\n\t\tif (rotation != 0) {\n\t\t\t// @todo this is probably not right\n\t\t\tdisplay.x = cellW / 2 * $math.cos(rotation);\n\t\t\tdisplay.y = -cellH / 2 * $math.sin(rotation);\n\t\t}\n\n\t\tfor (let r = rotation == 0 ? 0 : -rows * 2; r < rows * 2; r++) {\n\t\t\tfor (let c = rotation == 0 ? 0 : -cols * 2; c < cols * 2; c++) {\n\t\t\t\tif (!checkered || ((r & 1) != 1 && (c & 1) != 1) || ((r & 1) == 1 && (c & 1) == 1)) {\n\t\t\t\t\tlet x = c * cellW;\n\t\t\t\t\tlet y = r * cellH;\n\t\t\t\t\tif (centered) {\n\t\t\t\t\t\tx += (cellW - rectW) / 2;\n\t\t\t\t\t\ty += (cellH - rectH) / 2;\n\t\t\t\t\t}\n\t\t\t\t\tdisplay.drawRect(x, y, rectW, rectH);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (checkered) {\n\t\t\tw = w / 2 - gap * 2;\n\t\t\th = h / 2 - gap * 2;\n\t\t}\n\t\telse {\n\t\t\tw -= gap;\n\t\t\th -= gap;\n\t\t}\n\n\t\tconst color = this.get(\"color\");\n\t\tconst colorOpacity = this.get(\"colorOpacity\");\n\t\tif (color || colorOpacity) {\n\t\t\t// this._display.lineStyle(strokeWidth, stroke, colorOpacity);\n\t\t\t// this._display.endStroke();\n\t\t\tdisplay.beginFill(color, colorOpacity);\n\t\t\tdisplay.endFill();\n\t\t}\n\n\t}\n}\n"]}
@@ -43,6 +43,8 @@ export interface ISliceGrouperPrivate extends IEntityPrivate {
43
43
  groupDataItem?: DataItem<IPercentSeriesDataItem>;
44
44
  normalDataItems?: DataItem<IPercentSeriesDataItem>[];
45
45
  smallDataItems?: DataItem<IPercentSeriesDataItem>[];
46
+ currentStep?: number;
47
+ currentPass?: number;
46
48
  }
47
49
  export interface ISliceGrouperEvents extends IEntityEvents {
48
50
  }