@openglobus/og 0.17.1 → 0.18.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 (490) hide show
  1. package/README.md +75 -46
  2. package/dist/@openglobus/og.esm.js +1 -20
  3. package/dist/@openglobus/og.esm.js.map +1 -1
  4. package/dist/@openglobus/og.umd.js +1 -20
  5. package/dist/@openglobus/og.umd.js.map +1 -1
  6. package/dist/@openglobus/res/fonts/Karla-Bold.json +5252 -0
  7. package/dist/@openglobus/res/fonts/Karla-Bold.ttf.cfg +920 -0
  8. package/dist/@openglobus/res/fonts/Karla-Bold.ttf.png +0 -0
  9. package/dist/@openglobus/res/fonts/Karla-Light.json +5252 -0
  10. package/dist/@openglobus/res/fonts/Karla-Light.ttf.cfg +830 -0
  11. package/dist/@openglobus/res/fonts/Karla-Light.ttf.png +0 -0
  12. package/dist/@openglobus/res/fonts/Karla-Medium.json +5252 -0
  13. package/dist/@openglobus/res/fonts/Karla-Medium.ttf.cfg +1196 -0
  14. package/dist/@openglobus/res/fonts/Karla-Medium.ttf.png +0 -0
  15. package/dist/@openglobus/res/fonts/NotoSansArabic-Regular.json +3332 -0
  16. package/dist/@openglobus/res/fonts/NotoSansArabic-Regular.ttf.cfg +1370 -0
  17. package/dist/@openglobus/res/fonts/NotoSansArabic-Regular.ttf.png +0 -0
  18. package/dist/@openglobus/res/fonts/Roboto-Regular.json +37147 -0
  19. package/dist/@openglobus/res/fonts/Roboto-Regular.ttf.cfg +1340 -0
  20. package/dist/@openglobus/res/fonts/Roboto-Regular.ttf.png +0 -0
  21. package/dist/@openglobus/res/fonts/arial.json +4321 -0
  22. package/dist/@openglobus/res/fonts/arial.ttf.cfg +1570 -0
  23. package/dist/@openglobus/res/fonts/arial.ttf.png +0 -0
  24. package/dist/@openglobus/res/night-4326.png +0 -0
  25. package/dist/@openglobus/res/night.png +0 -0
  26. package/dist/@openglobus/res/spec.png +0 -0
  27. package/package.json +25 -23
  28. package/src/{og/Clock.js → Clock.ts} +100 -78
  29. package/src/Deferred.ts +17 -0
  30. package/src/Events.ts +200 -0
  31. package/src/{og/Extent.js → Extent.ts} +324 -352
  32. package/src/Globe.ts +363 -0
  33. package/src/{og/ImageCanvas.js → ImageCanvas.ts} +244 -236
  34. package/src/Lock.ts +41 -0
  35. package/src/{og/LonLat.js → LonLat.ts} +50 -47
  36. package/src/{og/Object3d.js → Object3d.ts} +89 -55
  37. package/src/Popup.ts +228 -0
  38. package/src/{og/QueueArray.js → QueueArray.ts} +76 -75
  39. package/src/{og/Rectangle.js → Rectangle.ts} +115 -111
  40. package/src/Stack.ts +58 -0
  41. package/src/{og/astro/astro.js → astro/astro.ts} +49 -51
  42. package/src/{og/astro/earth.js → astro/earth.ts} +8 -9
  43. package/src/{og/astro/jd.js → astro/jd.ts} +92 -111
  44. package/src/{og/astro/orbit.js → astro/orbit.ts} +35 -37
  45. package/src/{og/astro/rotation.js → astro/rotation.ts} +4 -6
  46. package/src/{og/bv/Box.js → bv/Box.ts} +21 -17
  47. package/src/{og/bv/Sphere.js → bv/Sphere.ts} +21 -19
  48. package/src/bv/index.ts +4 -0
  49. package/src/{og/camera/Camera.js → camera/Camera.ts} +254 -197
  50. package/src/{og/camera/Frustum.js → camera/Frustum.ts} +137 -111
  51. package/src/{og/camera/PlanetCamera.js → camera/PlanetCamera.ts} +248 -185
  52. package/src/camera/index.ts +4 -0
  53. package/src/{og/cons.js → cons.ts} +14 -18
  54. package/src/{og/control/Atmosphere.js → control/Atmosphere.ts} +50 -50
  55. package/src/{og/control/CompassButton.js → control/CompassButton.ts} +27 -30
  56. package/src/{og/control/Control.js → control/Control.ts} +76 -70
  57. package/src/{og/control/DebugInfo.js → control/DebugInfo.ts} +130 -62
  58. package/src/{og/control/DrawingSwitcher.js → control/DrawingSwitcher.ts} +16 -22
  59. package/src/control/EarthCoordinates.ts +222 -0
  60. package/src/control/EarthNavigation.ts +293 -0
  61. package/src/{og/control/GeoImageDragControl.js → control/GeoImageDragControl.ts} +37 -29
  62. package/src/control/KeyboardNavigation.ts +168 -0
  63. package/src/{og/control/LayerAnimation.js → control/LayerAnimation.ts} +74 -90
  64. package/src/control/LayerSwitcher.ts +76 -0
  65. package/src/{og/control/Lighting.js → control/Lighting.ts} +158 -120
  66. package/src/control/MouseNavigation.ts +468 -0
  67. package/src/control/MouseWheelZoomControl.ts +269 -0
  68. package/src/{og/control/RulerSwitcher.js → control/RulerSwitcher.ts} +18 -20
  69. package/src/control/ScaleControl.ts +131 -0
  70. package/src/control/SegmentBoundVisualization.ts +50 -0
  71. package/src/control/ShowFps.ts +28 -0
  72. package/src/control/SimpleNavigation.ts +118 -0
  73. package/src/{og/control/SimpleSkyBackground.js → control/SimpleSkyBackground.ts} +36 -38
  74. package/src/{og/control/Sun.js → control/Sun.ts} +56 -64
  75. package/src/control/ToggleWireframe.ts +35 -0
  76. package/src/control/TouchNavigation.ts +368 -0
  77. package/src/control/ZoomControl.ts +111 -0
  78. package/src/control/drawing/DrawingControl.ts +45 -0
  79. package/src/{og/control/drawing/LineStringDrawingScene.js → control/drawing/LineStringDrawingScene.ts} +28 -35
  80. package/src/{og/control/drawing/PolygonDrawingScene.js → control/drawing/PolygonDrawingScene.ts} +148 -201
  81. package/src/{og/control/elevationProfile/ElevationProfile.js → control/elevationProfile/ElevationProfile.ts} +70 -36
  82. package/src/control/heightRuler/HeightRuler.ts +16 -0
  83. package/src/{og/control/heightRuler/HeightRulerScene.js → control/heightRuler/HeightRulerScene.ts} +92 -87
  84. package/src/{og/control/heightRuler/HeightRulerSwitcher.js → control/heightRuler/HeightRulerSwitcher.ts} +3 -3
  85. package/src/control/index.ts +45 -0
  86. package/src/control/ruler/Ruler.ts +35 -0
  87. package/src/{og/control/ruler/RulerScene.js → control/ruler/RulerScene.ts} +163 -121
  88. package/src/{og/control/selection/Selection.js → control/selection/Selection.ts} +23 -21
  89. package/src/{og/control/selection/SelectionScene.js → control/selection/SelectionScene.ts} +64 -50
  90. package/src/{og/control/timeline/TimelineControl.js → control/timeline/TimelineControl.ts} +37 -28
  91. package/src/{og/control/timeline/TimelineModel.js → control/timeline/TimelineModel.ts} +50 -35
  92. package/src/{og/control/timeline/TimelineView.js → control/timeline/TimelineView.ts} +162 -113
  93. package/src/{og/control/timeline/timelineUtils.js → control/timeline/timelineUtils.ts} +11 -10
  94. package/src/{og/control → control}/visibleExtent/Segment.js +5 -5
  95. package/src/{og/control → control}/visibleExtent/VisibleExtent.js +8 -15
  96. package/src/{og/control/visibleExtent/drawnode.js → control/visibleExtent/drawnode.ts} +1 -3
  97. package/src/{og/ellipsoid/Ellipsoid.js → ellipsoid/Ellipsoid.ts} +113 -59
  98. package/src/ellipsoid/index.ts +4 -0
  99. package/src/{og/ellipsoid/wgs84.js → ellipsoid/wgs84.ts} +1 -3
  100. package/src/{og/entity/BaseBillboard.js → entity/BaseBillboard.ts} +128 -102
  101. package/src/entity/BaseBillboardHandler.ts +772 -0
  102. package/src/{og/entity/Billboard.js → entity/Billboard.ts} +77 -47
  103. package/src/entity/BillboardHandler.ts +135 -0
  104. package/src/{og/entity/Entity.js → entity/Entity.ts} +285 -226
  105. package/src/{og/entity/EntityCollection.js → entity/EntityCollection.ts} +340 -247
  106. package/src/{og/entity/GeoObject.js → entity/GeoObject.ts} +122 -67
  107. package/src/{og/entity/GeoObjectHandler.js → entity/GeoObjectHandler.ts} +273 -198
  108. package/src/entity/Geometry.ts +486 -0
  109. package/src/{og/entity/GeometryHandler.js → entity/GeometryHandler.ts} +383 -541
  110. package/src/{og/entity/Label.js → entity/Label.ts} +131 -83
  111. package/src/{og/entity/LabelHandler.js → entity/LabelHandler.ts} +289 -255
  112. package/src/{og/entity/LabelWorker.js → entity/LabelWorker.ts} +26 -36
  113. package/src/{og/entity/PointCloud.js → entity/PointCloud.ts} +200 -164
  114. package/src/entity/PointCloudHandler.ts +125 -0
  115. package/src/{og/entity/Polyline.js → entity/Polyline.ts} +517 -539
  116. package/src/{og/entity/PolylineHandler.js → entity/PolylineHandler.ts} +29 -31
  117. package/src/{og/entity/Ray.js → entity/Ray.ts} +89 -60
  118. package/src/{og/entity/RayHandler.js → entity/RayHandler.ts} +201 -306
  119. package/src/{og/entity/Strip.js → entity/Strip.ts} +143 -100
  120. package/src/{og/entity/StripHandler.js → entity/StripHandler.ts} +76 -72
  121. package/src/entity/index.ts +12 -0
  122. package/src/index.ts +173 -0
  123. package/src/input/KeyboardHandler.ts +196 -0
  124. package/src/{og/input/MouseHandler.js → input/MouseHandler.ts} +46 -35
  125. package/src/input/TouchHandler.ts +54 -0
  126. package/src/{og/input/input.js → input/input.ts} +1 -3
  127. package/src/{og/layer/BaseGeoImage.js → layer/BaseGeoImage.ts} +174 -107
  128. package/src/{og/layer/CanvasTiles.js → layer/CanvasTiles.ts} +139 -105
  129. package/src/{og/layer/GeoImage.js → layer/GeoImage.ts} +62 -52
  130. package/src/layer/GeoTexture2d.ts +56 -0
  131. package/src/{og/layer/GeoVideo.js → layer/GeoVideo.ts} +53 -53
  132. package/src/{og/layer/KML.js → layer/KML.ts} +63 -74
  133. package/src/{og/layer/Layer.js → layer/Layer.ts} +399 -223
  134. package/src/{og/layer/Material.js → layer/Material.ts} +40 -35
  135. package/src/{og/layer/Vector.js → layer/Vector.ts} +319 -267
  136. package/src/{og/layer/WMS.js → layer/WMS.ts} +76 -64
  137. package/src/{og/layer/XYZ.js → layer/XYZ.ts} +123 -98
  138. package/src/layer/index.ts +12 -0
  139. package/src/{og/light/LightSource.js → light/LightSource.ts} +132 -93
  140. package/src/{og/math/Line2.js → math/Line2.ts} +11 -8
  141. package/src/{og/math/Line3.js → math/Line3.ts} +49 -27
  142. package/src/{og/math/Mat3.js → math/Mat3.ts} +43 -27
  143. package/src/{og/math/Mat4.js → math/Mat4.ts} +110 -77
  144. package/src/{og/math/Plane.js → math/Plane.ts} +28 -23
  145. package/src/{og/math/Quat.js → math/Quat.ts} +238 -222
  146. package/src/{og/math/Ray.js → math/Ray.ts} +59 -63
  147. package/src/{og/math/Vec2.js → math/Vec2.ts} +85 -76
  148. package/src/{og/math/Vec3.js → math/Vec3.ts} +141 -140
  149. package/src/{og/math/Vec4.js → math/Vec4.ts} +64 -53
  150. package/src/{og/math/coder.js → math/coder.ts} +30 -27
  151. package/src/math/index.ts +26 -0
  152. package/src/{og/math.js → math.ts} +46 -49
  153. package/src/{og/mercator.js → mercator.ts} +143 -149
  154. package/src/{og/proj/EPSG3857.js → proj/EPSG3857.ts} +1 -3
  155. package/src/{og/proj/EPSG4326.js → proj/EPSG4326.ts} +11 -13
  156. package/src/{og/proj/Proj.js → proj/Proj.ts} +27 -23
  157. package/src/{og/quadTree/EPSG4326QuadTreeStrategy.js → quadTree/EPSG4326QuadTreeStrategy.ts} +10 -13
  158. package/src/{og/quadTree/EarthQuadTreeStrategy.js → quadTree/EarthQuadTreeStrategy.ts} +11 -13
  159. package/src/quadTree/EntityCollectionNode.ts +395 -0
  160. package/src/{og/quadTree/MarsQuadTreeStrategy.js → quadTree/MarsQuadTreeStrategy.ts} +10 -13
  161. package/src/{og/quadTree/Node.js → quadTree/Node.ts} +283 -191
  162. package/src/{og/quadTree/QuadTreeStrategy.js → quadTree/QuadTreeStrategy.ts} +35 -29
  163. package/src/quadTree/Wgs84QuadTreeStrategy.ts +22 -0
  164. package/src/quadTree/index.ts +14 -0
  165. package/src/{og/quadTree/quadTree.js → quadTree/quadTree.ts} +75 -77
  166. package/src/{og/renderer/Renderer.js → renderer/Renderer.ts} +454 -298
  167. package/src/{og/renderer/RendererEvents.js → renderer/RendererEvents.ts} +347 -270
  168. package/src/{og/scene/Axes.js → scene/Axes.ts} +26 -22
  169. package/src/{og/scene/BaseNode.js → scene/BaseNode.ts} +53 -47
  170. package/src/{og/scene/Planet.js → scene/Planet.ts} +777 -595
  171. package/src/{og/scene/RenderNode.js → scene/RenderNode.ts} +105 -91
  172. package/src/{og/scene/SkyBox.js → scene/SkyBox.ts} +29 -25
  173. package/src/scene/index.ts +6 -0
  174. package/src/{og/segment/Segment.js → segment/Segment.ts} +497 -371
  175. package/src/{og/segment/SegmentLonLat.js → segment/SegmentLonLat.ts} +81 -87
  176. package/src/{og/segment/SegmentLonLatWgs84.js → segment/SegmentLonLatWgs84.ts} +9 -16
  177. package/src/{og/segment/Slice.js → segment/Slice.ts} +15 -9
  178. package/src/{og/segment/segmentHelper.js → segment/segmentHelper.ts} +57 -49
  179. package/src/{og/shaders/atmos.js → shaders/atmos.ts} +4 -6
  180. package/src/{og/shaders/billboard.js → shaders/billboard.ts} +3 -5
  181. package/src/{og/shaders/bloom.js → shaders/bloom.ts} +2 -4
  182. package/src/{og/shaders/blur.js → shaders/blur.ts} +4 -7
  183. package/src/{og/shaders/depth.js → shaders/depth.ts} +1 -3
  184. package/src/{og/shaders/drawnode.js → shaders/drawnode.ts} +19 -21
  185. package/src/{og/shaders/geoObject.js → shaders/geoObject.ts} +17 -19
  186. package/src/{og/shaders/label.js → shaders/label.ts} +4 -6
  187. package/src/{og/shaders/lumFilter.js → shaders/lumFilter.ts} +2 -4
  188. package/src/{og/shaders/pickingMask.js → shaders/pickingMask.ts} +2 -4
  189. package/src/{og/shaders/pointCloud.js → shaders/pointCloud.ts} +7 -10
  190. package/src/{og/shaders/polyline.js → shaders/polyline.ts} +3 -200
  191. package/src/{og/shaders/ray.js → shaders/ray.ts} +2 -4
  192. package/src/{og/shaders/screenFrame.js → shaders/screenFrame.ts} +2 -4
  193. package/src/{og/shaders/skybox.js → shaders/skybox.ts} +7 -9
  194. package/src/{og/shaders/toneMapping.js → shaders/toneMapping.ts} +2 -4
  195. package/src/{og/shaders/utils.js → shaders/utils.ts} +0 -2
  196. package/src/{og/terrain/BilTerrain.js → terrain/BilTerrain.ts} +38 -32
  197. package/src/terrain/EmptyTerrain.ts +230 -0
  198. package/src/{og/terrain/Geoid.js → terrain/Geoid.ts} +67 -41
  199. package/src/{og/terrain/GlobusTerrain.js → terrain/GlobusTerrain.ts} +159 -153
  200. package/src/{og/terrain/MapboxTerrain.js → terrain/MapboxTerrain.ts} +58 -61
  201. package/src/terrain/index.ts +6 -0
  202. package/src/ui/Button.ts +121 -0
  203. package/src/ui/ButtonGroup.ts +63 -0
  204. package/src/ui/Dialog.ts +244 -0
  205. package/src/ui/Slider.ts +188 -0
  206. package/src/ui/ToggleButton.ts +68 -0
  207. package/src/{og/ui/View.js → ui/View.ts} +66 -59
  208. package/src/utils/BaseWorker.ts +60 -0
  209. package/src/utils/FontAtlas.ts +356 -0
  210. package/src/{og/utils/GeoImageCreator.js → utils/GeoImageCreator.ts} +45 -29
  211. package/src/{og/utils/ImagesCacheManager.js → utils/ImagesCacheManager.ts} +85 -70
  212. package/src/utils/Loader.ts +247 -0
  213. package/src/{og/utils/NormalMapCreator.js → utils/NormalMapCreator.ts} +114 -77
  214. package/src/{og/utils/PlainSegmentWorker.js → utils/PlainSegmentWorker.ts} +41 -24
  215. package/src/{og/utils/TerrainWorker.js → utils/TerrainWorker.ts} +51 -36
  216. package/src/utils/TextureAtlas.ts +322 -0
  217. package/src/{og/utils/VectorTileCreator.js → utils/VectorTileCreator.ts} +67 -52
  218. package/src/{og/utils/colorTable.js → utils/colorTable.ts} +142 -144
  219. package/src/{og/utils/earcut.js → utils/earcut.ts} +664 -661
  220. package/src/{og/utils/objParser.js → utils/objParser.ts} +66 -37
  221. package/src/{og/utils/shared.js → utils/shared.ts} +267 -206
  222. package/src/utils/units.ts +78 -0
  223. package/src/webgl/BaseFramebuffer.ts +125 -0
  224. package/src/webgl/Framebuffer.ts +206 -0
  225. package/src/webgl/Handler.ts +1414 -0
  226. package/src/webgl/Multisample.ts +153 -0
  227. package/src/webgl/Program.ts +451 -0
  228. package/src/{og/webgl/ProgramController.js → webgl/ProgramController.ts} +44 -43
  229. package/src/webgl/index.ts +13 -0
  230. package/src/{og/webgl/types.js → webgl/types.ts} +29 -31
  231. package/src/webgl/variableHandlers.ts +114 -0
  232. package/src/og/Deferred.js +0 -11
  233. package/src/og/Events.js +0 -185
  234. package/src/og/Globe.js +0 -342
  235. package/src/og/Lock.js +0 -44
  236. package/src/og/Popup.js +0 -187
  237. package/src/og/Stack.js +0 -49
  238. package/src/og/bv/index.js +0 -4
  239. package/src/og/camera/index.js +0 -4
  240. package/src/og/control/EarthCoordinates.js +0 -214
  241. package/src/og/control/EarthNavigation.js +0 -258
  242. package/src/og/control/KeyboardNavigation.js +0 -149
  243. package/src/og/control/LayerSwitcher.js +0 -424
  244. package/src/og/control/MouseNavigation.js +0 -436
  245. package/src/og/control/MouseWheelZoomControl.js +0 -253
  246. package/src/og/control/ScaleControl.js +0 -119
  247. package/src/og/control/SegmentBoundVisualization.js +0 -54
  248. package/src/og/control/ShowFps.js +0 -40
  249. package/src/og/control/SimpleNavigation.js +0 -123
  250. package/src/og/control/ToggleWireframe.js +0 -35
  251. package/src/og/control/TouchNavigation.js +0 -350
  252. package/src/og/control/ZoomControl.js +0 -115
  253. package/src/og/control/drawing/DrawingControl.js +0 -51
  254. package/src/og/control/heightRuler/HeightRuler.js +0 -12
  255. package/src/og/control/index.js +0 -56
  256. package/src/og/control/ruler/Ruler.js +0 -39
  257. package/src/og/ellipsoid/index.js +0 -4
  258. package/src/og/entity/BillboardHandler.js +0 -883
  259. package/src/og/entity/Geometry.js +0 -320
  260. package/src/og/entity/PointCloudHandler.js +0 -122
  261. package/src/og/entity/index.js +0 -9
  262. package/src/og/index.js +0 -112
  263. package/src/og/input/KeyboardHandler.js +0 -128
  264. package/src/og/input/TouchHandler.js +0 -59
  265. package/src/og/layer/GeoTexture2d.js +0 -50
  266. package/src/og/layer/index.js +0 -11
  267. package/src/og/math/index.js +0 -23
  268. package/src/og/quadTree/EntityCollectionNode.js +0 -391
  269. package/src/og/quadTree/Wgs84QuadTreeStrategy.js +0 -27
  270. package/src/og/quadTree/index.js +0 -14
  271. package/src/og/res/images.js +0 -8
  272. package/src/og/scene/index.js +0 -5
  273. package/src/og/terrain/EmptyTerrain.js +0 -174
  274. package/src/og/terrain/index.js +0 -6
  275. package/src/og/ui/Button.js +0 -107
  276. package/src/og/ui/ButtonGroup.js +0 -57
  277. package/src/og/ui/Dialog.js +0 -239
  278. package/src/og/ui/Slider.js +0 -170
  279. package/src/og/ui/ToggleButton.js +0 -51
  280. package/src/og/ui/UIhelpers.js +0 -155
  281. package/src/og/utils/BaseWorker.js +0 -46
  282. package/src/og/utils/FontAtlas.js +0 -218
  283. package/src/og/utils/Loader.js +0 -188
  284. package/src/og/utils/TextureAtlas.js +0 -291
  285. package/src/og/utils/functionComposition.js +0 -13
  286. package/src/og/utils/units.js +0 -78
  287. package/src/og/webgl/Framebuffer.js +0 -311
  288. package/src/og/webgl/Handler.js +0 -1168
  289. package/src/og/webgl/Multisample.js +0 -275
  290. package/src/og/webgl/Program.js +0 -407
  291. package/src/og/webgl/callbacks.js +0 -98
  292. package/src/og/webgl/index.js +0 -13
  293. package/src/og.jsdoc +0 -3
  294. package/types/Clock.d.ts +0 -99
  295. package/types/Deferred.d.ts +0 -6
  296. package/types/Events.d.ts +0 -78
  297. package/types/Extent.d.ts +0 -166
  298. package/types/Globe.d.ts +0 -108
  299. package/types/ImageCanvas.d.ts +0 -128
  300. package/types/Lock.d.ts +0 -12
  301. package/types/LonLat.d.ts +0 -127
  302. package/types/Object3d.d.ts +0 -35
  303. package/types/Popup.d.ts +0 -29
  304. package/types/QueueArray.d.ts +0 -19
  305. package/types/Rectangle.d.ts +0 -80
  306. package/types/Stack.d.ts +0 -19
  307. package/types/arial.d.ts +0 -49
  308. package/types/astro/astro.d.ts +0 -38
  309. package/types/astro/earth.d.ts +0 -7
  310. package/types/astro/jd.d.ts +0 -254
  311. package/types/bv/Box.d.ts +0 -30
  312. package/types/bv/Sphere.d.ts +0 -38
  313. package/types/bv/index.d.ts +0 -3
  314. package/types/camera/Camera.d.ts +0 -314
  315. package/types/camera/Frustum.d.ts +0 -133
  316. package/types/camera/PlanetCamera.d.ts +0 -219
  317. package/types/camera/index.d.ts +0 -3
  318. package/types/cons.d.ts +0 -40
  319. package/types/control/Atmosphere.d.ts +0 -15
  320. package/types/control/CompassButton.d.ts +0 -16
  321. package/types/control/Control.d.ts +0 -104
  322. package/types/control/DebugInfo.d.ts +0 -19
  323. package/types/control/DrawingSwitcher.d.ts +0 -13
  324. package/types/control/EarthCoordinates.d.ts +0 -44
  325. package/types/control/EarthNavigation.d.ts +0 -43
  326. package/types/control/GeoImageDragControl.d.ts +0 -14
  327. package/types/control/KeyboardNavigation.d.ts +0 -24
  328. package/types/control/LayerAnimation.d.ts +0 -73
  329. package/types/control/LayerSwitcher.d.ts +0 -64
  330. package/types/control/Lighting.d.ts +0 -41
  331. package/types/control/MouseNavigation.d.ts +0 -49
  332. package/types/control/MouseWheelZoomControl.d.ts +0 -46
  333. package/types/control/ScaleControl.d.ts +0 -23
  334. package/types/control/ShowFps.d.ts +0 -11
  335. package/types/control/SimpleNavigation.d.ts +0 -26
  336. package/types/control/SimpleSkyBackground.d.ts +0 -15
  337. package/types/control/Sun.d.ts +0 -53
  338. package/types/control/ToggleWireframe.d.ts +0 -12
  339. package/types/control/TouchNavigation.d.ts +0 -54
  340. package/types/control/ZoomControl.d.ts +0 -26
  341. package/types/control/drawing/DrawingControl.d.ts +0 -14
  342. package/types/control/drawing/LineStringDrawingScene.d.ts +0 -5
  343. package/types/control/drawing/PolygonDrawingScene.d.ts +0 -99
  344. package/types/control/heightRuler/HeightRuler.d.ts +0 -6
  345. package/types/control/heightRuler/HeightRulerScene.d.ts +0 -23
  346. package/types/control/index.d.ts +0 -27
  347. package/types/control/ruler/Ruler.d.ts +0 -13
  348. package/types/control/ruler/RulerScene.d.ts +0 -51
  349. package/types/control/selection/Selection.d.ts +0 -49
  350. package/types/control/selection/SelectionScene.d.ts +0 -32
  351. package/types/control/timeline/TimelineControl.d.ts +0 -10
  352. package/types/control/timeline/TimelineModel.d.ts +0 -33
  353. package/types/control/timeline/TimelineView.d.ts +0 -57
  354. package/types/control/timeline/timelineUtils.d.ts +0 -9
  355. package/types/ellipsoid/Ellipsoid.d.ts +0 -170
  356. package/types/ellipsoid/index.d.ts +0 -3
  357. package/types/ellipsoid/wgs84.d.ts +0 -6
  358. package/types/entity/BaseBillboard.d.ts +0 -215
  359. package/types/entity/Billboard.d.ts +0 -94
  360. package/types/entity/BillboardHandler.d.ts +0 -75
  361. package/types/entity/Entity.d.ts +0 -340
  362. package/types/entity/EntityCollection.d.ts +0 -303
  363. package/types/entity/GeoObject.d.ts +0 -117
  364. package/types/entity/GeoObjectHandler.d.ts +0 -41
  365. package/types/entity/Geometry.d.ts +0 -79
  366. package/types/entity/GeometryHandler.d.ts +0 -76
  367. package/types/entity/Label.d.ts +0 -190
  368. package/types/entity/LabelHandler.d.ts +0 -31
  369. package/types/entity/LabelWorker.d.ts +0 -9
  370. package/types/entity/PointCloud.d.ts +0 -174
  371. package/types/entity/PointCloudHandler.d.ts +0 -38
  372. package/types/entity/Polyline.d.ts +0 -307
  373. package/types/entity/PolylineHandler.d.ts +0 -18
  374. package/types/entity/Ray.d.ts +0 -122
  375. package/types/entity/RayHandler.d.ts +0 -63
  376. package/types/entity/Strip.d.ts +0 -119
  377. package/types/entity/StripHandler.d.ts +0 -38
  378. package/types/entity/index.d.ts +0 -8
  379. package/types/index.d.ts +0 -53
  380. package/types/input/KeyboardHandler.d.ts +0 -10
  381. package/types/input/MouseHandler.d.ts +0 -5
  382. package/types/input/TouchHandler.d.ts +0 -5
  383. package/types/input/input.d.ts +0 -42
  384. package/types/layer/BaseGeoImage.d.ts +0 -116
  385. package/types/layer/CanvasTiles.d.ts +0 -73
  386. package/types/layer/GeoImage.d.ts +0 -51
  387. package/types/layer/GeoTexture2d.d.ts +0 -7
  388. package/types/layer/GeoVideo.d.ts +0 -47
  389. package/types/layer/KML.d.ts +0 -93
  390. package/types/layer/Layer.d.ts +0 -320
  391. package/types/layer/Material.d.ts +0 -45
  392. package/types/layer/Vector.d.ts +0 -211
  393. package/types/layer/WMS.d.ts +0 -66
  394. package/types/layer/XYZ.d.ts +0 -122
  395. package/types/layer/index.d.ts +0 -10
  396. package/types/light/LightSource.d.ts +0 -178
  397. package/types/math/Line2.d.ts +0 -11
  398. package/types/math/Line3.d.ts +0 -10
  399. package/types/math/Mat3.d.ts +0 -65
  400. package/types/math/Mat4.d.ts +0 -176
  401. package/types/math/Plane.d.ts +0 -18
  402. package/types/math/Quat.d.ts +0 -379
  403. package/types/math/Ray.d.ts +0 -82
  404. package/types/math/Vec2.d.ts +0 -309
  405. package/types/math/Vec3.d.ts +0 -472
  406. package/types/math/Vec4.d.ts +0 -161
  407. package/types/math/coder.d.ts +0 -43
  408. package/types/math/index.d.ts +0 -11
  409. package/types/math.d.ts +0 -268
  410. package/types/mercator.d.ts +0 -92
  411. package/types/proj/EPSG3857.d.ts +0 -6
  412. package/types/proj/EPSG4326.d.ts +0 -6
  413. package/types/proj/Proj.d.ts +0 -42
  414. package/types/quadTree/EPSG4326QuadTreeStrategy.d.ts +0 -3
  415. package/types/quadTree/EarthQuadTreeStrategy.d.ts +0 -3
  416. package/types/quadTree/EntityCollectionNode.d.ts +0 -41
  417. package/types/quadTree/MarsQuadTreeStrategy.d.ts +0 -3
  418. package/types/quadTree/Node.d.ts +0 -58
  419. package/types/quadTree/QuadTreeStrategy.d.ts +0 -21
  420. package/types/quadTree/Wgs84QuadTreeStrategy.d.ts +0 -3
  421. package/types/quadTree/index.d.ts +0 -12
  422. package/types/quadTree/quadTree.d.ts +0 -40
  423. package/types/renderer/Renderer.d.ts +0 -291
  424. package/types/renderer/RendererEvents.d.ts +0 -255
  425. package/types/res/images.d.ts +0 -2
  426. package/types/scene/Axes.d.ts +0 -10
  427. package/types/scene/BaseNode.d.ts +0 -60
  428. package/types/scene/Planet.d.ts +0 -595
  429. package/types/scene/RenderNode.d.ts +0 -152
  430. package/types/scene/SkyBox.d.ts +0 -9
  431. package/types/scene/index.d.ts +0 -4
  432. package/types/segment/Segment.d.ts +0 -273
  433. package/types/segment/SegmentLonLat.d.ts +0 -22
  434. package/types/segment/SegmentLonLatWgs84.d.ts +0 -4
  435. package/types/segment/Slice.d.ts +0 -10
  436. package/types/segment/segmentHelper.d.ts +0 -13
  437. package/types/shaders/atmos.d.ts +0 -4
  438. package/types/shaders/billboard.d.ts +0 -3
  439. package/types/shaders/depth.d.ts +0 -2
  440. package/types/shaders/drawnode.d.ts +0 -8
  441. package/types/shaders/geoObject.d.ts +0 -3
  442. package/types/shaders/label.d.ts +0 -4
  443. package/types/shaders/pickingMask.d.ts +0 -2
  444. package/types/shaders/pointCloud.d.ts +0 -2
  445. package/types/shaders/polyline.d.ts +0 -3
  446. package/types/shaders/ray.d.ts +0 -2
  447. package/types/shaders/screenFrame.d.ts +0 -2
  448. package/types/shaders/skybox.d.ts +0 -2
  449. package/types/shaders/toneMapping.d.ts +0 -2
  450. package/types/shaders/utils.d.ts +0 -1
  451. package/types/terrain/BilTerrain.d.ts +0 -14
  452. package/types/terrain/EmptyTerrain.d.ts +0 -87
  453. package/types/terrain/Geoid.d.ts +0 -17
  454. package/types/terrain/GlobusTerrain.d.ts +0 -122
  455. package/types/terrain/MapboxTerrain.d.ts +0 -14
  456. package/types/terrain/index.d.ts +0 -5
  457. package/types/ui/Button.d.ts +0 -21
  458. package/types/ui/ButtonGroup.d.ts +0 -12
  459. package/types/ui/Dialog.d.ts +0 -41
  460. package/types/ui/Slider.d.ts +0 -33
  461. package/types/ui/ToggleButton.d.ts +0 -10
  462. package/types/ui/UIhelpers.d.ts +0 -13
  463. package/types/ui/View.d.ts +0 -33
  464. package/types/ui/icons.d.ts +0 -1
  465. package/types/utils/BaseWorker.d.ts +0 -14
  466. package/types/utils/FontAtlas.d.ts +0 -16
  467. package/types/utils/GeoImageCreator.d.ts +0 -30
  468. package/types/utils/ImagesCacheManager.d.ts +0 -10
  469. package/types/utils/Loader.d.ts +0 -31
  470. package/types/utils/NormalMapCreator.d.ts +0 -39
  471. package/types/utils/PlainSegmentWorker.d.ts +0 -8
  472. package/types/utils/TerrainWorker.d.ts +0 -7
  473. package/types/utils/TextureAtlas.d.ts +0 -113
  474. package/types/utils/VectorTileCreator.d.ts +0 -14
  475. package/types/utils/colorTable.d.ts +0 -143
  476. package/types/utils/earcut.d.ts +0 -6
  477. package/types/utils/functionComposition.d.ts +0 -5
  478. package/types/utils/objParser.d.ts +0 -8
  479. package/types/utils/shared.d.ts +0 -241
  480. package/types/utils/units.d.ts +0 -20
  481. package/types/webgl/Framebuffer.d.ts +0 -134
  482. package/types/webgl/Handler.d.ts +0 -403
  483. package/types/webgl/Multisample.d.ts +0 -91
  484. package/types/webgl/Program.d.ts +0 -163
  485. package/types/webgl/ProgramController.d.ts +0 -89
  486. package/types/webgl/callbacks.d.ts +0 -1
  487. package/types/webgl/index.d.ts +0 -6
  488. package/types/webgl/types.d.ts +0 -2
  489. /package/{src/og → dist/@openglobus/res/fonts}/arial.js +0 -0
  490. /package/src/{og/ui/icons.js → ui/icons.ts} +0 -0
