figureone 1.0.2 → 1.0.4

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.
package/index.js CHANGED
@@ -7878,6 +7878,9 @@ var GLObject = /*#__PURE__*/function (_DrawingObject) {
7878
7878
  } else {
7879
7879
  locations = webglInstance.useProgram(this.programIndex);
7880
7880
  }
7881
+ if (!locations) {
7882
+ return;
7883
+ }
7881
7884
  gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, 1);
7882
7885
  gl.blendFunc(gl.ONE, gl.ONE_MINUS_SRC_ALPHA);
7883
7886
  // gl.enable(gl.CULL_FACE);
@@ -34277,6 +34280,7 @@ var Figure = /*#__PURE__*/function () {
34277
34280
  this.lostContextMessage.style.display = 'table';
34278
34281
  this.elements.contextLost();
34279
34282
  this.webglLow.contextLost();
34283
+ this.notifications.publish('contextLost');
34280
34284
  }
34281
34285
  }, {
34282
34286
  key: "contextRestored",
@@ -34287,6 +34291,7 @@ var Figure = /*#__PURE__*/function () {
34287
34291
  this.webglLow.recreateAtlases();
34288
34292
  this.init(this.webglLow);
34289
34293
  this.lostContextMessage.style.display = 'none';
34294
+ this.notifications.publish('contextRestored');
34290
34295
  (0,_tools_tools__WEBPACK_IMPORTED_MODULE_7__.Console)('FigureOne context restored!');
34291
34296
  }
34292
34297
  }, {
@@ -35018,6 +35023,9 @@ var Figure = /*#__PURE__*/function () {
35018
35023
  }
35019
35024
  }
35020
35025
  e.click(glPoint);
35026
+ if (e.figure == null) {
35027
+ return;
35028
+ }
35021
35029
  this.beingTouchedElement = e;
35022
35030
  if (e.isMovable) {
35023
35031
  this.beingMovedElement = e;
@@ -35136,7 +35144,7 @@ var Figure = /*#__PURE__*/function () {
35136
35144
  } else {
35137
35145
  elementToMove = this.beingMovedElement.move.element;
35138
35146
  }
35139
- if (elementToMove != null && elementToMove.state.isBeingMoved) {
35147
+ if (elementToMove != null && elementToMove.figure != null && elementToMove.state.isBeingMoved) {
35140
35148
  elementToMove.stopBeingMoved();
35141
35149
  elementToMove.startMovingFreely();
35142
35150
  }
@@ -35379,6 +35387,10 @@ var Figure = /*#__PURE__*/function () {
35379
35387
  } else {
35380
35388
  elementToMove = element.move.element;
35381
35389
  }
35390
+ if (elementToMove == null || elementToMove.figure == null) {
35391
+ this.beingMovedElement = null;
35392
+ return false;
35393
+ }
35382
35394
  if (elementToMove.state.isBeingMoved === false) {
35383
35395
  elementToMove.startBeingMoved();
35384
35396
  }
@@ -64109,6 +64121,9 @@ function createProgram(gl, vertexShader, fragmentShader) {
64109
64121
  }
64110
64122
  function createShader(gl, type, source) {
64111
64123
  var shader = gl.createShader(type);
64124
+ if (!shader) {
64125
+ return null;
64126
+ }
64112
64127
  gl.shaderSource(shader, source);
64113
64128
  gl.compileShader(shader);
64114
64129
  var success = gl.getShaderParameter(shader, gl.COMPILE_STATUS);
@@ -64455,6 +64470,9 @@ var WebGLInstance = /*#__PURE__*/function () {
64455
64470
  }
64456
64471
  }
64457
64472
  var newProgram = createProgramFromScripts(this.gl, shaders.vertexSource, shaders.fragmentSource);
64473
+ if (!newProgram) {
64474
+ return -1;
64475
+ }
64458
64476
  var programDetails = {
64459
64477
  vertexShader: {
64460
64478
  src: shaders.vertexSource,
@@ -64478,6 +64496,9 @@ var WebGLInstance = /*#__PURE__*/function () {
64478
64496
  key: "useProgram",
64479
64497
  value: function useProgram(programIndex) {
64480
64498
  var program = this.programs[programIndex];
64499
+ if (!program) {
64500
+ return null;
64501
+ }
64481
64502
  if (this.lastUsedProgram !== program.program) {
64482
64503
  this.gl.useProgram(program.program);
64483
64504
  this.lastUsedProgram = program.program;
@@ -79073,8 +79094,8 @@ var tools = {
79073
79094
  */
79074
79095
 
79075
79096
  var Fig = {
79076
- version: "1.0.2",
79077
- gitHash: "896de3bb8",
79097
+ version: "1.0.4",
79098
+ gitHash: "c27ef9fac",
79078
79099
  tools: tools,
79079
79100
  Figure: _js_figure_Figure__WEBPACK_IMPORTED_MODULE_5__["default"],
79080
79101
  Recorder: _js_figure_Recorder_Recorder__WEBPACK_IMPORTED_MODULE_7__.Recorder,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "figureone",
3
- "version": "1.0.2",
3
+ "version": "1.0.4",
4
4
  "description": "Draw, animate and interact with shapes, text, plots and equations in Javascript. Create interactive slide shows, and interactive videos.",
5
5
  "main": "index.js",
6
6
  "types": "types/index.d.ts",
@@ -46,7 +46,7 @@ declare class WebGLInstance {
46
46
  onLoad(id: string): void;
47
47
  cancel(id: string): void;
48
48
  getProgram(vertexShader: TypeVertexShader, fragmentShader: TypeFragmentShader): number;
49
- useProgram(programIndex: number): Record<string, any>;
49
+ useProgram(programIndex: number): Record<string, any> | null;
50
50
  constructor(canvas: HTMLCanvasElement, backgroundColor: Array<number>);
51
51
  init(gl: WebGLRenderingContext): void;
52
52
  resize(): void;