支持 verticalAlign

This commit is contained in:
CPPAlien 2019-11-21 19:59:13 +08:00
parent 2aeb459059
commit 9649ba1226

View File

@ -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 ,旋转和裁剪的判断