@@ -1,236 +1,244 @@
1
- "use strict";
2
-
3
- /**
4
- * Usefull class for working with JS canvas object.
5
- * @class
6
- */
7
- class ImageCanvas {
8
- /**
9
- * @param {number} [width] - Canvas width. Default 256.
10
- * @param {number} [height] - Canvas height. Default 256.
11
- */
12
- constructor(width = 256, height = 256) {
13
- /**
14
- * Canvas object.
15
- * @protected
16
- * @type {Object}
17
- */
18
- this._canvas = document.createElement("canvas");
19
- this._canvas.width = width;
20
- this._canvas.height = height;
21
-
22
- /**
23
- * Canvas context.
24
- * @protected
25
- * @type {Object}
26
- */
27
- this._context = this._canvas.getContext("2d", {
28
- willReadFrequently: true
29
- });
30
- }
31
-
32
- /**
33
- * Returns canvas object.
34
- * @public
35
- * @returns {Object}
36
- */
37
- getCanvas() {
38
- return this._canvas;
39
- }
40
-
41
- /**
42
- * Returns canvas context pointer.
43
- * @public
44
- * @returns {Object}
45
- */
46
- getContext() {
47
- return this._context;
48
- }
49
-
50
- /**
51
- * Fills canvas RGBA with zeroes.
52
- * @public
53
- */
54
- fillEmpty() {
55
- var imgd = this._context.getImageData(0, 0, this._canvas.width, this._canvas.height);
56
- var pixels = imgd.data;
57
- for (let i = 0, n = pixels.length; i < n; i += 4) {
58
- pixels[i] = pixels[i + 1] = pixels[i + 2] = pixels[i + 3] = 0;
59
- }
60
- this._context.putImageData(imgd, 0, 0);
61
- }
62
-
63
- /**
64
- * Fills canvas RGBA with color.
65
- * @public
66
- */
67
- fill(color) {
68
- this._context.fillStyle = color
69
- this._context.fill()
70
- }
71
-
72
- /**
73
- * Gets canvas pixels RGBA data.
74
- * @public
75
- * @returns {Array.<number>}
76
- */
77
- getData() {
78
- var imgd = this._context.getImageData(0, 0, this._canvas.width, this._canvas.height);
79
- return imgd.data;
80
- }
81
-
82
- /**
83
- * Fill the canvas by color.
84
- * @public
85
- * @param {string} color - CSS string color.
86
- */
87
- fillColor(color) {
88
- this._context.fillStyle = color;
89
- this._context.fillRect(0, 0, this._canvas.width, this._canvas.height);
90
- }
91
-
92
- /**
93
- * Sets RGBA pixel data.
94
- * @public
95
- * @param {Array.<number>} data - Array RGBA data.
96
- */
97
- setData(data) {
98
- var imageData = this._context.createImageData(this._canvas.width, this._canvas.height);
99
- imageData.data.set(data);
100
- this._context.putImageData(imageData, 0, 0);
101
- }
102
-
103
- /**
104
- * Resize canvas.
105
- * @public
106
- * @param {number} width - Width.
107
- * @param {number} height - Height.
108
- */
109
- resize(width, height) {
110
- this._canvas.width = width;
111
- this._canvas.height = height;
112
- this._context = this._canvas.getContext("2d");
113
- }
114
-
115
- /**
116
- * Draw an image on the canvas.
117
- * @public
118
- * @param {Image} img - Draw image.
119
- * @param {number} [x] - Left top image corner X coordinate on the canvas.
120
- * @param {number} [y] - Left top image corner Y coordinate on the canvas.
121
- * @param {number} [width] - Image width slice. Image width is default.
122
- * @param {number} [height] - Image height slice. Image height is default.
123
- */
124
- drawImage(img, x, y, width, height) {
125
- this._context = this._canvas.getContext("2d");
126
- this._context.drawImage(img, x || 0, y || 0, width || img.width, height || img.height);
127
- }
128
-
129
- /**
130
- * Converts canvas to JS image object.
131
- * @public
132
- * @returns {Image}
133
- */
134
- getImage() {
135
- var img = new Image();
136
- img.width = this.getWidth();
137
- img.height = this.getHeight();
138
- img.src = this._canvas.toDataURL("image/png");
139
- return img;
140
- }
141
-
142
- /**
143
- * Get measured text width.
144
- * @public
145
- * @param {string} text - Measured text.
146
- * @returns {number}
147
- */
148
- getTextWidth(text) {
149
- var metrics = this._context.measureText(text);
150
- return Math.round(metrics.width);
151
- }
152
-
153
- /**
154
- * Draw a text on the canvas.
155
- * @public
156
- * @param {string} text - Text.
157
- * @param {number} [x] - Canvas X - coordinate. 0 - default.
158
- * @param {number} [y] - Canvas Y - coordinate. 0 - default.
159
- * @param {string} [font] - Font style. 'normal 14px Verdana' - is default.
160
- * @param {string} [color] - Css font color.
161
- */
162
- drawText(text, x, y, font, color) {
163
- this._context.fillStyle = color || "black";
164
- this._context.font = font || "normal 14px Verdana";
165
- this._context.fillText(text, x || 0, y || 14);
166
- }
167
-
168
- /**
169
- * Gets canvas width.
170
- * @public
171
- * @returns {number}
172
- */
173
- getWidth() {
174
- return this._canvas.width;
175
- }
176
-
177
- /**
178
- * Gets canvas height.
179
- * @public
180
- * @returns {number}
181
- */
182
- getHeight() {
183
- return this._canvas.height;
184
- }
185
-
186
- /**
187
- * Load image to canvas.
188
- * @public
189
- * @param {string} url - Image url.
190
- * @pararm {imageCallback} [callback] - Image onload callback.
191
- */
192
- load(url, callback) {
193
- var img = new Image();
194
- var that = this;
195
- img.onload = function () {
196
- that.resize(img.width, img.height);
197
- that._context.drawImage(img, 0, 0, img.width, img.height);
198
- callback && callback(img);
199
- };
200
- img.src = url;
201
- }
202
-
203
- /**
204
- * Open canvas image in the new window.
205
- * @public
206
- */
207
- openImage() {
208
- var img = this.getImage();
209
- var dataUrl = img.src;
210
- var windowContent = "<!DOCTYPE html>";
211
- windowContent += "<html>";
212
- windowContent += "<head><title>Print</title></head>";
213
- windowContent += "<body>";
214
- windowContent += '<img src="' + dataUrl + '">';
215
- windowContent += "</body>";
216
- windowContent += "</html>";
217
- var printWin = window.open(
218
- "",
219
- "",
220
- "width=" + img.width + "px ,height=" + img.height + "px"
221
- );
222
- printWin.document.open();
223
- printWin.document.write(windowContent);
224
- printWin.document.close();
225
- printWin.focus();
226
- }
227
-
228
- destroy() {
229
- this._canvas.width = 1;
230
- this._canvas.height = 1;
231
- this._canvas = null;
232
- this._context = null;
233
- }
234
- }
235
-
236
- export { ImageCanvas };
1
+ /**
2
+ * Usefull class for working with JS canvas object.
3
+ * @class
4
+ * @param {number} [width] - Canvas width. Default 256.
5
+ * @param {number} [height] - Canvas height. Default 256.
6
+ */
7
+ class ImageCanvas {
8
+
9
+ /**
10
+ * Canvas object.
11
+ * @protected
12
+ * @type {HTMLCanvasElement}
13
+ */
14
+ protected _canvas: HTMLCanvasElement;
15
+
16
+ /**
17
+ * Canvas context.
18
+ * @protected
19
+ * @type {CanvasRenderingContext2D}
20
+ */
21
+ protected _context: CanvasRenderingContext2D;
22
+
23
+ constructor(width: number = 256, height: number = 256) {
24
+ this._canvas = document.createElement("canvas");
25
+ this._canvas.width = width;
26
+ this._canvas.height = height;
27
+
28
+ this._context = this._canvas.getContext("2d", {
29
+ willReadFrequently: true
30
+ })!;
31
+ }
32
+
33
+ /**
34
+ * Returns canvas object.
35
+ * @public
36
+ * @returns {HTMLCanvasElement}
37
+ */
38
+ public getCanvas(): HTMLCanvasElement {
39
+ return this._canvas;
40
+ }
41
+
42
+ /**
43
+ * Returns canvas context pointer.
44
+ * @public
45
+ * @returns {CanvasRenderingContext2D}
46
+ */
47
+ public getContext(): CanvasRenderingContext2D {
48
+ return this._context;
49
+ }
50
+
51
+ /**
52
+ * Fills canvas RGBA with zeroes.
53
+ * @public
54
+ */
55
+ public fillEmpty() {
56
+ let imgd = this._context.getImageData(0, 0, this._canvas.width, this._canvas.height);
57
+ let pixels = imgd.data;
58
+ for (let i = 0, n = pixels.length; i < n; i += 4) {
59
+ pixels[i] = pixels[i + 1] = pixels[i + 2] = pixels[i + 3] = 0;
60
+ }
61
+ this._context.putImageData(imgd, 0, 0);
62
+ }
63
+
64
+ /**
65
+ * Fills canvas RGBA with color.
66
+ * @public
67
+ * @param {string} color - CSS string color.
68
+ */
69
+ public fill(color: string) {
70
+ this._context.fillStyle = color
71
+ this._context.fill()
72
+ }
73
+
74
+ /**
75
+ * Gets canvas pixels RGBA data.
76
+ * @public
77
+ * @returns {Uint8ClampedArray}
78
+ */
79
+ public getData(): Uint8ClampedArray {
80
+ let imgd = this._context.getImageData(0, 0, this._canvas.width, this._canvas.height);
81
+ return imgd.data;
82
+ }
83
+
84
+ /**
85
+ * Fill the canvas by color.
86
+ * @public
87
+ * @param {string} color - CSS string color.
88
+ */
89
+ public fillColor(color: string) {
90
+ this._context.fillStyle = color;
91
+ this._context.fillRect(0, 0, this._canvas.width, this._canvas.height);
92
+ }
93
+
94
+ /**
95
+ * Sets RGBA pixel data.
96
+ * @public
97
+ * @param {Array.<number>} data - Array RGBA data.
98
+ */
99
+ public setData(data: ArrayLike<number>) {
100
+ let imageData = this._context.createImageData(this._canvas.width, this._canvas.height);
101
+ imageData.data.set(data);
102
+ this._context.putImageData(imageData, 0, 0);
103
+ }
104
+
105
+ /**
106
+ * Resize canvas.
107
+ * @public
108
+ * @param {number} width - Width.
109
+ * @param {number} height - Height.
110
+ */
111
+ public resize(width: number, height: number) {
112
+ this._canvas.width = width;
113
+ this._canvas.height = height;
114
+ this._context = this._canvas.getContext("2d") as CanvasRenderingContext2D;
115
+ }
116
+
117
+ /**
118
+ * Draw an image on the canvas.
119
+ * @public
120
+ * @param {Image} img - Draw image.
121
+ * @param {number} [x] - Left top image corner X coordinate on the canvas.
122
+ * @param {number} [y] - Left top image corner Y coordinate on the canvas.
123
+ * @param {number} [width] - Image width slice. Image width is default.
124
+ * @param {number} [height] - Image height slice. Image height is default.
125
+ */
126
+ public drawImage(img: HTMLImageElement, x: number, y: number, width: number, height: number) {
127
+ this._context.drawImage(img, x || 0, y || 0, width || img.width, height || img.height);
128
+ }
129
+
130
+ /**
131
+ * Converts canvas to JS image object.
132
+ * @public
133
+ * @returns {Image}
134
+ */
135
+ public getImage(): HTMLImageElement {
136
+ let img = new Image();
137
+ img.width = this.getWidth();
138
+ img.height = this.getHeight();
139
+ img.src = this._canvas.toDataURL("image/png");
140
+ return img;
141
+ }
142
+
143
+ /**
144
+ * Get measured text width.
145
+ * @public
146
+ * @param {string} text - Measured text.
147
+ * @returns {number}
148
+ */
149
+ public getTextWidth(text: string): number {
150
+ let metrics = this._context.measureText(text);
151
+ return Math.round(metrics.width);
152
+ }
153
+
154
+ /**
155
+ * Draw a text on the canvas.
156
+ * @public
157
+ * @param {string} text - Text.
158
+ * @param {number} [x] - Canvas X - coordinate. 0 - default.
159
+ * @param {number} [y] - Canvas Y - coordinate. 0 - default.
160
+ * @param {string} [font] - Font style. 'normal 14px Verdana' - is default.
161
+ * @param {string} [color] - Css font color.
162
+ */
163
+ public drawText(text: string, x: number = 0, y: number = 14, font: string = "normal 14px Verdana", color: string = "black") {
164
+ this._context.fillStyle = color;
165
+ this._context.font = font;
166
+ this._context.fillText(text, x, y);
167
+ }
168
+
169
+ /**
170
+ * Gets canvas width.
171
+ * @public
172
+ * @returns {number}
173
+ */
174
+ public getWidth(): number {
175
+ return this._canvas.width;
176
+ }
177
+
178
+ /**
179
+ * Gets canvas height.
180
+ * @public
181
+ * @returns {number}
182
+ */
183
+ public getHeight(): number {
184
+ return this._canvas.height;
185
+ }
186
+
187
+ /**
188
+ * Load image to canvas.
189
+ * @public
190
+ * @param {string} url - Image url.
191
+ * @param {Function} [callback] - Image onload callback.
192
+ */
193
+ public load(url: string, callback: Function) {
194
+ let img = new Image();
195
+ let that = this;
196
+ img.onload = function () {
197
+ that.resize(img.width, img.height);
198
+ that._context.drawImage(img, 0, 0, img.width, img.height);
199
+ callback && callback(img);
200
+ };
201
+ img.src = url;
202
+ }
203
+
204
+ /**
205
+ * Open canvas image in the new window.
206
+ * @public
207
+ */
208
+ public openImage() {
209
+ let img = this.getImage();
210
+ let dataUrl = img.src;
211
+
212
+ let windowContent = "<!DOCTYPE html>";
213
+ windowContent += "<html>";
214
+ windowContent += "<head><title>Print</title></head>";
215
+ windowContent += "<body>";
216
+ windowContent += '<img src="' + dataUrl + '">';
217
+ windowContent += "</body>";
218
+ windowContent += "</html>";
219
+
220
+ let printWin = window.open(
221
+ "",
222
+ "",
223
+ "width=" + img.width + "px ,height=" + img.height + "px"
224
+ );
225
+
226
+ if (printWin) {
227
+ printWin.document.open();
228
+ printWin.document.write(windowContent);
229
+ printWin.document.close();
230
+ printWin.focus();
231
+ }
232
+ }
233
+
234
+ public destroy() {
235
+ this._canvas.width = 1;
236
+ this._canvas.height = 1;
237
+ //@ts-ignore
238
+ this._canvas = null;
239
+ //@ts-ignore
240
+ this._context = null;
241
+ }
242
+ }
243
+
244
+ export {ImageCanvas};
package/src/Lock.ts ADDED
@@ -0,0 +1,41 @@
1
+ class Lock {
2
+
3
+ protected _lock: number;
4
+
5
+ constructor() {
6
+ this._lock = 0;
7
+ }
8
+
9
+ public lock(key: Key) {
10
+ this._lock |= (1 << key.id);
11
+ }
12
+
13
+ public free(key: Key) {
14
+ this._lock &= ~(1 << key.id);
15
+ }
16
+
17
+ public isFree(): boolean {
18
+ return this._lock === 0;
19
+ }
20
+
21
+ public isLocked(): boolean {
22
+ return this._lock !== 0;
23
+ }
24
+ }
25
+
26
+ class Key {
27
+
28
+ static __counter__: number = 0;
29
+
30
+ protected __id: number;
31
+
32
+ constructor() {
33
+ this.__id = Key.__counter__++;
34
+ }
35
+
36
+ public get id(): number {
37
+ return this.__id;
38
+ }
39
+ }
40
+
41
+ export {Lock, Key};