mirror of
https://github.com/mozilla/pdf.js.git
synced 2025-04-22 16:18:08 +02:00
Merge pull request #3373 from SSk123/master
rotation causes textLayer to get messed up
This commit is contained in:
commit
ba87d2fe11
7 changed files with 45 additions and 17 deletions
|
@ -968,14 +968,20 @@ var CanvasGraphics = (function CanvasGraphicsClosure() {
|
|||
var ctx = this.ctx;
|
||||
var font = this.current.font;
|
||||
var ctxMatrix = ctx.mozCurrentTransform;
|
||||
if (ctxMatrix) {
|
||||
var bl = Util.applyTransform([0, 0], ctxMatrix);
|
||||
var tr = Util.applyTransform([1, 1], ctxMatrix);
|
||||
geometry.x = bl[0];
|
||||
geometry.y = bl[1];
|
||||
geometry.hScale = tr[0] - bl[0];
|
||||
geometry.vScale = tr[1] - bl[1];
|
||||
}
|
||||
var a = ctxMatrix[0], b = ctxMatrix[1], c = ctxMatrix[2];
|
||||
var d = ctxMatrix[3], e = ctxMatrix[4], f = ctxMatrix[5];
|
||||
var sx = (a >= 0) ?
|
||||
Math.sqrt((a * a) + (b * b)) : -Math.sqrt((a * a) + (b * b));
|
||||
var sy = (d >= 0) ?
|
||||
Math.sqrt((c * c) + (d * d)) : -Math.sqrt((c * c) + (d * d));
|
||||
var angle = Math.atan2(b, a);
|
||||
var x = e;
|
||||
var y = f;
|
||||
geometry.x = x;
|
||||
geometry.y = y;
|
||||
geometry.hScale = sx;
|
||||
geometry.vScale = sy;
|
||||
geometry.angle = angle;
|
||||
geometry.spaceWidth = font.spaceWidth;
|
||||
geometry.fontName = font.loadedName;
|
||||
geometry.fontFamily = font.fallbackName;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue