From e455e7c6b972d83647dd15b79a1b5974781f9e99 Mon Sep 17 00:00:00 2001 From: CPPAlien Date: Tue, 17 Jul 2018 20:54:35 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=A8=E6=96=B0=20example?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/pen.js | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/lib/pen.js b/lib/pen.js index ff29075..a355889 100644 --- a/lib/pen.js +++ b/lib/pen.js @@ -116,17 +116,22 @@ export default class Painter { const lineHeight = view.css.lineHeight ? view.css.lineHeight.toPx() : view.css.fontSize.toPx(); height = lineHeight * lines; - x = view.css.right ? this.style.width - width - view.css.right.toPx() : (view.css.left ? view.css.left.toPx() : 0); + x = view.css.right ? this.style.width - view.css.right.toPx() : (view.css.left ? view.css.left.toPx() : 0); y = view.css.bottom ? this.style.height - height - view.css.bottom.toPx() : (view.css.top ? view.css.top.toPx() : 0); extra = { lines: lines, lineHeight: lineHeight }; } else { + if (!(view.css.width && view.css.height)) { + console.error('You should set width and height'); + return; + } width = view.css.width.toPx(); height = view.css.height.toPx(); - x = view.css.right ? this.style.width - width - view.css.right.toPx() : (view.css.left ? view.css.left.toPx() : 0); + x = view.css.right ? this.style.width - view.css.right.toPx() : (view.css.left ? view.css.left.toPx() : 0); y = view.css.bottom ? this.style.height - height - view.css.bottom.toPx() : (view.css.top ? view.css.top.toPx() : 0); } const angle = view.css.rotate ? this._getAngle(view.css.rotate) : 0; - const align = view.css.align ? view.css.align : 'left'; + // 当设置了 right 时,默认 align 用 right,反之用 left + const align = view.css.align ? view.css.align : (view.css.right ? 'right' : 'left'); switch (align) { case 'center': this.ctx.translate(x, y + height / 2);