Implements paintFormXObject in svg.js
This commit is contained in:
parent
7fb6c87774
commit
32853c07f4
@ -14,7 +14,7 @@
|
|||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
/* globals PDFJS, FONT_IDENTITY_MATRIX, IDENTITY_MATRIX,
|
/* globals PDFJS, FONT_IDENTITY_MATRIX, IDENTITY_MATRIX, isArray,
|
||||||
isNum, OPS, Promise, Util, warn, ImageKind, PDFJS */
|
isNum, OPS, Promise, Util, warn, ImageKind, PDFJS */
|
||||||
|
|
||||||
'use strict';
|
'use strict';
|
||||||
@ -570,6 +570,12 @@ var SVGGraphics = (function SVGGraphicsClosure() {
|
|||||||
case OPS.paintImageMaskXObject:
|
case OPS.paintImageMaskXObject:
|
||||||
this.paintImageMaskXObject(args[0]);
|
this.paintImageMaskXObject(args[0]);
|
||||||
break;
|
break;
|
||||||
|
case OPS.paintFormXObjectBegin:
|
||||||
|
this.paintFormXObjectBegin(args[0], args[1]);
|
||||||
|
break;
|
||||||
|
case OPS.paintFormXObjectEnd:
|
||||||
|
this.paintFormXObjectEnd();
|
||||||
|
break;
|
||||||
case OPS.closePath:
|
case OPS.closePath:
|
||||||
this.closePath();
|
this.closePath();
|
||||||
break;
|
break;
|
||||||
@ -757,6 +763,7 @@ var SVGGraphics = (function SVGGraphicsClosure() {
|
|||||||
|
|
||||||
endText: function SVGGraphics_endText() {
|
endText: function SVGGraphics_endText() {
|
||||||
if (this.current.pendingClip) {
|
if (this.current.pendingClip) {
|
||||||
|
this.cgrp.appendChild(this.tgrp);
|
||||||
this.pgrp.appendChild(this.cgrp);
|
this.pgrp.appendChild(this.cgrp);
|
||||||
} else {
|
} else {
|
||||||
this.pgrp.appendChild(this.tgrp);
|
this.pgrp.appendChild(this.tgrp);
|
||||||
@ -1111,6 +1118,35 @@ var SVGGraphics = (function SVGGraphicsClosure() {
|
|||||||
|
|
||||||
this.paintInlineImageXObject(imgData, mask);
|
this.paintInlineImageXObject(imgData, mask);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
paintFormXObjectBegin:
|
||||||
|
function SVGGraphics_paintFormXObjectBegin(matrix, bbox) {
|
||||||
|
this.save();
|
||||||
|
|
||||||
|
if (isArray(matrix) && matrix.length === 6) {
|
||||||
|
this.transform(matrix[0], matrix[1], matrix[2],
|
||||||
|
matrix[3], matrix[4], matrix[5]);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isArray(bbox) && bbox.length === 4) {
|
||||||
|
var width = bbox[2] - bbox[0];
|
||||||
|
var height = bbox[3] - bbox[1];
|
||||||
|
|
||||||
|
var cliprect = document.createElementNS(NS, 'svg:rect');
|
||||||
|
cliprect.setAttributeNS(null, 'x', bbox[0]);
|
||||||
|
cliprect.setAttributeNS(null, 'y', bbox[1]);
|
||||||
|
cliprect.setAttributeNS(null, 'width', pf(width));
|
||||||
|
cliprect.setAttributeNS(null, 'height', pf(height));
|
||||||
|
this.current.element = cliprect;
|
||||||
|
this.clip('nonzero');
|
||||||
|
this.endPath();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
paintFormXObjectEnd:
|
||||||
|
function SVGGraphics_paintFormXObjectEnd() {
|
||||||
|
this.restore();
|
||||||
|
}
|
||||||
};
|
};
|
||||||
return SVGGraphics;
|
return SVGGraphics;
|
||||||
})();
|
})();
|
||||||
|
Loading…
Reference in New Issue
Block a user