[Pkg-javascript-commits] [pdf.js] 154/207: Combine re element into constructPath

David Prévot taffit at moszumanska.debian.org
Mon Jul 28 15:36:42 UTC 2014


This is an automated email from the git hooks/post-receive script.

taffit pushed a commit to branch master
in repository pdf.js.

commit 8407d28c9e3c7e9b5a7c77c9a48e27dc029c6150
Author: pramodhkp <prmdh1 at gmail.com>
Date:   Tue Jun 24 01:37:31 2014 +0530

    Combine re element into constructPath
---
 src/core/evaluator.js         |  3 +++
 src/display/canvas.js         | 36 +++++++++++++++++++++++-------------
 src/display/pattern_helper.js |  2 +-
 src/display/svg.js            | 37 ++++++++++++-------------------------
 4 files changed, 39 insertions(+), 39 deletions(-)

diff --git a/src/core/evaluator.js b/src/core/evaluator.js
index 29e42e2..b1f8542 100644
--- a/src/core/evaluator.js
+++ b/src/core/evaluator.js
@@ -852,6 +852,9 @@ var PartialEvaluator = (function PartialEvaluatorClosure() {
             case OPS.closePath:
               self.buildPath(operatorList, fn, args);
               continue;
+            case OPS.rectangle:
+              self.buildPath(operatorList, fn, args);
+              continue;
           }
           operatorList.addOp(fn, args);
         }
