]> git.parisson.com Git - pdf.js.git/commitdiff
Manually hoist constant to avoid building it on each method invocation
authorChris Jones <jones.chris.g@gmail.com>
Thu, 5 May 2011 02:31:46 +0000 (21:31 -0500)
committerChris Jones <jones.chris.g@gmail.com>
Thu, 5 May 2011 02:31:46 +0000 (21:31 -0500)
pdf.js

diff --git a/pdf.js b/pdf.js
index a0172264b36bf5d48a7ab975dd7782778863598d..3f39f12256e1000423a7e48807b94593b95c13cf 100644 (file)
--- a/pdf.js
+++ b/pdf.js
@@ -653,6 +653,57 @@ var Interpreter = (function() {
     }
 
     const MAX_ARGS = 33;
+    const CMD_TABLE = {
+        // Graphics state
+        "w" : { fn: "setLineWidth",
+                params: [ "Num" ] },
+        "d" : { fn: "setDash",
+                params: [ "Array", "Num" ] },
+        "q" : { fn: "save",
+                params: [ ] },
+        "Q" : { fn: "restore",
+                params: [ ] },
+        // Path
+        "m" : { fn: "moveTo",
+                params: [ "Num", "Num" ] },
+        "l" : { fn: "lineTo",
+                params: [ "Num", "Num" ] },
+        "c" : { fn: "curveTo",
+                params: [ "Num", "Num", "Num", "Num", "Num", "Num" ] },
+        "re": { fn: "rectangle",
+                params: [ "Num", "Num", "Num", "Num" ] },
+        "S" : { fn: "stroke",
+                params: [ ] },
+        "B" : { fn: "fillStroke",
+                params: [ ] },
+        "b" : { fn: "closeFillStroke",
+                params: [ ] },
+        // Clipping
+        // Text
+        "BT": { fn: "beginText",
+                params: [ ] },
+        "ET": { fn: "endText", 
+                params: [ ] },
+        "Tf": { fn: "setFont",
+                params: [ "Name", "Num" ] },
+        "Td": { fn: "moveText",
+                params: [ "Num", "Num" ] },
+        "Tj": { fn: "showText",
+                params: [ "String" ] },
+        // Type3 fonts
+        // Color
+        "g" : { fn: "setFillGray",
+                params: [ "Num" ] },
+        "RG": { fn: "setStrokeRGBColor",
+                params: [ "Num", "Num", "Num" ] },
+        "rg": { fn: "setFillRGBColor",
+                params: [ "Num", "Num", "Num" ] },
+        // Shading
+        // Images
+        // XObjects
+        // Marked content
+        // Compatibility
+    };
 
     constructor.prototype = {
         interpret: function(obj) {
@@ -681,58 +732,6 @@ var Interpreter = (function() {
                                    args.map(function(o) o.lowerToJS()));
         },
         getAndCheckCmd: function(cmdObj, args) {
-            const CMD_TABLE = {
-                // Graphics state
-                "w" : { fn: "setLineWidth",
-                        params: [ "Num" ] },
-                "d" : { fn: "setDash",
-                        params: [ "Array", "Num" ] },
-                "q" : { fn: "save",
-                        params: [ ] },
-                "Q" : { fn: "restore",
-                        params: [ ] },
-                // Path
-                "m" : { fn: "moveTo",
-                        params: [ "Num", "Num" ] },
-                "l" : { fn: "lineTo",
-                        params: [ "Num", "Num" ] },
-                "c" : { fn: "curveTo",
-                        params: [ "Num", "Num", "Num", "Num", "Num", "Num" ] },
-                "re": { fn: "rectangle",
-                        params: [ "Num", "Num", "Num", "Num" ] },
-                "S" : { fn: "stroke",
-                        params: [ ] },
-                "B" : { fn: "fillStroke",
-                        params: [ ] },
-                "b" : { fn: "closeFillStroke",
-                        params: [ ] },
-                // Clipping
-                // Text
-                "BT": { fn: "beginText",
-                        params: [ ] },
-                "ET": { fn: "endText", 
-                        params: [ ] },
-                "Tf": { fn: "setFont",
-                        params: [ "Name", "Num" ] },
-                "Td": { fn: "moveText",
-                        params: [ "Num", "Num" ] },
-                "Tj": { fn: "showText",
-                        params: [ "String" ] },
-                // Type3 fonts
-                // Color
-                "g" : { fn: "setFillGray",
-                        params: [ "Num" ] },
-                "RG": { fn: "setStrokeRGBColor",
-                        params: [ "Num", "Num", "Num" ] },
-                "rg": { fn: "setFillRGBColor",
-                        params: [ "Num", "Num", "Num" ] },
-                // Shading
-                // Images
-                // XObjects
-                // Marked content
-                // Compatibility
-            };
-
             var cmdName = cmdObj.value
             var cmd = CMD_TABLE[cmdName];
             if (!cmd) {