From 9649ba1226833bff8fcf35ad4e50a5e165dcc04b Mon Sep 17 00:00:00 2001 From: CPPAlien Date: Thu, 21 Nov 2019 19:59:13 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=AF=E6=8C=81=20verticalAlign?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/pen.js | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/lib/pen.js b/lib/pen.js index ac6e597..d14617d 100644 --- a/lib/pen.js +++ b/lib/pen.js @@ -294,10 +294,9 @@ export default class Painter { const angle = view.css && view.css.rotate ? this._getAngle(view.css.rotate) : 0; // 当设置了 right 时,默认 align 用 right,反之用 left const align = view.css && view.css.align ? view.css.align : (view.css && view.css.right ? 'right' : 'left'); + const verticalAlign = view.css && view.css.verticalAlign ? view.css.verticalAlign : (view.css && view.css.bottom ? 'bottom' : 'top'); // 记录绘制时的画布 let xa = 0; - const ya = y + height / 2; - switch (align) { case 'center': xa = x; @@ -309,6 +308,18 @@ export default class Painter { xa = x + width / 2; break; } + let ya = 0; + switch (verticalAlign) { + case 'center': + ya = y; + break; + case 'bottom': + ya = y - height / 2; + break; + default: + ya = y + height / 2; + break; + } this.ctx.translate(xa, ya); // 记录该 view 的有效点击区域 // TODO ,旋转和裁剪的判断