diff --git a/src/display/canvas.js b/src/display/canvas.js
index fcedbae..fab6687 100644
--- a/src/display/canvas.js
+++ b/src/display/canvas.js
@@ -977,6 +977,26 @@ var CanvasGraphics = (function CanvasGraphicsClosure() {
       var x = current.x, y = current.y;
       for (var i = 0, j = 0, ii = ops.length; i < ii; i++) {
         switch (ops[i] | 0) {
+          case OPS.rectangle:
+            x = args[j++];
+            y = args[j++];
+            var width = args[j++];
+            var height = args[j++];
+            if (width === 0) {
+              width = this.getSinglePixelWidth();
+            }
+            if (height === 0) {
+              height = this.getSinglePixelWidth();
+            }
+            var xw = x + width;
+            var yh = y + height;
+            this.ctx.moveTo(x, y);
+            this.ctx.lineTo(xw, y);
+            this.ctx.lineTo(xw, yh);
+            this.ctx.lineTo(x, yh);
+            this.ctx.lineTo(x, y);
+            this.ctx.closePath();
+            break;
           case OPS.moveTo:
             x = args[j++];
             y = args[j++];
@@ -1017,16 +1037,6 @@ var CanvasGraphics = (function CanvasGraphicsClosure() {
     closePath: function CanvasGraphics_closePath() {
       this.ctx.closePath();
     },
-    rectangle: function CanvasGraphics_rectangle(x, y, width, height) {
-      if (width === 0) {
-        width = this.getSinglePixelWidth();
-      }
-      if (height === 0) {
-        height = this.getSinglePixelWidth();
-      }
-
-      this.ctx.rect(x, y, width, height);
-    },
     stroke: function CanvasGraphics_stroke(consumePath) {
       consumePath = typeof consumePath !== 'undefined' ? consumePath : true;
       var ctx = this.ctx;
@@ -1510,7 +1520,7 @@ var CanvasGraphics = (function CanvasGraphicsClosure() {
                                                                         ury) {
       // TODO According to the spec we're also suppose to ignore any operators
       // that set color or include images while processing this type3 font.
-      this.rectangle(llx, lly, urx - llx, ury - lly);
+      this.ctx.rect(llx, lly, urx - llx, ury - lly);
       this.clip();
       this.endPath();
     },
@@ -1603,7 +1613,7 @@ var CanvasGraphics = (function CanvasGraphicsClosure() {
       if (isArray(bbox) && 4 === bbox.length) {
         var width = bbox[2] - bbox[0];
         var height = bbox[3] - bbox[1];
-        this.rectangle(bbox[0], bbox[1], width, height);
+        this.ctx.rect(bbox[0], bbox[1], width, height);
         this.clip();
         this.endPath();
       }
@@ -1755,7 +1765,7 @@ var CanvasGraphics = (function CanvasGraphicsClosure() {
       if (isArray(rect) && 4 === rect.length) {
         var width = rect[2] - rect[0];
         var height = rect[3] - rect[1];
-        this.rectangle(rect[0], rect[1], width, height);
+        this.ctx.rect(rect[0], rect[1], width, height);
         this.clip();
         this.endPath();
       }
diff --git a/src/display/pattern_helper.js b/src/display/pattern_helper.js
index 2dcf084..29b86f0 100644
--- a/src/display/pattern_helper.js
+++ b/src/display/pattern_helper.js
@@ -385,7 +385,7 @@ var TilingPattern = (function TilingPatternClosure() {
       if (bbox && isArray(bbox) && 4 == bbox.length) {
         var bboxWidth = x1 - x0;
         var bboxHeight = y1 - y0;
-        graphics.rectangle(x0, y0, bboxWidth, bboxHeight);
+        graphics.ctx.rect(x0, y0, bboxWidth, bboxHeight);
         graphics.clip();
         graphics.endPath();
       }
diff --git a/src/display/svg.js b/src/display/svg.js
index 225bd11..46d94c8 100644
--- a/src/display/svg.js
+++ b/src/display/svg.js
@@ -321,9 +321,6 @@ var SVGGraphics = (function SVGGraphicsClosure(ctx) {
           case OPS.constructPath:
             this.constructPath(args[0], args[1]);
             break;
-          case OPS.rectangle:
-            this.rectangle(args[0], args[1], args[2], args[3]);
-            break;
           case 92:
             this.group(opTree[x].items);
             break;
@@ -524,6 +521,17 @@ var SVGGraphics = (function SVGGraphicsClosure(ctx) {
 
       for (var i = 0, j = 0; i < opLength; i++) {
         switch (ops[i] | 0) {
+          case OPS.rectangle:
+            x = args[j++];
+            y = args[j++];
+            var width = args[j++];
+            var height = args[j++];
+            var xw = x + width;
+            var yh = y + height;
+            d += 'M' + x + ' ' + y + 'L' + xw + ' ' + y +
+                 'L' + xw + ' ' + yh + 'L' + xw + ' ' + yh +
+                 'L' + x + ' ' + yh + ' ' + 'Z';
+            break;
           case OPS.moveTo:
             x = args[j++];
             y = args[j++];
@@ -567,6 +575,7 @@ var SVGGraphics = (function SVGGraphicsClosure(ctx) {
       current.path.setAttributeNS(null, 'stroke-width', current.lineWidth);
       current.path.setAttributeNS(null, 'stroke-dasharray', current.dashArray);
       current.path.setAttributeNS(null, 'stroke-dashoffset', current.dashPhase);
+      current.path.setAttributeNS(null, 'fill', 'none');
       this.tgrp.appendChild(current.path);
       // Saving a reference in current.element so that it can be addressed
       // in 'fill' and 'stroke'
@@ -673,28 +682,6 @@ var SVGGraphics = (function SVGGraphicsClosure(ctx) {
       this.closePath();
       this.fillStroke();
     },
-
-    rectangle: function SVGGraphics_rectangle(x, y, width, height) {
-      var current = this.current;
-      if (width < 0) {
-        x = x + width;
-        width = -width;
-      }
-      if (height < 0) {
-        y = y + height;
-        height = -height;
-      }
-      current.rect = document.createElementNS(NS, 'svg:rect');
-      current.rect.setAttributeNS(null, 'x', x);
-      current.rect.setAttributeNS(null, 'y', y);
-      current.rect.setAttributeNS(null, 'fill', 'none');
-      current.rect.setAttributeNS(null, 'width', width);
-      current.rect.setAttributeNS(null, 'height', height);
-      current.rect.setAttributeNS(null, 'stroke-width', current.lineWidth);
-      // Saving a reference in current.element so that it can be addressed
-      // in 'fill' or 'stroke'
-      current.element = current.rect;
-    },
   };
   return SVGGraphics;
 })();

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-javascript/pdf.js.git



More information about the Pkg-javascript-commits mailing list