From 55bc98a8b0e0cb7f19818b3ec16a3bb954a7a237 Mon Sep 17 00:00:00 2001 From: Jonas Jenwald Date: Thu, 30 Jul 2015 19:43:36 +0200 Subject: [PATCH] Rename `PatternType` to `ShadingType` to avoid confusion The current name is somewhat confusing, since the specification calls it `ShadingType`, see http://www.adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/PDF32000_2008.pdf#G7.4044105 and http://www.adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/PDF32000_2008.pdf#G7.3882826. The real problem, however, is that there is actually another property called `PatternType`, which makes the current code very confusing, see http://www.adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/PDF32000_2008.pdf#G7.1850929. Since `ShadingType` is only relevant for shading patterns (i.e. `PatternType === 2`), and *not* for tiling patterns (i.e `PatternType === 1`), this patch should help reduce confusion when reading the code. --- src/core/pattern.js | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/src/core/pattern.js b/src/core/pattern.js index d3123ccbd..6296f2cfe 100644 --- a/src/core/pattern.js +++ b/src/core/pattern.js @@ -20,7 +20,7 @@ 'use strict'; -var PatternType = { +var ShadingType = { FUNCTION_BASED: 1, AXIAL: 2, RADIAL: 3, @@ -52,17 +52,17 @@ var Pattern = (function PatternClosure() { try { switch (type) { - case PatternType.AXIAL: - case PatternType.RADIAL: + case ShadingType.AXIAL: + case ShadingType.RADIAL: // Both radial and axial shadings are handled by RadialAxial shading. return new Shadings.RadialAxial(dict, matrix, xref, res); - case PatternType.FREE_FORM_MESH: - case PatternType.LATTICE_FORM_MESH: - case PatternType.COONS_PATCH_MESH: - case PatternType.TENSOR_PATCH_MESH: + case ShadingType.FREE_FORM_MESH: + case ShadingType.LATTICE_FORM_MESH: + case ShadingType.COONS_PATCH_MESH: + case ShadingType.TENSOR_PATCH_MESH: return new Shadings.Mesh(shading, matrix, xref, res); default: - throw new Error('Unknown PatternType: ' + type); + throw new Error('Unsupported ShadingType: ' + type); } } catch (ex) { if (ex instanceof MissingDataException) { @@ -110,7 +110,7 @@ Shadings.RadialAxial = (function RadialAxialClosure() { extendEnd = extendArr[1]; } - if (this.shadingType === PatternType.RADIAL && + if (this.shadingType === ShadingType.RADIAL && (!extendStart || !extendEnd)) { // Radial gradient only currently works if either circle is fully within // the other circle. @@ -185,13 +185,13 @@ Shadings.RadialAxial = (function RadialAxialClosure() { var coordsArr = this.coordsArr; var shadingType = this.shadingType; var type, p0, p1, r0, r1; - if (shadingType === PatternType.AXIAL) { + if (shadingType === ShadingType.AXIAL) { p0 = [coordsArr[0], coordsArr[1]]; p1 = [coordsArr[2], coordsArr[3]]; r0 = null; r1 = null; type = 'axial'; - } else if (shadingType === PatternType.RADIAL) { + } else if (shadingType === ShadingType.RADIAL) { p0 = [coordsArr[0], coordsArr[1]]; p1 = [coordsArr[3], coordsArr[4]]; r0 = coordsArr[2]; @@ -732,19 +732,19 @@ Shadings.Mesh = (function MeshClosure() { var patchMesh = false; switch (this.shadingType) { - case PatternType.FREE_FORM_MESH: + case ShadingType.FREE_FORM_MESH: decodeType4Shading(this, reader); break; - case PatternType.LATTICE_FORM_MESH: + case ShadingType.LATTICE_FORM_MESH: var verticesPerRow = dict.get('VerticesPerRow') | 0; assert(verticesPerRow >= 2, 'Invalid VerticesPerRow'); decodeType5Shading(this, reader, verticesPerRow); break; - case PatternType.COONS_PATCH_MESH: + case ShadingType.COONS_PATCH_MESH: decodeType6Shading(this, reader); patchMesh = true; break; - case PatternType.TENSOR_PATCH_MESH: + case ShadingType.TENSOR_PATCH_MESH: decodeType7Shading(this, reader); patchMesh = true; break;