|
@@ -0,0 +1,2975 @@
|
|
|
|
+!(function (t, e) {
|
|
|
|
+ 'object' == typeof exports && 'undefined' != typeof module
|
|
|
|
+ ? e(exports)
|
|
|
|
+ : 'function' == typeof define && define.amd
|
|
|
|
+ ? define(['exports'], e)
|
|
|
|
+ : e(((t = 'undefined' != typeof globalThis ? globalThis : t || self).Painter = {}))
|
|
|
|
+})(this, function (t) {
|
|
|
|
+ 'use strict'
|
|
|
|
+ var e = function () {
|
|
|
|
+ return (
|
|
|
|
+ (e =
|
|
|
|
+ Object.assign ||
|
|
|
|
+ function (t) {
|
|
|
|
+ for (var e, i = 1, n = arguments.length; i < n; i++)
|
|
|
|
+ for (var r in (e = arguments[i])) Object.prototype.hasOwnProperty.call(e, r) && (t[r] = e[r])
|
|
|
|
+ return t
|
|
|
|
+ }),
|
|
|
|
+ e.apply(this, arguments)
|
|
|
|
+ )
|
|
|
|
+ }
|
|
|
|
+ function i(t, e, i, n) {
|
|
|
|
+ return new (i || (i = Promise))(function (r, o) {
|
|
|
|
+ function s(t) {
|
|
|
|
+ try {
|
|
|
|
+ h(n.next(t))
|
|
|
|
+ } catch (t) {
|
|
|
|
+ o(t)
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ function a(t) {
|
|
|
|
+ try {
|
|
|
|
+ h(n.throw(t))
|
|
|
|
+ } catch (t) {
|
|
|
|
+ o(t)
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ function h(t) {
|
|
|
|
+ var e
|
|
|
|
+ t.done
|
|
|
|
+ ? r(t.value)
|
|
|
|
+ : ((e = t.value),
|
|
|
|
+ e instanceof i
|
|
|
|
+ ? e
|
|
|
|
+ : new i(function (t) {
|
|
|
|
+ t(e)
|
|
|
|
+ })).then(s, a)
|
|
|
|
+ }
|
|
|
|
+ h((n = n.apply(t, e || [])).next())
|
|
|
|
+ })
|
|
|
|
+ }
|
|
|
|
+ function n(t, e) {
|
|
|
|
+ var i,
|
|
|
|
+ n,
|
|
|
|
+ r,
|
|
|
|
+ o,
|
|
|
|
+ s = {
|
|
|
|
+ label: 0,
|
|
|
|
+ sent: function () {
|
|
|
|
+ if (1 & r[0]) throw r[1]
|
|
|
|
+ return r[1]
|
|
|
|
+ },
|
|
|
|
+ trys: [],
|
|
|
|
+ ops: []
|
|
|
|
+ }
|
|
|
|
+ return (
|
|
|
|
+ (o = { next: a(0), throw: a(1), return: a(2) }),
|
|
|
|
+ 'function' == typeof Symbol &&
|
|
|
|
+ (o[Symbol.iterator] = function () {
|
|
|
|
+ return this
|
|
|
|
+ }),
|
|
|
|
+ o
|
|
|
|
+ )
|
|
|
|
+ function a(o) {
|
|
|
|
+ return function (a) {
|
|
|
|
+ return (function (o) {
|
|
|
|
+ if (i) throw new TypeError('Generator is already executing.')
|
|
|
|
+ for (; s; )
|
|
|
|
+ try {
|
|
|
|
+ if (
|
|
|
|
+ ((i = 1),
|
|
|
|
+ n &&
|
|
|
|
+ (r = 2 & o[0] ? n.return : o[0] ? n.throw || ((r = n.return) && r.call(n), 0) : n.next) &&
|
|
|
|
+ !(r = r.call(n, o[1])).done)
|
|
|
|
+ )
|
|
|
|
+ return r
|
|
|
|
+ switch (((n = 0), r && (o = [2 & o[0], r.value]), o[0])) {
|
|
|
|
+ case 0:
|
|
|
|
+ case 1:
|
|
|
|
+ r = o
|
|
|
|
+ break
|
|
|
|
+ case 4:
|
|
|
|
+ return s.label++, { value: o[1], done: !1 }
|
|
|
|
+ case 5:
|
|
|
|
+ s.label++, (n = o[1]), (o = [0])
|
|
|
|
+ continue
|
|
|
|
+ case 7:
|
|
|
|
+ ;(o = s.ops.pop()), s.trys.pop()
|
|
|
|
+ continue
|
|
|
|
+ default:
|
|
|
|
+ if (!((r = s.trys), (r = r.length > 0 && r[r.length - 1]) || (6 !== o[0] && 2 !== o[0]))) {
|
|
|
|
+ s = 0
|
|
|
|
+ continue
|
|
|
|
+ }
|
|
|
|
+ if (3 === o[0] && (!r || (o[1] > r[0] && o[1] < r[3]))) {
|
|
|
|
+ s.label = o[1]
|
|
|
|
+ break
|
|
|
|
+ }
|
|
|
|
+ if (6 === o[0] && s.label < r[1]) {
|
|
|
|
+ ;(s.label = r[1]), (r = o)
|
|
|
|
+ break
|
|
|
|
+ }
|
|
|
|
+ if (r && s.label < r[2]) {
|
|
|
|
+ ;(s.label = r[2]), s.ops.push(o)
|
|
|
|
+ break
|
|
|
|
+ }
|
|
|
|
+ r[2] && s.ops.pop(), s.trys.pop()
|
|
|
|
+ continue
|
|
|
|
+ }
|
|
|
|
+ o = e.call(t, s)
|
|
|
|
+ } catch (t) {
|
|
|
|
+ ;(o = [6, t]), (n = 0)
|
|
|
|
+ } finally {
|
|
|
|
+ i = r = 0
|
|
|
|
+ }
|
|
|
|
+ if (5 & o[0]) throw o[1]
|
|
|
|
+ return { value: o[0] ? o[1] : void 0, done: !0 }
|
|
|
|
+ })([o, a])
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ var r = {
|
|
|
|
+ MP_WEIXIN: 'mp-weixin',
|
|
|
|
+ MP_QQ: 'mp-qq',
|
|
|
|
+ MP_ALIPAY: 'mp-alipay',
|
|
|
|
+ MP_BAIDU: 'mp-baidu',
|
|
|
|
+ MP_TOUTIAO: 'mp-toutiao',
|
|
|
|
+ MP_DINGDING: 'mp-dingding',
|
|
|
|
+ H5: 'h5',
|
|
|
|
+ WEB: 'web',
|
|
|
|
+ PLUS: 'plus'
|
|
|
|
+ },
|
|
|
|
+ o = 'width',
|
|
|
|
+ s = 'height',
|
|
|
|
+ a = 'margin',
|
|
|
|
+ h = 'center',
|
|
|
|
+ c = 'flex-start',
|
|
|
|
+ f = 'flex-end',
|
|
|
|
+ d = ['Top', 'Right', 'Bottom', 'Left'],
|
|
|
|
+ l = 'left',
|
|
|
|
+ u = 'right',
|
|
|
|
+ p = 'top',
|
|
|
|
+ g = 'bottom',
|
|
|
|
+ v = 'middle',
|
|
|
|
+ y = ['contentSize', 'clientSize', 'borderSize', 'offsetSize'],
|
|
|
|
+ b = 'row',
|
|
|
|
+ x = 'column',
|
|
|
|
+ w = { TOP: p, MIDDLE: v, BOTTOM: g },
|
|
|
|
+ m = { LEFT: l, CENTER: h, RIGHT: u },
|
|
|
|
+ S = 'view',
|
|
|
|
+ z = 'text',
|
|
|
|
+ I = 'image',
|
|
|
|
+ M = 'qrcode',
|
|
|
|
+ k = 'block',
|
|
|
|
+ B = 'inline-block',
|
|
|
|
+ W = 'none',
|
|
|
|
+ P = 'flex',
|
|
|
|
+ O = 'absolute',
|
|
|
|
+ T = 'fixed',
|
|
|
|
+ L = 'transparent',
|
|
|
|
+ R = 'fill',
|
|
|
|
+ F = {
|
|
|
|
+ display: k,
|
|
|
|
+ color: '#000000',
|
|
|
|
+ lineHeight: '1.4em',
|
|
|
|
+ fontSize: 14,
|
|
|
|
+ fontWeight: 400,
|
|
|
|
+ fontFamily: 'sans-serif',
|
|
|
|
+ lineCap: 'butt',
|
|
|
|
+ flexDirection: b,
|
|
|
|
+ flexWrap: 'nowrap',
|
|
|
|
+ textAlign: l,
|
|
|
|
+ alignItems: c,
|
|
|
|
+ justifyContent: c,
|
|
|
|
+ position: 'static',
|
|
|
|
+ transformOrigin: ''.concat(h, ' ').concat(h)
|
|
|
|
+ },
|
|
|
|
+ A = {
|
|
|
|
+ upx2px: function (t) {
|
|
|
|
+ return (window.innerWidth / 750) * t
|
|
|
|
+ },
|
|
|
|
+ getSystemInfoSync: function () {
|
|
|
|
+ return { screenWidth: window.innerWidth, screenHeight: window.innerHeight }
|
|
|
|
+ },
|
|
|
|
+ getImageInfo: function (t) {
|
|
|
|
+ var e = t.src,
|
|
|
|
+ i = t.success,
|
|
|
|
+ n = t.fail,
|
|
|
|
+ r = new Image()
|
|
|
|
+ ;(r.onload = function () {
|
|
|
|
+ i({ width: r.naturalWidth, height: r.naturalHeight, path: r.src, src: e })
|
|
|
|
+ }),
|
|
|
|
+ (r.onerror = n),
|
|
|
|
+ (r.src = e)
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ E = 'object',
|
|
|
|
+ j = 'undefined',
|
|
|
|
+ C =
|
|
|
|
+ typeof window == E
|
|
|
|
+ ? typeof uni == j || (typeof uni !== j && !uni.addInterceptor)
|
|
|
|
+ ? r.WEB
|
|
|
|
+ : r.H5
|
|
|
|
+ : typeof swan == E
|
|
|
|
+ ? r.MP_BAIDU
|
|
|
|
+ : typeof tt == E
|
|
|
|
+ ? r.MP_TOUTIAO
|
|
|
|
+ : typeof plus === E
|
|
|
|
+ ? r.PLUS
|
|
|
|
+ : typeof wx == E
|
|
|
|
+ ? r.MP_WEIXIN
|
|
|
|
+ : void 0,
|
|
|
|
+ H =
|
|
|
|
+ C == r.MP_WEIXIN
|
|
|
|
+ ? wx
|
|
|
|
+ : typeof uni != j
|
|
|
|
+ ? uni.getImageInfo
|
|
|
|
+ ? {
|
|
|
|
+ upx2px: function (t) {
|
|
|
|
+ return uni.upx2px(t)
|
|
|
|
+ },
|
|
|
|
+ getSystemInfoSync: function () {
|
|
|
|
+ return uni.getSystemInfoSync()
|
|
|
|
+ },
|
|
|
|
+ getImageInfo: function (t) {
|
|
|
|
+ return uni.getImageInfo(t)
|
|
|
|
+ },
|
|
|
|
+ downloadFile: function (t) {
|
|
|
|
+ return uni.downloadFile(t)
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ : Object.assign(uni, A)
|
|
|
|
+ : typeof window != j
|
|
|
|
+ ? A
|
|
|
|
+ : uni
|
|
|
|
+ if (!H.upx2px) {
|
|
|
|
+ var D = ((H.getSystemInfoSync && H.getSystemInfoSync()).screenWidth || 375) / 750
|
|
|
|
+ H.upx2px = function (t) {
|
|
|
|
+ return D * t
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ function $(t) {
|
|
|
|
+ return /^-?\d+(\.\d+)?$/.test(t)
|
|
|
|
+ }
|
|
|
|
+ function Y(t, e, i) {
|
|
|
|
+ if ($(t)) return 1 * t
|
|
|
|
+ if ('string' == typeof t) {
|
|
|
|
+ var n = /^-?([0-9]+)?([.]{1}[0-9]+){0,1}(em|rpx|vw|vh|px|%)$/g.exec(t)
|
|
|
|
+ if (!t || !n) return 0
|
|
|
|
+ var r = n[3]
|
|
|
|
+ t = parseFloat(t)
|
|
|
|
+ var o = 0
|
|
|
|
+ if ('rpx' === r) o = H.upx2px(t)
|
|
|
|
+ else if ('px' === r) o = 1 * t
|
|
|
|
+ else if ('%' === r && e) o = (t * Y(e)) / 100
|
|
|
|
+ else if ('em' === r && e) o = t * Y(e || 14)
|
|
|
|
+ else if (['vw', 'vh'].includes(r)) {
|
|
|
|
+ var s = H.getSystemInfoSync(),
|
|
|
|
+ a = s.screenWidth,
|
|
|
|
+ h = s.screenHeight
|
|
|
|
+ o = (t * ('vw' == r ? a : h)) / 100
|
|
|
|
+ }
|
|
|
|
+ return 1 * o.toFixed(2)
|
|
|
|
+ }
|
|
|
|
+ return 0
|
|
|
|
+ }
|
|
|
|
+ function U(t) {
|
|
|
|
+ return /%$/.test(t)
|
|
|
|
+ }
|
|
|
|
+ function N(t) {
|
|
|
|
+ return /^-?([0-9]+)?([.]{1}[0-9]+){0,1}(rpx|px)$/.test(t)
|
|
|
|
+ }
|
|
|
|
+ var _ = function (t) {
|
|
|
|
+ return !(!t || (!t.startsWith('linear') && !t.startsWith('radial')))
|
|
|
|
+ },
|
|
|
|
+ X = function (t, e, i, n, r, o) {
|
|
|
|
+ t.startsWith('linear')
|
|
|
|
+ ? (function (t, e, i, n, r, o) {
|
|
|
|
+ for (
|
|
|
|
+ var s = (function (t, e, i, n, r) {
|
|
|
|
+ void 0 === n && (n = 0)
|
|
|
|
+ void 0 === r && (r = 0)
|
|
|
|
+ var o = t.match(/([-]?\d{1,3})deg/),
|
|
|
|
+ s = o && o[1] ? parseFloat(o[1]) : 0
|
|
|
|
+ s >= 360 && (s -= 360)
|
|
|
|
+ s < 0 && (s += 360)
|
|
|
|
+ if (0 === (s = Math.round(s)))
|
|
|
|
+ return { x0: Math.round(e / 2) + n, y0: i + r, x1: Math.round(e / 2) + n, y1: r }
|
|
|
|
+ if (180 === s) return { x0: Math.round(e / 2) + n, y0: r, x1: Math.round(e / 2) + n, y1: i + r }
|
|
|
|
+ if (90 === s) return { x0: n, y0: Math.round(i / 2) + r, x1: e + n, y1: Math.round(i / 2) + r }
|
|
|
|
+ if (270 === s) return { x0: e + n, y0: Math.round(i / 2) + r, x1: n, y1: Math.round(i / 2) + r }
|
|
|
|
+ var a = Math.round((180 * Math.asin(e / Math.sqrt(Math.pow(e, 2) + Math.pow(i, 2)))) / Math.PI)
|
|
|
|
+ if (s === a) return { x0: n, y0: i + r, x1: e + n, y1: r }
|
|
|
|
+ if (s === 180 - a) return { x0: n, y0: r, x1: e + n, y1: i + r }
|
|
|
|
+ if (s === 180 + a) return { x0: e + n, y0: r, x1: n, y1: i + r }
|
|
|
|
+ if (s === 360 - a) return { x0: e + n, y0: i + r, x1: n, y1: r }
|
|
|
|
+ var h = 0,
|
|
|
|
+ c = 0,
|
|
|
|
+ f = 0,
|
|
|
|
+ d = 0
|
|
|
|
+ if (s < a || (s > 180 - a && s < 180) || (s > 180 && s < 180 + a) || s > 360 - a) {
|
|
|
|
+ var l = (s * Math.PI) / 180,
|
|
|
|
+ u = s < a || s > 360 - a ? i / 2 : -i / 2,
|
|
|
|
+ p = Math.tan(l) * u,
|
|
|
|
+ g = s < a || (s > 180 - a && s < 180) ? e / 2 - p : -e / 2 - p
|
|
|
|
+ ;(h = -(f = p + (v = Math.pow(Math.sin(l), 2) * g))), (c = -(d = u + v / Math.tan(l)))
|
|
|
|
+ }
|
|
|
|
+ if (
|
|
|
|
+ (s > a && s < 90) ||
|
|
|
|
+ (s > 90 && s < 90 + a) ||
|
|
|
|
+ (s > 180 + a && s < 270) ||
|
|
|
|
+ (s > 270 && s < 360 - a)
|
|
|
|
+ ) {
|
|
|
|
+ var v
|
|
|
|
+ ;(l = ((90 - s) * Math.PI) / 180),
|
|
|
|
+ (p = (s > a && s < 90) || (s > 90 && s < 90 + a) ? e / 2 : -e / 2),
|
|
|
|
+ (u = Math.tan(l) * p),
|
|
|
|
+ (g = (s > a && s < 90) || (s > 270 && s < 360 - a) ? i / 2 - u : -i / 2 - u)
|
|
|
|
+ ;(h = -(f = p + (v = Math.pow(Math.sin(l), 2) * g) / Math.tan(l))), (c = -(d = u + v))
|
|
|
|
+ }
|
|
|
|
+ return (
|
|
|
|
+ (h = Math.round(h + e / 2) + n),
|
|
|
|
+ (c = Math.round(i / 2 - c) + r),
|
|
|
|
+ (f = Math.round(f + e / 2) + n),
|
|
|
|
+ (d = Math.round(i / 2 - d) + r),
|
|
|
|
+ { x0: h, y0: c, x1: f, y1: d }
|
|
|
|
+ )
|
|
|
|
+ })(r, t, e, i, n),
|
|
|
|
+ a = s.x0,
|
|
|
|
+ h = s.y0,
|
|
|
|
+ c = s.x1,
|
|
|
|
+ f = s.y1,
|
|
|
|
+ d = o.createLinearGradient(a, h, c, f),
|
|
|
|
+ l = r.match(/linear-gradient\((.+)\)/)[1],
|
|
|
|
+ u = q(l.substring(l.indexOf(',') + 1)),
|
|
|
|
+ p = 0;
|
|
|
|
+ p < u.colors.length;
|
|
|
|
+ p++
|
|
|
|
+ )
|
|
|
|
+ d.addColorStop(u.percents[p], u.colors[p])
|
|
|
|
+ o.setFillStyle(d)
|
|
|
|
+ })(e, i, n, r, t, o)
|
|
|
|
+ : t.startsWith('radial') &&
|
|
|
|
+ (function (t, e, i, n, r, o) {
|
|
|
|
+ for (
|
|
|
|
+ var s = q(r.match(/radial-gradient\((.+)\)/)[1]),
|
|
|
|
+ a = Math.round(t / 2) + i,
|
|
|
|
+ h = Math.round(e / 2) + n,
|
|
|
|
+ c = o.createRadialGradient(a, h, 0, a, h, Math.max(t, e) / 2),
|
|
|
|
+ f = 0;
|
|
|
|
+ f < s.colors.length;
|
|
|
|
+ f++
|
|
|
|
+ )
|
|
|
|
+ c.addColorStop(s.percents[f], s.colors[f])
|
|
|
|
+ o.setFillStyle(c)
|
|
|
|
+ })(e, i, n, r, t, o)
|
|
|
|
+ }
|
|
|
|
+ function q(t) {
|
|
|
|
+ for (var e = [], i = [], n = 0, r = t.substring(0, t.length - 1).split('%,'); n < r.length; n++) {
|
|
|
|
+ var o = r[n]
|
|
|
|
+ e.push(o.substring(0, o.lastIndexOf(' ')).trim()), i.push(o.substring(o.lastIndexOf(' '), o.length) / 100)
|
|
|
|
+ }
|
|
|
|
+ return { colors: e, percents: i }
|
|
|
|
+ }
|
|
|
|
+ function G(t, e, i) {
|
|
|
|
+ return (
|
|
|
|
+ e in t ? Object.defineProperty(t, e, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : (t[e] = i), t
|
|
|
|
+ )
|
|
|
|
+ }
|
|
|
|
+ function V() {
|
|
|
|
+ return (
|
|
|
|
+ (V = Object.assign
|
|
|
|
+ ? Object.assign.bind()
|
|
|
|
+ : function (t) {
|
|
|
|
+ for (var e = 1; e < arguments.length; e++) {
|
|
|
|
+ var i = arguments[e]
|
|
|
|
+ for (var n in i) Object.prototype.hasOwnProperty.call(i, n) && (t[n] = i[n])
|
|
|
|
+ }
|
|
|
|
+ return t
|
|
|
|
+ }),
|
|
|
|
+ V.apply(this, arguments)
|
|
|
|
+ )
|
|
|
|
+ }
|
|
|
|
+ function J(t, e) {
|
|
|
|
+ return (
|
|
|
|
+ (J = Object.setPrototypeOf
|
|
|
|
+ ? Object.setPrototypeOf.bind()
|
|
|
|
+ : function (t, e) {
|
|
|
|
+ return (t.__proto__ = e), t
|
|
|
|
+ }),
|
|
|
|
+ J(t, e)
|
|
|
|
+ )
|
|
|
|
+ }
|
|
|
|
+ function Q(t, e) {
|
|
|
|
+ ;(null == e || e > t.length) && (e = t.length)
|
|
|
|
+ for (var i = 0, n = new Array(e); i < e; i++) n[i] = t[i]
|
|
|
|
+ return n
|
|
|
|
+ }
|
|
|
|
+ function Z(t, e) {
|
|
|
|
+ var i = ('undefined' != typeof Symbol && t[Symbol.iterator]) || t['@@iterator']
|
|
|
|
+ if (i) return (i = i.call(t)).next.bind(i)
|
|
|
|
+ if (
|
|
|
|
+ Array.isArray(t) ||
|
|
|
|
+ (i = (function (t, e) {
|
|
|
|
+ if (t) {
|
|
|
|
+ if ('string' == typeof t) return Q(t, e)
|
|
|
|
+ var i = Object.prototype.toString.call(t).slice(8, -1)
|
|
|
|
+ return (
|
|
|
|
+ 'Object' === i && t.constructor && (i = t.constructor.name),
|
|
|
|
+ 'Map' === i || 'Set' === i
|
|
|
|
+ ? Array.from(t)
|
|
|
|
+ : 'Arguments' === i || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)
|
|
|
|
+ ? Q(t, e)
|
|
|
|
+ : void 0
|
|
|
|
+ )
|
|
|
|
+ }
|
|
|
|
+ })(t)) ||
|
|
|
|
+ (e && t && 'number' == typeof t.length)
|
|
|
|
+ ) {
|
|
|
|
+ i && (t = i)
|
|
|
|
+ var n = 0
|
|
|
|
+ return function () {
|
|
|
|
+ return n >= t.length ? { done: !0 } : { done: !1, value: t[n++] }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ throw new TypeError(
|
|
|
|
+ 'Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.'
|
|
|
|
+ )
|
|
|
|
+ }
|
|
|
|
+ function K(t) {
|
|
|
|
+ return 'number' == typeof t
|
|
|
|
+ }
|
|
|
|
+ function et(t) {
|
|
|
|
+ return 'auto' === t || null === t
|
|
|
|
+ }
|
|
|
|
+ function it(t) {
|
|
|
|
+ return /%$/.test(t)
|
|
|
|
+ }
|
|
|
|
+ var nt = I,
|
|
|
|
+ rt = z,
|
|
|
|
+ ot = S,
|
|
|
|
+ st = M,
|
|
|
|
+ at = B,
|
|
|
|
+ ht = O,
|
|
|
|
+ ct = T
|
|
|
|
+ function ft(t) {
|
|
|
|
+ return t.replace(/-([a-z])/g, function (t, e) {
|
|
|
|
+ return e.toUpperCase()
|
|
|
|
+ })
|
|
|
|
+ }
|
|
|
|
+ function dt(t, e) {
|
|
|
|
+ var i,
|
|
|
|
+ n,
|
|
|
|
+ r = (function (t) {
|
|
|
|
+ var e = t.match(/([a-z]+)/)[1]
|
|
|
|
+ return [e, ft(t.split(e)[1])]
|
|
|
|
+ })(t),
|
|
|
|
+ o = r[0],
|
|
|
|
+ s = r[1],
|
|
|
|
+ a = e.split(' ')
|
|
|
|
+ if (s) return ((i = {})[o + s] = e), i
|
|
|
|
+ if (a.length && !s) {
|
|
|
|
+ var h = a[0],
|
|
|
|
+ c = a[1],
|
|
|
|
+ f = a[2],
|
|
|
|
+ l = a[3]
|
|
|
|
+ return ((n = {})[o + d[0]] = h), (n[o + d[1]] = c || h), (n[o + d[2]] = f || h), (n[o + d[3]] = l || c || h), n
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ function lt(t) {
|
|
|
|
+ t = t.trim()
|
|
|
|
+ for (var e = new Array(), i = '+', n = '', r = t.length, o = 0; o < r; ++o) {
|
|
|
|
+ if ('.' === t[o] || (!isNaN(Number(t[o])) && ' ' !== t[o])) n += t[o]
|
|
|
|
+ else if ('(' === t[o]) {
|
|
|
|
+ for (var s = 1, a = o; s > 0; ) '(' === t[(a += 1)] && (s += 1), ')' === t[a] && (s -= 1)
|
|
|
|
+ ;(n = ''.concat(lt(t.slice(o + 1, a)))), (o = a)
|
|
|
|
+ }
|
|
|
|
+ if ((isNaN(Number(t[o])) && '.' !== t[o]) || o === r - 1) {
|
|
|
|
+ var h = parseFloat(n)
|
|
|
|
+ switch (i) {
|
|
|
|
+ case '+':
|
|
|
|
+ e.push(h)
|
|
|
|
+ break
|
|
|
|
+ case '-':
|
|
|
|
+ e.push(-h)
|
|
|
|
+ break
|
|
|
|
+ case '*':
|
|
|
|
+ e.push(e.pop() * h)
|
|
|
|
+ break
|
|
|
|
+ case '/':
|
|
|
|
+ e.push(e.pop() / h)
|
|
|
|
+ }
|
|
|
|
+ ;(i = t[o]), (n = '')
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ for (var c = 0; e.length; ) c += e.pop()
|
|
|
|
+ return c
|
|
|
|
+ }
|
|
|
|
+ var ut,
|
|
|
|
+ pt = 0,
|
|
|
|
+ gt = (function () {
|
|
|
|
+ function t() {
|
|
|
|
+ G(this, 'elements', []),
|
|
|
|
+ G(this, 'afterElements', []),
|
|
|
|
+ G(this, 'beforeElements', []),
|
|
|
|
+ G(this, 'ids', []),
|
|
|
|
+ G(this, 'width', 0),
|
|
|
|
+ G(this, 'height', 0),
|
|
|
|
+ G(this, 'top', 0),
|
|
|
|
+ G(this, 'left', 0),
|
|
|
|
+ G(this, 'pre', null),
|
|
|
|
+ G(this, 'offsetX', 0),
|
|
|
|
+ G(this, 'offsetY', 0),
|
|
|
|
+ pt++,
|
|
|
|
+ (this.id = pt)
|
|
|
|
+ }
|
|
|
|
+ var e = t.prototype
|
|
|
|
+ return (
|
|
|
|
+ (e.fixedBind = function (t, e) {
|
|
|
|
+ void 0 === e && (e = 0),
|
|
|
|
+ (this.container = e ? t.parent : t.root),
|
|
|
|
+ (this.container.fixedLine = this),
|
|
|
|
+ this.fixedAdd(t)
|
|
|
|
+ }),
|
|
|
|
+ (e.fixedAdd = function (t) {
|
|
|
|
+ if (!this.ids.includes(t.id)) {
|
|
|
|
+ this.ids.push(t.id), this.elements.push(t)
|
|
|
|
+ var e = t.computedStyle.zIndex
|
|
|
|
+ ;(void 0 === e ? 0 : e) >= 0 ? this.afterElements.push(t) : this.beforeElements.push(t),
|
|
|
|
+ this.refreshLayout()
|
|
|
|
+ }
|
|
|
|
+ }),
|
|
|
|
+ (e.bind = function (t) {
|
|
|
|
+ ;(this.container = t.parent),
|
|
|
|
+ (this.container.line = null),
|
|
|
|
+ this.container.lines
|
|
|
|
+ ? (this.container.lines.push(this),
|
|
|
|
+ (this.pre = this.getPreLine()),
|
|
|
|
+ (this.top = this.pre.top + this.pre.height),
|
|
|
|
+ (this.left = this.container.contentSize.left))
|
|
|
|
+ : ((this.top = this.container.contentSize.top),
|
|
|
|
+ (this.left = this.container.contentSize.left),
|
|
|
|
+ (this.container.lines = [this])),
|
|
|
|
+ (this.isInline = t.isInline()),
|
|
|
|
+ (this.container.line = this),
|
|
|
|
+ (this.outerWidth = t.parent && t.parent.contentSize.width ? t.parent.contentSize.width : 1 / 0),
|
|
|
|
+ this.add(t)
|
|
|
|
+ }),
|
|
|
|
+ (e.getPreLine = function () {
|
|
|
|
+ return this.container.lines[this.container.lines.length - 2]
|
|
|
|
+ }),
|
|
|
|
+ (e.canIEnter = function (t) {
|
|
|
|
+ return !((100 * t.offsetSize.width + 100 * this.width) / 100 > this.outerWidth) || (this.closeLine(), !1)
|
|
|
|
+ }),
|
|
|
|
+ (e.closeLine = function () {
|
|
|
|
+ delete this.container.line
|
|
|
|
+ }),
|
|
|
|
+ (e.add = function (t) {
|
|
|
|
+ this.ids.includes(t.id) || (this.ids.push(t.id), this.elements.push(t), this.refreshWidthHeight(t))
|
|
|
|
+ }),
|
|
|
|
+ (e.refreshWidthHeight = function (t) {
|
|
|
|
+ t.offsetSize.height > this.height && (this.height = t.offsetSize.height),
|
|
|
|
+ (this.width += t.offsetSize.width || 0),
|
|
|
|
+ (this.container.lineMaxWidth || 0) < this.width && (this.container.lineMaxWidth = this.width)
|
|
|
|
+ }),
|
|
|
|
+ (e.refreshXAlign = function () {
|
|
|
|
+ if (this.isInline) {
|
|
|
|
+ var t = this.container.contentSize.width - this.width,
|
|
|
|
+ e = this.container.style.textAlign
|
|
|
|
+ e === h ? (t /= 2) : e === l && (t = 0), (this.offsetX = t)
|
|
|
|
+ }
|
|
|
|
+ }),
|
|
|
|
+ (e.getOffsetY = function (t) {
|
|
|
|
+ if (!t || !t.style) return 0
|
|
|
|
+ var e = (t.style || {}).verticalAlign
|
|
|
|
+ return e === g ? this.height - t.contentSize.height : e === v ? (this.height - t.contentSize.height) / 2 : 0
|
|
|
|
+ }),
|
|
|
|
+ (e.setIndent = function (t) {
|
|
|
|
+ var e = t.style.textIndent
|
|
|
|
+ if (e && /^calc/.test(e)) {
|
|
|
|
+ var i = /^calc\((.+)\)$/.exec(e)
|
|
|
|
+ if (i && i[1]) {
|
|
|
|
+ var n = i[1].replace(/([^\s\(\+\-\*\/]+)\.(left|right|bottom|top|width|height)/g, function (e) {
|
|
|
|
+ var i = e.split('.'),
|
|
|
|
+ n = i[0],
|
|
|
|
+ r = i[1],
|
|
|
|
+ o = t.parent.querySelector(n)
|
|
|
|
+ if (o && o.offsetSize) {
|
|
|
|
+ var s = {
|
|
|
|
+ right: o.offsetSize.left + o.offsetSize.width,
|
|
|
|
+ bottom: o.offsetSize.top + o.offsetSize.height
|
|
|
|
+ }
|
|
|
|
+ return o.offsetSize[r] || s[r] || 0
|
|
|
|
+ }
|
|
|
|
+ }),
|
|
|
|
+ r = lt(n.replace(new RegExp(/-?[0-9]+(\.[0-9]+)?(rpx|px|%)/, 'g'), Y))
|
|
|
|
+ t.style.textIndent = r
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }),
|
|
|
|
+ (e.layout = function (t, e) {
|
|
|
|
+ var i = this
|
|
|
|
+ this.refreshXAlign(),
|
|
|
|
+ this.pre
|
|
|
|
+ ? ((this.top = this.pre.top + this.pre.height + this.offsetY), (this.left = e + this.offsetX))
|
|
|
|
+ : ((this.top = Math.max(this.top, this.container.contentSize.top, t) + this.offsetY),
|
|
|
|
+ (this.left = Math.max(this.left, this.container.contentSize.left, e) + this.offsetX)),
|
|
|
|
+ this.elements.forEach(function (t, e) {
|
|
|
|
+ i.setIndent(t)
|
|
|
|
+ var n = i.elements[e - 1],
|
|
|
|
+ r = i.getOffsetY(t)
|
|
|
|
+ ;(t.style.top = i.top + r),
|
|
|
|
+ (t.style.left = n ? n.offsetSize.left + n.offsetSize.width : i.left),
|
|
|
|
+ t.getBoxPosition()
|
|
|
|
+ })
|
|
|
|
+ }),
|
|
|
|
+ (e.refreshLayout = function () {
|
|
|
|
+ ;(this.afterElements = this.afterElements.sort(function (t, e) {
|
|
|
|
+ return t.computedStyle.zIndex - e.computedStyle.zIndex
|
|
|
|
+ })),
|
|
|
|
+ (this.beforeElements = this.beforeElements.sort(function (t, e) {
|
|
|
|
+ return t.computedStyle.zIndex - e.computedStyle.zIndex
|
|
|
|
+ }))
|
|
|
|
+ }),
|
|
|
|
+ t
|
|
|
|
+ )
|
|
|
|
+ })(),
|
|
|
|
+ vt = 'lineMaxHeight',
|
|
|
|
+ yt = 'lineMaxWidth',
|
|
|
|
+ bt =
|
|
|
|
+ (((ut = {})[b] = {
|
|
|
|
+ width: o,
|
|
|
|
+ contentWidth: o,
|
|
|
|
+ lineMaxWidth: yt,
|
|
|
|
+ left: l,
|
|
|
|
+ top: p,
|
|
|
|
+ height: s,
|
|
|
|
+ lineMaxHeight: vt,
|
|
|
|
+ marginLeft: 'marginLeft'
|
|
|
|
+ }),
|
|
|
|
+ (ut[x] = {
|
|
|
|
+ width: s,
|
|
|
|
+ contentWidth: s,
|
|
|
|
+ lineMaxWidth: yt,
|
|
|
|
+ left: p,
|
|
|
|
+ top: l,
|
|
|
|
+ height: o,
|
|
|
|
+ lineMaxHeight: vt,
|
|
|
|
+ marginLeft: 'marginTop'
|
|
|
|
+ }),
|
|
|
|
+ ut),
|
|
|
|
+ xt = (function (t) {
|
|
|
|
+ var e, i
|
|
|
|
+ function n() {
|
|
|
|
+ var e
|
|
|
|
+ return (
|
|
|
|
+ G(
|
|
|
|
+ (function (t) {
|
|
|
|
+ if (void 0 === t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called")
|
|
|
|
+ return t
|
|
|
|
+ })((e = t.call(this) || this)),
|
|
|
|
+ 'outerWidth',
|
|
|
|
+ 0
|
|
|
|
+ ),
|
|
|
|
+ (e.exactValue = 0),
|
|
|
|
+ (e.flexTotal = 0),
|
|
|
|
+ (e.width = 0),
|
|
|
|
+ (e.key = null),
|
|
|
|
+ (e.flexDirection = 'row'),
|
|
|
|
+ e
|
|
|
|
+ )
|
|
|
|
+ }
|
|
|
|
+ ;(i = t), ((e = n).prototype = Object.create(i.prototype)), (e.prototype.constructor = e), J(e, i)
|
|
|
|
+ var r = n.prototype
|
|
|
|
+ return (
|
|
|
|
+ (r.bind = function (t) {
|
|
|
|
+ ;(this.container = t.parent),
|
|
|
|
+ (this.container.line = this),
|
|
|
|
+ this.container.lines
|
|
|
|
+ ? (this.container.lines.push(this),
|
|
|
|
+ (this.pre = this.getPreLine()),
|
|
|
|
+ (this.top = this.pre.top + this.pre.height),
|
|
|
|
+ (this.left = this.container.contentSize.left))
|
|
|
|
+ : ((this.top = this.container.contentSize.top),
|
|
|
|
+ (this.left = this.container.contentSize.left),
|
|
|
|
+ (this.container.lines = [this])),
|
|
|
|
+ t.parent && ((this.flexDirection = t.parent.style.flexDirection), (this.key = bt[this.flexDirection])),
|
|
|
|
+ this.initHeight(t),
|
|
|
|
+ (this.outerWidth =
|
|
|
|
+ t.parent && t.parent.contentSize[this.key.contentWidth]
|
|
|
|
+ ? t.parent.contentSize[this.key.contentWidth]
|
|
|
|
+ : 1 / 0),
|
|
|
|
+ this.add(t)
|
|
|
|
+ }),
|
|
|
|
+ (r.add = function (t) {
|
|
|
|
+ this.ids.push(t.id)
|
|
|
|
+ var e = t.style.flex
|
|
|
|
+ K(e) ? (this.flexTotal += e) : K(this.getWidth(t.style)) && (this.exactValue += this.getWidth(t.offsetSize)),
|
|
|
|
+ this.elements.push(t),
|
|
|
|
+ this.refreshWidthHeight(t),
|
|
|
|
+ t.next || this.closeLine()
|
|
|
|
+ }),
|
|
|
|
+ (r.closeLine = function () {
|
|
|
|
+ this.calcFlex()
|
|
|
|
+ }),
|
|
|
|
+ (r.initHeight = function (t) {
|
|
|
|
+ this[this.key.height] = 0
|
|
|
|
+ }),
|
|
|
|
+ (r.getWidth = function (t) {
|
|
|
|
+ return t[this.key.width] || 0
|
|
|
|
+ }),
|
|
|
|
+ (r.getHeight = function (t) {
|
|
|
|
+ return t[this.key.height] || 0
|
|
|
|
+ }),
|
|
|
|
+ (r.setWidth = function (t, e) {
|
|
|
|
+ t[this.key.width] = e
|
|
|
|
+ }),
|
|
|
|
+ (r.setHeight = function (t, e) {
|
|
|
|
+ t[this.key.height] = e
|
|
|
|
+ }),
|
|
|
|
+ (r.calcFlex = function () {
|
|
|
|
+ var t = this,
|
|
|
|
+ e = this.container.contentSize[this.key.contentWidth],
|
|
|
|
+ i = 0
|
|
|
|
+ this.elements.forEach(function (n) {
|
|
|
|
+ var r = n.style,
|
|
|
|
+ o = n.contentSize,
|
|
|
|
+ s = t.getWidth(r) || t.getWidth(o)
|
|
|
|
+ K(r.flex) && (s = (r.flex / t.flexTotal) * (e - t.exactValue)),
|
|
|
|
+ t.setWidth(n.computedStyle, s),
|
|
|
|
+ (n.isFlexCalc = !0),
|
|
|
|
+ delete n.line,
|
|
|
|
+ delete n.lines,
|
|
|
|
+ delete n.lineMaxWidth,
|
|
|
|
+ n.getBoxWidthHeight(),
|
|
|
|
+ (i = Math.max(i, t.getHeight(n.offsetSize)))
|
|
|
|
+ }),
|
|
|
|
+ this.setHeight(this, i)
|
|
|
|
+ }),
|
|
|
|
+ (r.refreshWidthHeight = function (t) {
|
|
|
|
+ var e = this.container.style.alignItems
|
|
|
|
+ e && !t.style.alignSelf && (t.style.alignSelf = e)
|
|
|
|
+ var i = this.getHeight(t.offsetSize)
|
|
|
|
+ i > this[this.key.height] && (this.container[this.key.lineMaxHeight] = this[this.key.height] = i),
|
|
|
|
+ (this[this.key.width] += this.getWidth(t.offsetSize))
|
|
|
|
+ var n = Math.min(this.getWidth(this), !this.getWidth(this.container.contentSize) && 1 / 0)
|
|
|
|
+ ;(this.container[this.key.lineMaxWidth] || 0) < n && (this.container[this.key.lineMaxWidth] = n)
|
|
|
|
+ }),
|
|
|
|
+ (r.refreshXAlign = function () {
|
|
|
|
+ var t = this,
|
|
|
|
+ e = this.elements.reduce(function (e, i) {
|
|
|
|
+ return e + t.getWidth(i.offsetSize)
|
|
|
|
+ }, 0),
|
|
|
|
+ i = (this.outerWidth == 1 / 0 ? 0 : this.outerWidth - e) || 0,
|
|
|
|
+ n = this.container.style.justifyContent
|
|
|
|
+ n === h
|
|
|
|
+ ? (i /= 2)
|
|
|
|
+ : n === c
|
|
|
|
+ ? (i = 0)
|
|
|
|
+ : ['space-between', 'space-around'].includes(n) &&
|
|
|
|
+ (!(function (e, i) {
|
|
|
|
+ void 0 === i && (i = 0),
|
|
|
|
+ (i /= t.elements.length + (e ? -1 : 1)),
|
|
|
|
+ t.elements.forEach(function (n, r) {
|
|
|
|
+ var o
|
|
|
|
+ ;(e && !r) ||
|
|
|
|
+ (n.style.margin
|
|
|
|
+ ? (n.style.margin[t.key.marginLeft] += i)
|
|
|
|
+ : (n.style.margin = (((o = {})[t.key.marginLeft] = i), o)),
|
|
|
|
+ n.getBoxPosition())
|
|
|
|
+ }),
|
|
|
|
+ (i = 0)
|
|
|
|
+ })('space-between' == n, i),
|
|
|
|
+ (i = 0)),
|
|
|
|
+ (this.offsetX = i || 0),
|
|
|
|
+ this.refreshYAlign()
|
|
|
|
+ }),
|
|
|
|
+ (r.refreshYAlign = function () {
|
|
|
|
+ var t = this
|
|
|
|
+ if (1 == this.container.lines.length) return 0
|
|
|
|
+ var e = this.container.lines.reduce(function (e, i) {
|
|
|
|
+ return e + t.getHeight(i)
|
|
|
|
+ }, 0),
|
|
|
|
+ i = this.container.style.alignItems,
|
|
|
|
+ n = this.getHeight(this.container.contentSize)
|
|
|
|
+ if (i === h) {
|
|
|
|
+ var r = (n - e) / (this.container.lines.length + 1)
|
|
|
|
+ this.container.lines.forEach(function (t) {
|
|
|
|
+ t.offsetY = r
|
|
|
|
+ })
|
|
|
|
+ }
|
|
|
|
+ if (i === f) {
|
|
|
|
+ var o = n - e
|
|
|
|
+ this.container.lines[0].offsetY = o
|
|
|
|
+ }
|
|
|
|
+ }),
|
|
|
|
+ (r.getOffsetY = function (t) {
|
|
|
|
+ if (this.container.lines.length > 1) return 0
|
|
|
|
+ var e = t.style.alignSelf,
|
|
|
|
+ i = this.getHeight(this.container.contentSize),
|
|
|
|
+ n = i - this.getHeight(t.offsetSize)
|
|
|
|
+ return e === f
|
|
|
|
+ ? n
|
|
|
|
+ : e === h
|
|
|
|
+ ? n / 2
|
|
|
|
+ : 'stretch' === e
|
|
|
|
+ ? (n &&
|
|
|
|
+ t.name == S &&
|
|
|
|
+ ((t.style[this.key.width] = this.getWidth(t.offsetSize)),
|
|
|
|
+ (t.style[this.key.height] = i),
|
|
|
|
+ delete t.line,
|
|
|
|
+ delete t.lines,
|
|
|
|
+ t.getBoxWidthHeight()),
|
|
|
|
+ 0)
|
|
|
|
+ : 0
|
|
|
|
+ }),
|
|
|
|
+ (r.layout = function (t, e) {
|
|
|
|
+ var i = this
|
|
|
|
+ this.refreshXAlign(),
|
|
|
|
+ this.pre
|
|
|
|
+ ? ((this.top = this.pre.top + this.pre.height + this.offsetY), (this.left = e + this.offsetX))
|
|
|
|
+ : ((this.top = Math.max(this.top, this.container.contentSize.top, t) + this.offsetY),
|
|
|
|
+ (this.left = Math.max(this.left, this.container.contentSize.left, e) + this.offsetX)),
|
|
|
|
+ this.elements.forEach(function (t, e) {
|
|
|
|
+ i.setIndent(t)
|
|
|
|
+ var n = i.elements[e - 1],
|
|
|
|
+ r = i.getOffsetY(t)
|
|
|
|
+ ;(t.style[i.key.top] = i[i.key.top] + r),
|
|
|
|
+ (t.style[i.key.left] = n ? n.offsetSize[i.key.left] + i.getWidth(n.offsetSize) : i[i.key.left]),
|
|
|
|
+ t.getBoxPosition()
|
|
|
|
+ })
|
|
|
|
+ }),
|
|
|
|
+ n
|
|
|
|
+ )
|
|
|
|
+ })(gt),
|
|
|
|
+ wt = I,
|
|
|
|
+ mt = z,
|
|
|
|
+ St = S,
|
|
|
|
+ zt = k,
|
|
|
|
+ It = B,
|
|
|
|
+ Mt = P,
|
|
|
|
+ kt = O,
|
|
|
|
+ Bt = T,
|
|
|
|
+ Wt = 0,
|
|
|
|
+ Pt = { left: null, top: null, width: null, height: null },
|
|
|
|
+ Ot = new Map(),
|
|
|
|
+ Tt = (function () {
|
|
|
|
+ function t(t, e, i, n) {
|
|
|
|
+ var r = this
|
|
|
|
+ G(this, 'id', Wt++),
|
|
|
|
+ G(this, 'style', { left: null, top: null, width: null, height: null }),
|
|
|
|
+ G(this, 'computedStyle', {}),
|
|
|
|
+ G(this, 'originStyle', {}),
|
|
|
|
+ G(this, 'children', {}),
|
|
|
|
+ G(this, 'layoutBox', V({}, Pt)),
|
|
|
|
+ G(this, 'contentSize', V({}, Pt)),
|
|
|
|
+ G(this, 'clientSize', V({}, Pt)),
|
|
|
|
+ G(this, 'borderSize', V({}, Pt)),
|
|
|
|
+ G(this, 'offsetSize', V({}, Pt)),
|
|
|
|
+ (this.ctx = n),
|
|
|
|
+ (this.root = i),
|
|
|
|
+ e && (this.parent = e),
|
|
|
|
+ (this.name = t.type || t.name),
|
|
|
|
+ (this.attributes = this.getAttributes(t))
|
|
|
|
+ var o = (function (t, e) {
|
|
|
|
+ var i,
|
|
|
|
+ n = ['color', 'fontSize', 'lineHeight', 'verticalAlign', 'fontWeight', 'textAlign'],
|
|
|
|
+ r = t.type,
|
|
|
|
+ o = void 0 === r ? ot : r,
|
|
|
|
+ s = t.styles,
|
|
|
|
+ h = void 0 === s ? {} : s,
|
|
|
|
+ c = (e || {}).computedStyle,
|
|
|
|
+ f = Object.assign({}, F)
|
|
|
|
+ if (([rt, nt, st].includes(o) && !h.display && (f.display = at), c))
|
|
|
|
+ for (var l = 0; l < n.length; l++) {
|
|
|
|
+ var u = n[l]
|
|
|
|
+ ;(h[u] || c[u]) && (h[u] = h[((i = u), i.replace(/([A-Z])/g, '-$1').toLowerCase())] || h[u] || c[u])
|
|
|
|
+ }
|
|
|
|
+ for (
|
|
|
|
+ var p = function (t) {
|
|
|
|
+ var e,
|
|
|
|
+ i,
|
|
|
|
+ n,
|
|
|
|
+ r,
|
|
|
|
+ s = h[t]
|
|
|
|
+ if ((/-/.test(t) && ((t = ft(t)), (f[t] = s)), /^(box|text)?shadow$/i.test(t))) {
|
|
|
|
+ var c = []
|
|
|
|
+ return (
|
|
|
|
+ s.replace(/((-?\d+(rpx|px|vw|vh)?\s+?){3})(.+)/, function () {
|
|
|
|
+ for (var t = [], e = 0; e < arguments.length; e++) t[e] = arguments[e]
|
|
|
|
+ c = t[1]
|
|
|
|
+ .match(/-?\d+(rpx|px|vw|vh)?/g)
|
|
|
|
+ .map(function (t) {
|
|
|
|
+ return Y(t)
|
|
|
|
+ })
|
|
|
|
+ .concat(t[4])
|
|
|
|
+ }),
|
|
|
|
+ /^text/.test(t) ? (f.textShadow = c) : (f.boxShadow = c),
|
|
|
|
+ 'continue'
|
|
|
|
+ )
|
|
|
|
+ }
|
|
|
|
+ if (/^border/i.test(t) && !/radius$/i.test(t)) {
|
|
|
|
+ var l = t.match(/^border([BTRLa-z]+)?/)[0],
|
|
|
|
+ u = t.match(/[W|S|C][a-z]+/),
|
|
|
|
+ p = s
|
|
|
|
+ .replace(/([\(,])\s+|\s+([\),])/g, '$1$2')
|
|
|
|
+ .split(' ')
|
|
|
|
+ .map(function (t) {
|
|
|
|
+ return /^\d/.test(t) ? Y(t, '') : t
|
|
|
|
+ })
|
|
|
|
+ return (
|
|
|
|
+ f[l] || (f[l] = {}),
|
|
|
|
+ 1 == p.length && u
|
|
|
|
+ ? (f[l][l + u[0]] = p[0])
|
|
|
|
+ : (f[l] =
|
|
|
|
+ (((e = {})[l + 'Width'] = $(p[0]) ? p[0] : 0),
|
|
|
|
+ (e[l + 'Style'] = p[1] || 'solid'),
|
|
|
|
+ (e[l + 'Color'] = p[2] || 'black'),
|
|
|
|
+ e)),
|
|
|
|
+ 'continue'
|
|
|
|
+ )
|
|
|
|
+ }
|
|
|
|
+ if (/^background(color)?$/i.test(t)) return (f.backgroundColor = s), 'continue'
|
|
|
|
+ if (/^objectPosition$/i.test(t)) return (f[t] = s.split(' ')), 'continue'
|
|
|
|
+ if (/^backgroundPosition$/i.test(t)) return (f[t] = s.split(' ')), 'continue'
|
|
|
|
+ if (/padding|margin|radius/i.test(t)) {
|
|
|
|
+ var g = /radius$/i.test(t),
|
|
|
|
+ v = 'borderRadius',
|
|
|
|
+ y = g ? v : t.match(/[a-z]+/)[0],
|
|
|
|
+ b = function (t, e) {
|
|
|
|
+ return 'border'.concat(t).concat(e, 'Radius')
|
|
|
|
+ },
|
|
|
|
+ x = [0, 0, 0, 0].map(function (t, e) {
|
|
|
|
+ return g ? [b(d[0], d[3]), b(d[0], d[1]), b(d[2], d[1]), b(d[2], d[3])][e] : y + d[e]
|
|
|
|
+ })
|
|
|
|
+ if ('padding' === t || t === a || /^(border)?radius$/i.test(t)) {
|
|
|
|
+ p = ''
|
|
|
|
+ .concat(s)
|
|
|
|
+ .split(' ')
|
|
|
|
+ .map(function (e) {
|
|
|
|
+ return /^-?\d+(rpx|px|vh|vw)?$/.test(e) ? Y(e) : t != a && /auto/.test(e) ? 0 : e
|
|
|
|
+ }, []) || [0]
|
|
|
|
+ var w = g ? v : t,
|
|
|
|
+ m = p[0],
|
|
|
|
+ S = p[1],
|
|
|
|
+ z = p[2],
|
|
|
|
+ I = p[3]
|
|
|
|
+ f[w] =
|
|
|
|
+ (((i = {})[x[0]] = et(m) ? 0 : m),
|
|
|
|
+ (i[x[1]] = $(S) || et(S) ? S : m),
|
|
|
|
+ (i[x[2]] = et($(z) ? z : m) ? 0 : $(z) ? z : m),
|
|
|
|
+ (i[x[3]] = $(I) ? I : null != S ? S : m),
|
|
|
|
+ i)
|
|
|
|
+ } else
|
|
|
|
+ 'object' == typeof f[y] ||
|
|
|
|
+ (f[y] =
|
|
|
|
+ (((n = {})[x[0]] = f[y] || 0),
|
|
|
|
+ (n[x[1]] = f[y] || 0),
|
|
|
|
+ (n[x[2]] = f[y] || 0),
|
|
|
|
+ (n[x[3]] = f[y] || 0),
|
|
|
|
+ n)),
|
|
|
|
+ (f[y][t] = (y == a && et(s)) || it(s) ? s : Y(s))
|
|
|
|
+ return 'continue'
|
|
|
|
+ }
|
|
|
|
+ if (/^transform$/i.test(t))
|
|
|
|
+ return (
|
|
|
|
+ (f[t] = {}),
|
|
|
|
+ s.replace(/([a-zA-Z]+)\(([0-9,-\.%rpxdeg\s]+)\)/g, function (e, i, n) {
|
|
|
|
+ var r = n.split(',').map(function (t) {
|
|
|
|
+ return t.replace(/(^\s*)|(\s*$)/g, '')
|
|
|
|
+ }),
|
|
|
|
+ o = function (t, e) {
|
|
|
|
+ return t.includes('deg') ? 1 * t : e && !it(e) ? Y(t, e) : t
|
|
|
|
+ }
|
|
|
|
+ i.includes('matrix')
|
|
|
|
+ ? (f[t][i] = r.map(function (t) {
|
|
|
|
+ return 1 * t
|
|
|
|
+ }))
|
|
|
|
+ : i.includes('rotate')
|
|
|
|
+ ? (f[t][i] = 1 * n.match(/^-?\d+(\.\d+)?/)[0])
|
|
|
|
+ : /[X, Y]/.test(i)
|
|
|
|
+ ? (f[t][i] = /[X]/.test(i) ? o(r[0], h.width) : o(r[0], h.height))
|
|
|
|
+ : ((f[t][i + 'X'] = o(r[0], h.width)), (f[t][i + 'Y'] = o(r[1] || r[0], h.height)))
|
|
|
|
+ }),
|
|
|
|
+ 'continue'
|
|
|
|
+ )
|
|
|
|
+ if (
|
|
|
|
+ (/^font$/i.test(t) && console.warn('font 不支持简写'),
|
|
|
|
+ /^textindent/i.test(t) && (f[t] = /^calc/.test(s) ? s : Y(s)),
|
|
|
|
+ /^textstroke/i.test(t))
|
|
|
|
+ ) {
|
|
|
|
+ var M = t.match(/color|width|type$/i),
|
|
|
|
+ k =
|
|
|
|
+ ((l = 'textStroke'),
|
|
|
|
+ s.split(' ').map(function (t) {
|
|
|
|
+ return /^\d+(rpx|px|vh|vw)?$/.test(t) ? Y(t) : t
|
|
|
|
+ }))
|
|
|
|
+ return (
|
|
|
|
+ M
|
|
|
|
+ ? f[l]
|
|
|
|
+ ? (f[l][M[0]] = k[0])
|
|
|
|
+ : (f[l] = (((r = {})[M[0]] = k[0]), r))
|
|
|
|
+ : (f[l] = { width: k[0], color: k[1], type: k[2] }),
|
|
|
|
+ 'continue'
|
|
|
|
+ )
|
|
|
|
+ }
|
|
|
|
+ ;/^left|top$/i.test(t) && ![ht, ct].includes(h.position)
|
|
|
|
+ ? (f[t] = 0)
|
|
|
|
+ : (f[t] = /^-?[\d\.]+(px|rpx|vw|vh)?$/.test(s)
|
|
|
|
+ ? Y(s)
|
|
|
|
+ : /em$/.test(s) && o == rt
|
|
|
|
+ ? Y(s, h.fontSize)
|
|
|
|
+ : s)
|
|
|
|
+ },
|
|
|
|
+ g = 0,
|
|
|
|
+ v = Object.keys(h);
|
|
|
|
+ g < v.length;
|
|
|
|
+ g++
|
|
|
|
+ )
|
|
|
|
+ p(v[g])
|
|
|
|
+ return f
|
|
|
|
+ })(t, e)
|
|
|
|
+ ;(this.isAbsolute = o.position == kt),
|
|
|
|
+ (this.isFixed = o.position == Bt),
|
|
|
|
+ (this.originStyle = o),
|
|
|
|
+ (this.styles = t.styles),
|
|
|
|
+ Object.keys(o).forEach(function (t) {
|
|
|
|
+ Object.defineProperty(r.style, t, {
|
|
|
|
+ configurable: !0,
|
|
|
|
+ enumerable: !0,
|
|
|
|
+ get: function () {
|
|
|
|
+ return o[t]
|
|
|
|
+ },
|
|
|
|
+ set: function (e) {
|
|
|
|
+ o[t] = e
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ })
|
|
|
|
+ var s = {
|
|
|
|
+ contentSize: V({}, this.contentSize),
|
|
|
|
+ clientSize: V({}, this.clientSize),
|
|
|
|
+ borderSize: V({}, this.borderSize),
|
|
|
|
+ offsetSize: V({}, this.offsetSize)
|
|
|
|
+ }
|
|
|
|
+ Object.keys(s).forEach(function (t) {
|
|
|
|
+ Object.keys(r[t]).forEach(function (e) {
|
|
|
|
+ Object.defineProperty(r[t], e, {
|
|
|
|
+ configurable: !0,
|
|
|
|
+ enumerable: !0,
|
|
|
|
+ get: function () {
|
|
|
|
+ return s[t][e]
|
|
|
|
+ },
|
|
|
|
+ set: function (i) {
|
|
|
|
+ s[t][e] = i
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ })
|
|
|
|
+ }),
|
|
|
|
+ (this.computedStyle = this.style)
|
|
|
|
+ }
|
|
|
|
+ var e = t.prototype
|
|
|
|
+ return (
|
|
|
|
+ (e.add = function (t) {
|
|
|
|
+ ;(t.parent = this), (this.children[t.id] = t)
|
|
|
|
+ }),
|
|
|
|
+ (e.getChildren = function () {
|
|
|
|
+ var t = this
|
|
|
|
+ return Object.keys(this.children).map(function (e) {
|
|
|
|
+ return t.children[e]
|
|
|
|
+ })
|
|
|
|
+ }),
|
|
|
|
+ (e.prev = function (t) {
|
|
|
|
+ void 0 === t && (t = this)
|
|
|
|
+ var e = t.parent.getChildren()
|
|
|
|
+ return e[
|
|
|
|
+ e.findIndex(function (e) {
|
|
|
|
+ return e.id == t.id
|
|
|
|
+ }) - 1
|
|
|
|
+ ]
|
|
|
|
+ }),
|
|
|
|
+ (e.querySelector = function (t) {
|
|
|
|
+ var e = this.getChildren()
|
|
|
|
+ if ('string' != typeof t) return null
|
|
|
|
+ var i = e.find(function (e) {
|
|
|
|
+ var i = e.id,
|
|
|
|
+ n = e.attributes
|
|
|
|
+ return i == t || (n && n.uid == t)
|
|
|
|
+ })
|
|
|
|
+ return i || (this.parent && this.parent.querySelector && this.parent.querySelector(t)) || null
|
|
|
|
+ }),
|
|
|
|
+ (e.getLineRect = function (t, e) {
|
|
|
|
+ var i = { width: 0, height: 0 },
|
|
|
|
+ n = e ? e.lines : this.parent && this.parent.lines
|
|
|
|
+ return (
|
|
|
|
+ (n &&
|
|
|
|
+ n.find(function (e) {
|
|
|
|
+ return e.ids.includes(t)
|
|
|
|
+ })) ||
|
|
|
|
+ i
|
|
|
|
+ )
|
|
|
|
+ }),
|
|
|
|
+ (e.setPosition = function (t, e) {
|
|
|
|
+ var i = { left: o, top: s, right: o, bottom: s }
|
|
|
|
+ Object.keys(i).forEach(function (n) {
|
|
|
|
+ var r = n == u ? l : p
|
|
|
|
+ ;[u, g].includes(n) && void 0 !== t.style[n] && !$(t.originStyle[r])
|
|
|
|
+ ? (t.style[r] = e[i[n]] - t.offsetSize[i[n]] - Y(t.style[n], e[i[n]]))
|
|
|
|
+ : (t.style[n] = Y(t.style[n], e[i[n]]))
|
|
|
|
+ })
|
|
|
|
+ }),
|
|
|
|
+ (e.getAttributes = function (t) {
|
|
|
|
+ var e = t.attributes,
|
|
|
|
+ i = void 0 === e ? {} : e,
|
|
|
|
+ n = t.uid,
|
|
|
|
+ r = t.url,
|
|
|
|
+ o = t.src,
|
|
|
|
+ s = t.replace,
|
|
|
|
+ a = t.text
|
|
|
|
+ return n && (i.uid = n), (r || o) && (i.src = i.src || r || o), s && (i.replace = s), a && (i.text = a), i
|
|
|
|
+ }),
|
|
|
|
+ (e.getOffsetSize = function (t, e, i) {
|
|
|
|
+ void 0 === i && (i = y[3])
|
|
|
|
+ var n = e || {},
|
|
|
|
+ r = n.margin,
|
|
|
|
+ o = (r = void 0 === r ? {} : r).marginLeft,
|
|
|
|
+ s = void 0 === o ? 0 : o,
|
|
|
|
+ a = r.marginTop,
|
|
|
|
+ h = void 0 === a ? 0 : a,
|
|
|
|
+ c = r.marginRight,
|
|
|
|
+ f = void 0 === c ? 0 : c,
|
|
|
|
+ d = r.marginBottom,
|
|
|
|
+ l = void 0 === d ? 0 : d,
|
|
|
|
+ u = n.padding,
|
|
|
|
+ p = (u = void 0 === u ? {} : u).paddingLeft,
|
|
|
|
+ g = void 0 === p ? 0 : p,
|
|
|
|
+ v = u.paddingTop,
|
|
|
|
+ b = void 0 === v ? 0 : v,
|
|
|
|
+ x = u.paddingRight,
|
|
|
|
+ w = void 0 === x ? 0 : x,
|
|
|
|
+ m = u.paddingBottom,
|
|
|
|
+ S = void 0 === m ? 0 : m,
|
|
|
|
+ z = n.border,
|
|
|
|
+ I = (z = void 0 === z ? {} : z).borderWidth,
|
|
|
|
+ M = void 0 === I ? 0 : I,
|
|
|
|
+ k = n.borderTop,
|
|
|
|
+ B = (k = void 0 === k ? {} : k).borderTopWidth,
|
|
|
|
+ W = void 0 === B ? M : B,
|
|
|
|
+ P = n.borderBottom,
|
|
|
|
+ O = (P = void 0 === P ? {} : P).borderBottomWidth,
|
|
|
|
+ T = void 0 === O ? M : O,
|
|
|
|
+ L = n.borderRight,
|
|
|
|
+ R = (L = void 0 === L ? {} : L).borderRightWidth,
|
|
|
|
+ F = void 0 === R ? M : R,
|
|
|
|
+ A = n.borderLeft,
|
|
|
|
+ E = (A = void 0 === A ? {} : A).borderLeftWidth,
|
|
|
|
+ j = void 0 === E ? M : E,
|
|
|
|
+ C = s < 0 && f < 0 ? Math.abs(s + f) : 0,
|
|
|
|
+ H = h < 0 && l < 0 ? Math.abs(h + l) : 0,
|
|
|
|
+ D = s >= 0 && f < 0,
|
|
|
|
+ $ = h >= 0 && l < 0
|
|
|
|
+ return (
|
|
|
|
+ i == y[0] &&
|
|
|
|
+ ((this[i].left = t.left + s + g + j + (D ? 2 * -f : 0)),
|
|
|
|
+ (this[i].top = t.top + h + b + W + ($ ? 2 * -l : 0)),
|
|
|
|
+ (this[i].width = t.width + (this[i].widthAdd ? 0 : C)),
|
|
|
|
+ (this[i].height = t.height + (this[i].heightAdd ? 0 : H)),
|
|
|
|
+ (this[i].widthAdd = C),
|
|
|
|
+ (this[i].heightAdd = H)),
|
|
|
|
+ i == y[1] &&
|
|
|
|
+ ((this[i].left = t.left + s + j + (D < 0 ? -f : 0)),
|
|
|
|
+ (this[i].top = t.top + h + W + ($ ? -l : 0)),
|
|
|
|
+ (this[i].width = t.width + g + w),
|
|
|
|
+ (this[i].height = t.height + b + S)),
|
|
|
|
+ i == y[2] &&
|
|
|
|
+ ((this[i].left = t.left + s + j / 2 + (D < 0 ? -f : 0)),
|
|
|
|
+ (this[i].top = t.top + h + W / 2 + ($ ? -l : 0)),
|
|
|
|
+ (this[i].width = t.width + g + w + j / 2 + F / 2),
|
|
|
|
+ (this[i].height = t.height + b + S + T / 2 + W / 2)),
|
|
|
|
+ i == y[3] &&
|
|
|
|
+ ((this[i].left = t.left + (D < 0 ? -f : 0)),
|
|
|
|
+ (this[i].top = t.top + ($ ? -l : 0)),
|
|
|
|
+ (this[i].width = t.width + g + w + j + F + s + f),
|
|
|
|
+ (this[i].height = t.height + b + S + T + W + l + h)),
|
|
|
|
+ this[i]
|
|
|
|
+ )
|
|
|
|
+ }),
|
|
|
|
+ (e.layoutBoxUpdate = function (t, e, i, n) {
|
|
|
|
+ var r = this
|
|
|
|
+ if ((void 0 === i && (i = -1), 'border-box' == e.boxSizing)) {
|
|
|
|
+ var o = e || {},
|
|
|
|
+ s = o.border,
|
|
|
|
+ a = (s = void 0 === s ? {} : s).borderWidth,
|
|
|
|
+ h = void 0 === a ? 0 : a,
|
|
|
|
+ c = o.borderTop,
|
|
|
|
+ f = (c = void 0 === c ? {} : c).borderTopWidth,
|
|
|
|
+ d = void 0 === f ? h : f,
|
|
|
|
+ l = o.borderBottom,
|
|
|
|
+ u = (l = void 0 === l ? {} : l).borderBottomWidth,
|
|
|
|
+ p = void 0 === u ? h : u,
|
|
|
|
+ g = o.borderRight,
|
|
|
|
+ v = (g = void 0 === g ? {} : g).borderRightWidth,
|
|
|
|
+ b = void 0 === v ? h : v,
|
|
|
|
+ x = o.borderLeft,
|
|
|
|
+ w = (x = void 0 === x ? {} : x).borderLeftWidth,
|
|
|
|
+ m = void 0 === w ? h : w,
|
|
|
|
+ S = o.padding,
|
|
|
|
+ z = (S = void 0 === S ? {} : S).paddingTop,
|
|
|
|
+ I = void 0 === z ? 0 : z,
|
|
|
|
+ M = S.paddingRight,
|
|
|
|
+ k = void 0 === M ? 0 : M,
|
|
|
|
+ B = S.paddingBottom,
|
|
|
|
+ W = void 0 === B ? 0 : B,
|
|
|
|
+ P = S.paddingLeft,
|
|
|
|
+ O = void 0 === P ? 0 : P
|
|
|
|
+ i || (t.width -= O + k + b + m), 1 !== i || n || (t.height -= I + W + d + p)
|
|
|
|
+ }
|
|
|
|
+ this.layoutBox &&
|
|
|
|
+ (y.forEach(function (i) {
|
|
|
|
+ return (r.layoutBox[i] = r.getOffsetSize(t, e, i))
|
|
|
|
+ }),
|
|
|
|
+ (this.layoutBox = Object.assign({}, this.layoutBox, this.layoutBox.borderSize)))
|
|
|
|
+ }),
|
|
|
|
+ (e.getBoxPosition = function () {
|
|
|
|
+ var t = this.computedStyle,
|
|
|
|
+ e = this.fixedLine,
|
|
|
|
+ i = this.lines,
|
|
|
|
+ n = t.left,
|
|
|
|
+ r = void 0 === n ? 0 : n,
|
|
|
|
+ o = t.top,
|
|
|
|
+ s = void 0 === o ? 0 : o,
|
|
|
|
+ a = V({}, this.contentSize, { left: r, top: s }),
|
|
|
|
+ h = this.contentSize.top - this.offsetSize.top,
|
|
|
|
+ c = this.contentSize.left - this.offsetSize.left
|
|
|
|
+ if (this.root.fixedLine && !this.root.isDone) {
|
|
|
|
+ this.root.isDone = !0
|
|
|
|
+ for (var f, d = Z(this.root.fixedLine.elements); !(f = d()).done; ) {
|
|
|
|
+ var l = f.value
|
|
|
|
+ l.setPosition(l, this.root.offsetSize), l.getBoxPosition()
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if (e)
|
|
|
|
+ for (var u, p = Z(e.elements); !(u = p()).done; ) {
|
|
|
|
+ var g = u.value,
|
|
|
|
+ v = V({}, this.borderSize, { left: r, top: s })
|
|
|
|
+ g.setPosition(g, v)
|
|
|
|
+ var y = this.borderSize.top - this.offsetSize.top,
|
|
|
|
+ b = this.borderSize.left - this.offsetSize.left
|
|
|
|
+ ;(g.style.left += r + b), (g.style.top += s + y), g.getBoxPosition()
|
|
|
|
+ }
|
|
|
|
+ if (i)
|
|
|
|
+ for (var x, w = Z(i); !(x = w()).done; ) {
|
|
|
|
+ x.value.layout(a.top + h, a.left + c)
|
|
|
|
+ }
|
|
|
|
+ return this.layoutBoxUpdate(a, t), this.layoutBox
|
|
|
|
+ }),
|
|
|
|
+ (e.getBoxState = function (t, e) {
|
|
|
|
+ return this.isBlock(t) || this.isBlock(e)
|
|
|
|
+ }),
|
|
|
|
+ (e.isBlock = function (t) {
|
|
|
|
+ return void 0 === t && (t = this), t && t.style.display == zt
|
|
|
|
+ }),
|
|
|
|
+ (e.isFlex = function (t) {
|
|
|
|
+ return void 0 === t && (t = this), t && t.style.display == Mt
|
|
|
|
+ }),
|
|
|
|
+ (e.isInFlow = function () {
|
|
|
|
+ return !(this.isAbsolute || this.isFixed)
|
|
|
|
+ }),
|
|
|
|
+ (e.inFlexBox = function (t) {
|
|
|
|
+ return (
|
|
|
|
+ void 0 === t && (t = this),
|
|
|
|
+ !!t.isInFlow() && !!t.parent && (!(!t.parent || t.parent.style.display !== Mt) || void 0)
|
|
|
|
+ )
|
|
|
|
+ }),
|
|
|
|
+ (e.isInline = function (t) {
|
|
|
|
+ return void 0 === t && (t = this), t && t.style.display == It
|
|
|
|
+ }),
|
|
|
|
+ (e.contrastSize = function (t, e, i) {
|
|
|
|
+ var n = t
|
|
|
|
+ return i && (n = Math.min(n, i)), e && (n = Math.max(n, e)), n
|
|
|
|
+ }),
|
|
|
|
+ (e.measureText = function (t, e) {
|
|
|
|
+ var i = this.ctx.measureText(t),
|
|
|
|
+ n = i.width,
|
|
|
|
+ r = i.actualBoundingBoxAscent,
|
|
|
|
+ o = i.actualBoundingBoxDescent
|
|
|
|
+ return { ascent: r, descent: o, width: n, fontHeight: r + o || 0.7 * e + 1 }
|
|
|
|
+ }),
|
|
|
|
+ (e.getParentSize = function (t, e) {
|
|
|
|
+ if ((void 0 === t && (t = this), void 0 === e && (e = !1), t && t.parent)) {
|
|
|
|
+ if (t.parent.contentSize.width) return t.parent.contentSize
|
|
|
|
+ if (e) return this.getParentSize(t.parent, e)
|
|
|
|
+ }
|
|
|
|
+ return null
|
|
|
|
+ }),
|
|
|
|
+ (e.getBoxWidthHeight = function () {
|
|
|
|
+ var t = this,
|
|
|
|
+ e = this.name,
|
|
|
|
+ i = this.computedStyle,
|
|
|
|
+ n = this.attributes,
|
|
|
|
+ r = this.parent,
|
|
|
|
+ o = void 0 === r ? {} : r,
|
|
|
|
+ s = this.ctx,
|
|
|
|
+ a = this.getChildren(),
|
|
|
|
+ h = i.left,
|
|
|
|
+ c = void 0 === h ? 0 : h,
|
|
|
|
+ f = i.top,
|
|
|
|
+ d = void 0 === f ? 0 : f,
|
|
|
|
+ l = i.bottom,
|
|
|
|
+ u = i.right,
|
|
|
|
+ p = i.width,
|
|
|
|
+ g = void 0 === p ? 0 : p,
|
|
|
|
+ v = i.minWidth,
|
|
|
|
+ y = i.maxWidth,
|
|
|
|
+ b = i.minHeight,
|
|
|
|
+ x = i.maxHeight,
|
|
|
|
+ w = i.height,
|
|
|
|
+ m = void 0 === w ? 0 : w,
|
|
|
|
+ S = i.fontSize,
|
|
|
|
+ z = i.fontWeight,
|
|
|
|
+ I = i.fontFamily,
|
|
|
|
+ M = i.fontStyle,
|
|
|
|
+ k = i.position
|
|
|
|
+ i.textIndent
|
|
|
|
+ var B = i.lineClamp,
|
|
|
|
+ W = i.lineHeight,
|
|
|
|
+ P = i.padding,
|
|
|
|
+ O = void 0 === P ? {} : P,
|
|
|
|
+ T = i.margin,
|
|
|
|
+ L = void 0 === T ? {} : T,
|
|
|
|
+ R = i.border,
|
|
|
|
+ F = (R = void 0 === R ? {} : R).borderWidth,
|
|
|
|
+ A = void 0 === F ? 0 : F,
|
|
|
|
+ E = i.borderRight,
|
|
|
|
+ j = (E = void 0 === E ? {} : E).borderRightWidth,
|
|
|
|
+ C = void 0 === j ? A : j,
|
|
|
|
+ H = i.borderLeft,
|
|
|
|
+ D = (H = void 0 === H ? {} : H).borderLeftWidth,
|
|
|
|
+ $ = void 0 === D ? A : D,
|
|
|
|
+ U = o.contentSize && o.contentSize.width,
|
|
|
|
+ N = o.contentSize && o.contentSize.height
|
|
|
|
+ if (
|
|
|
|
+ (it(g) && U && (g = Y(g, U)),
|
|
|
|
+ it(g) && !U && (g = null),
|
|
|
|
+ it(m) && N && (m = Y(m, N)),
|
|
|
|
+ it(m) && !N && (m = null),
|
|
|
|
+ it(v) && U && (v = Y(v, U)),
|
|
|
|
+ it(y) && U && (y = Y(y, U)),
|
|
|
|
+ it(b) && N && (b = Y(b, N)),
|
|
|
|
+ it(x) && N && (x = Y(x, N)),
|
|
|
|
+ i.padding && U)
|
|
|
|
+ )
|
|
|
|
+ for (var _ in i.padding) Object.hasOwnProperty.call(O, _) && (O[_] = Y(O[_], U))
|
|
|
|
+ var X = O.paddingRight,
|
|
|
|
+ q = void 0 === X ? 0 : X,
|
|
|
|
+ G = O.paddingLeft,
|
|
|
|
+ V = void 0 === G ? 0 : G
|
|
|
|
+ if (i.margin && [L.marginLeft, L.marginRight].includes('auto'))
|
|
|
|
+ if (g) {
|
|
|
|
+ var J = (U && U - g - q - V - $ - C) || 0
|
|
|
|
+ L.marginLeft == L.marginRight
|
|
|
|
+ ? (L.marginLeft = L.marginRight = J / 2)
|
|
|
|
+ : et(L.marginLeft)
|
|
|
|
+ ? (L.marginLeft = J)
|
|
|
|
+ : (L.marginRight = J)
|
|
|
|
+ } else L.marginLeft = L.marginRight = 0
|
|
|
|
+ var Q = L.marginRight,
|
|
|
|
+ Z = void 0 === Q ? 0 : Q,
|
|
|
|
+ K = L.marginLeft,
|
|
|
|
+ tt = { width: g, height: m, left: 0, top: 0 },
|
|
|
|
+ nt = V + q + $ + C + (void 0 === K ? 0 : K) + Z
|
|
|
|
+ if (((this.offsetWidth = nt), e == mt && !this.attributes.widths)) {
|
|
|
|
+ var rt = n.text || ''
|
|
|
|
+ s.save(),
|
|
|
|
+ s.setFonts({ fontFamily: I, fontSize: S, fontWeight: z, fontStyle: M }),
|
|
|
|
+ rt.length,
|
|
|
|
+ '\n' == rt && ((rt = ''), (this.isBr = !0)),
|
|
|
|
+ ('' + rt).split('\n').map(function (e) {
|
|
|
|
+ var i = Array.from(e).map(function (e) {
|
|
|
|
+ var i = '' + (/^[\u4e00-\u9fa5]+$/.test(e) ? 'cn' : e) + I + S + z + M,
|
|
|
|
+ n = Ot.get(i)
|
|
|
|
+ if (n) return { width: n, text: e }
|
|
|
|
+ var r = t.measureText(e, S).width
|
|
|
|
+ return Ot.set(i, r), { width: r, text: e }
|
|
|
|
+ }),
|
|
|
|
+ n = t.measureText(e, S),
|
|
|
|
+ r = n.fontHeight,
|
|
|
|
+ o = n.ascent,
|
|
|
|
+ s = n.descent
|
|
|
|
+ ;(t.attributes.fontHeight = r),
|
|
|
|
+ (t.attributes.ascent = o),
|
|
|
|
+ (t.attributes.descent = s),
|
|
|
|
+ t.attributes.widths || (t.attributes.widths = []),
|
|
|
|
+ t.attributes.widths.push({
|
|
|
|
+ widths: i,
|
|
|
|
+ total: i.reduce(function (t, e) {
|
|
|
|
+ return t + e.width
|
|
|
|
+ }, 0)
|
|
|
|
+ })
|
|
|
|
+ }),
|
|
|
|
+ s.restore()
|
|
|
|
+ }
|
|
|
|
+ if (e == wt && null == g) {
|
|
|
|
+ var ot = n.width,
|
|
|
|
+ st = n.height
|
|
|
|
+ ;(tt.width = this.contrastSize(Math.round((ot * m) / st) || 0, v, y)), this.layoutBoxUpdate(tt, i, 0)
|
|
|
|
+ }
|
|
|
|
+ if (e == mt && null == g) {
|
|
|
|
+ var at = this.attributes.widths,
|
|
|
|
+ ht = Math.max.apply(
|
|
|
|
+ Math,
|
|
|
|
+ at.map(function (t) {
|
|
|
|
+ return t.total
|
|
|
|
+ })
|
|
|
|
+ )
|
|
|
|
+ if (o && U > 0 && (ht > U || this.isBlock(this)) && !this.isAbsolute && !this.isFixed) ht = U
|
|
|
|
+ ;(tt.width = this.contrastSize(ht, v, y)), this.layoutBoxUpdate(tt, i, 0)
|
|
|
|
+ }
|
|
|
|
+ if (e == mt && (o.style.flex || !this.attributes.lines)) {
|
|
|
|
+ var ct = this.attributes.widths.length
|
|
|
|
+ this.attributes.widths.forEach(function (t) {
|
|
|
|
+ return t.widths.reduce(function (t, e, i) {
|
|
|
|
+ return t + e.width > tt.width ? (ct++, e.width) : t + e.width
|
|
|
|
+ }, 0)
|
|
|
|
+ }),
|
|
|
|
+ (ct = B && ct > B ? B : ct),
|
|
|
|
+ (this.attributes.lines = ct)
|
|
|
|
+ }
|
|
|
|
+ if (e == wt && null == m) {
|
|
|
|
+ var ft = n.width,
|
|
|
|
+ dt = n.height
|
|
|
|
+ n.text, (tt.height = this.contrastSize(Y((tt.width * dt) / ft) || 0, b, x)), this.layoutBoxUpdate(tt, i, 1)
|
|
|
|
+ }
|
|
|
|
+ e == mt &&
|
|
|
|
+ null == m &&
|
|
|
|
+ ((W = Y(W, S)),
|
|
|
|
+ (tt.height = this.contrastSize(Y(this.attributes.lines * W), b, x)),
|
|
|
|
+ this.layoutBoxUpdate(tt, i, 1, !0)),
|
|
|
|
+ !g &&
|
|
|
|
+ o &&
|
|
|
|
+ o.children &&
|
|
|
|
+ U &&
|
|
|
|
+ (!this.isFlex(o) || o.isFlexCalc) &&
|
|
|
|
+ (([St, mt].includes(e) && this.isFlex()) || (e == St && this.isBlock(this) && this.isInFlow())) &&
|
|
|
|
+ ((tt.width = this.contrastSize(U - (o.isFlexCalc ? 0 : nt), v, y)), this.layoutBoxUpdate(tt, i)),
|
|
|
|
+ g && !it(g) && ((tt.width = this.contrastSize(g, v, y)), this.layoutBoxUpdate(tt, i, 0)),
|
|
|
|
+ m && !it(m) && ((tt.height = this.contrastSize(tt.height, b, x)), this.layoutBoxUpdate(tt, i, 1))
|
|
|
|
+ var lt = 0
|
|
|
|
+ if (a.length) {
|
|
|
|
+ var ut = null,
|
|
|
|
+ pt = !1
|
|
|
|
+ a.forEach(function (e, n) {
|
|
|
|
+ e.getBoxWidthHeight()
|
|
|
|
+ var r = a[n + 1]
|
|
|
|
+ if ((r && r.isInFlow() && (e.next = r), !t.line || !t.line.ids.includes(e.id)))
|
|
|
|
+ if (e.isInFlow() && !e.inFlexBox()) {
|
|
|
|
+ var o = t.getBoxState(ut, e)
|
|
|
|
+ if (e.isBr) return (pt = !0)
|
|
|
|
+ t.line && t.line.canIEnter(e) && !o && !pt ? t.line.add(e) : ((pt = !1), new gt().bind(e)), (ut = e)
|
|
|
|
+ } else
|
|
|
|
+ e.inFlexBox()
|
|
|
|
+ ? t.line && (t.line.canIEnter(e) || 'nowrap' == i.flexWrap)
|
|
|
|
+ ? t.line.add(e)
|
|
|
|
+ : new xt().bind(e)
|
|
|
|
+ : e.isFixed
|
|
|
|
+ ? t.root.fixedLine
|
|
|
|
+ ? t.root.fixedLine.fixedAdd(e)
|
|
|
|
+ : new gt().fixedBind(e)
|
|
|
|
+ : t.fixedLine
|
|
|
|
+ ? t.fixedLine.fixedAdd(e)
|
|
|
|
+ : new gt().fixedBind(e, 1)
|
|
|
|
+ }),
|
|
|
|
+ this.lines &&
|
|
|
|
+ (lt = this.lines.reduce(function (t, e) {
|
|
|
|
+ return t + e.height
|
|
|
|
+ }, 0))
|
|
|
|
+ }
|
|
|
|
+ var vt = 0,
|
|
|
|
+ yt = 0
|
|
|
|
+ if (!g && (this.isAbsolute || this.isFixed) && U) {
|
|
|
|
+ var bt = k == kt ? U : this.root.width,
|
|
|
|
+ zt = bt - (it(c) ? Y(c, bt) : c) - (it(u) ? Y(u, bt) : u)
|
|
|
|
+ vt = i.left ? zt : this.lineMaxWidth
|
|
|
|
+ }
|
|
|
|
+ if (!m && (null != d ? d : this.isAbsolute || (this.isFixed && N))) {
|
|
|
|
+ var It = k == kt ? N : this.root.height,
|
|
|
|
+ Mt = It - (it(d) ? Y(d, It) : d) - (it(l) ? Y(l, It) : l)
|
|
|
|
+ yt = i.top ? Mt : 0
|
|
|
|
+ }
|
|
|
|
+ if (
|
|
|
|
+ ((g && !it(g)) ||
|
|
|
|
+ tt.width ||
|
|
|
|
+ ((tt.width =
|
|
|
|
+ vt ||
|
|
|
|
+ this.contrastSize(
|
|
|
|
+ (this.isBlock(this) && !this.isInFlow() ? U || o.lineMaxWidth : this.lineMaxWidth) ||
|
|
|
|
+ this.lineMaxWidth,
|
|
|
|
+ v,
|
|
|
|
+ y
|
|
|
|
+ )),
|
|
|
|
+ this.layoutBoxUpdate(tt, i, 0)),
|
|
|
|
+ m || (!lt && !yt) || ((tt.height = yt || this.contrastSize(lt, b, x)), this.layoutBoxUpdate(tt, i)),
|
|
|
|
+ i.borderRadius && this.borderSize && this.borderSize.width)
|
|
|
|
+ )
|
|
|
|
+ for (var _ in i.borderRadius)
|
|
|
|
+ Object.hasOwnProperty.call(i.borderRadius, _) &&
|
|
|
|
+ (i.borderRadius[_] = Y(i.borderRadius[_], this.borderSize.width))
|
|
|
|
+ return this.layoutBox
|
|
|
|
+ }),
|
|
|
|
+ (e.layout = function () {
|
|
|
|
+ return (
|
|
|
|
+ this.getBoxWidthHeight(),
|
|
|
|
+ (this.root.offsetSize = this.offsetSize),
|
|
|
|
+ (this.root.contentSize = this.contentSize),
|
|
|
|
+ this.getBoxPosition(),
|
|
|
|
+ this.offsetSize
|
|
|
|
+ )
|
|
|
|
+ }),
|
|
|
|
+ t
|
|
|
|
+ )
|
|
|
|
+ })(),
|
|
|
|
+ Lt = (function () {
|
|
|
|
+ var t,
|
|
|
|
+ e,
|
|
|
|
+ i,
|
|
|
|
+ n,
|
|
|
|
+ r,
|
|
|
|
+ o,
|
|
|
|
+ s = [
|
|
|
|
+ 0, 11, 15, 19, 23, 27, 31, 16, 18, 20, 22, 24, 26, 28, 20, 22, 24, 24, 26, 28, 28, 22, 24, 24, 26, 26, 28, 28,
|
|
|
|
+ 24, 24, 26, 26, 26, 28, 28, 24, 26, 26, 26, 28, 28
|
|
|
|
+ ],
|
|
|
|
+ a = [
|
|
|
|
+ 3220, 1468, 2713, 1235, 3062, 1890, 2119, 1549, 2344, 2936, 1117, 2583, 1330, 2470, 1667, 2249, 2028, 3780,
|
|
|
|
+ 481, 4011, 142, 3098, 831, 3445, 592, 2517, 1776, 2234, 1951, 2827, 1070, 2660, 1345, 3177
|
|
|
|
+ ],
|
|
|
|
+ h = [
|
|
|
|
+ 30660, 29427, 32170, 30877, 26159, 25368, 27713, 26998, 21522, 20773, 24188, 23371, 17913, 16590, 20375,
|
|
|
|
+ 19104, 13663, 12392, 16177, 14854, 9396, 8579, 11994, 11245, 5769, 5054, 7399, 6608, 1890, 597, 3340, 2107
|
|
|
|
+ ],
|
|
|
|
+ c = [
|
|
|
|
+ 1, 0, 19, 7, 1, 0, 16, 10, 1, 0, 13, 13, 1, 0, 9, 17, 1, 0, 34, 10, 1, 0, 28, 16, 1, 0, 22, 22, 1, 0, 16, 28,
|
|
|
|
+ 1, 0, 55, 15, 1, 0, 44, 26, 2, 0, 17, 18, 2, 0, 13, 22, 1, 0, 80, 20, 2, 0, 32, 18, 2, 0, 24, 26, 4, 0, 9, 16,
|
|
|
|
+ 1, 0, 108, 26, 2, 0, 43, 24, 2, 2, 15, 18, 2, 2, 11, 22, 2, 0, 68, 18, 4, 0, 27, 16, 4, 0, 19, 24, 4, 0, 15,
|
|
|
|
+ 28, 2, 0, 78, 20, 4, 0, 31, 18, 2, 4, 14, 18, 4, 1, 13, 26, 2, 0, 97, 24, 2, 2, 38, 22, 4, 2, 18, 22, 4, 2,
|
|
|
|
+ 14, 26, 2, 0, 116, 30, 3, 2, 36, 22, 4, 4, 16, 20, 4, 4, 12, 24, 2, 2, 68, 18, 4, 1, 43, 26, 6, 2, 19, 24, 6,
|
|
|
|
+ 2, 15, 28, 4, 0, 81, 20, 1, 4, 50, 30, 4, 4, 22, 28, 3, 8, 12, 24, 2, 2, 92, 24, 6, 2, 36, 22, 4, 6, 20, 26,
|
|
|
|
+ 7, 4, 14, 28, 4, 0, 107, 26, 8, 1, 37, 22, 8, 4, 20, 24, 12, 4, 11, 22, 3, 1, 115, 30, 4, 5, 40, 24, 11, 5,
|
|
|
|
+ 16, 20, 11, 5, 12, 24, 5, 1, 87, 22, 5, 5, 41, 24, 5, 7, 24, 30, 11, 7, 12, 24, 5, 1, 98, 24, 7, 3, 45, 28,
|
|
|
|
+ 15, 2, 19, 24, 3, 13, 15, 30, 1, 5, 107, 28, 10, 1, 46, 28, 1, 15, 22, 28, 2, 17, 14, 28, 5, 1, 120, 30, 9, 4,
|
|
|
|
+ 43, 26, 17, 1, 22, 28, 2, 19, 14, 28, 3, 4, 113, 28, 3, 11, 44, 26, 17, 4, 21, 26, 9, 16, 13, 26, 3, 5, 107,
|
|
|
|
+ 28, 3, 13, 41, 26, 15, 5, 24, 30, 15, 10, 15, 28, 4, 4, 116, 28, 17, 0, 42, 26, 17, 6, 22, 28, 19, 6, 16, 30,
|
|
|
|
+ 2, 7, 111, 28, 17, 0, 46, 28, 7, 16, 24, 30, 34, 0, 13, 24, 4, 5, 121, 30, 4, 14, 47, 28, 11, 14, 24, 30, 16,
|
|
|
|
+ 14, 15, 30, 6, 4, 117, 30, 6, 14, 45, 28, 11, 16, 24, 30, 30, 2, 16, 30, 8, 4, 106, 26, 8, 13, 47, 28, 7, 22,
|
|
|
|
+ 24, 30, 22, 13, 15, 30, 10, 2, 114, 28, 19, 4, 46, 28, 28, 6, 22, 28, 33, 4, 16, 30, 8, 4, 122, 30, 22, 3, 45,
|
|
|
|
+ 28, 8, 26, 23, 30, 12, 28, 15, 30, 3, 10, 117, 30, 3, 23, 45, 28, 4, 31, 24, 30, 11, 31, 15, 30, 7, 7, 116,
|
|
|
|
+ 30, 21, 7, 45, 28, 1, 37, 23, 30, 19, 26, 15, 30, 5, 10, 115, 30, 19, 10, 47, 28, 15, 25, 24, 30, 23, 25, 15,
|
|
|
|
+ 30, 13, 3, 115, 30, 2, 29, 46, 28, 42, 1, 24, 30, 23, 28, 15, 30, 17, 0, 115, 30, 10, 23, 46, 28, 10, 35, 24,
|
|
|
|
+ 30, 19, 35, 15, 30, 17, 1, 115, 30, 14, 21, 46, 28, 29, 19, 24, 30, 11, 46, 15, 30, 13, 6, 115, 30, 14, 23,
|
|
|
|
+ 46, 28, 44, 7, 24, 30, 59, 1, 16, 30, 12, 7, 121, 30, 12, 26, 47, 28, 39, 14, 24, 30, 22, 41, 15, 30, 6, 14,
|
|
|
|
+ 121, 30, 6, 34, 47, 28, 46, 10, 24, 30, 2, 64, 15, 30, 17, 4, 122, 30, 29, 14, 46, 28, 49, 10, 24, 30, 24, 46,
|
|
|
|
+ 15, 30, 4, 18, 122, 30, 13, 32, 46, 28, 48, 14, 24, 30, 42, 32, 15, 30, 20, 4, 117, 30, 40, 7, 47, 28, 43, 22,
|
|
|
|
+ 24, 30, 10, 67, 15, 30, 19, 6, 118, 30, 18, 31, 47, 28, 34, 34, 24, 30, 20, 61, 15, 30
|
|
|
|
+ ],
|
|
|
|
+ f = [
|
|
|
|
+ 255, 0, 1, 25, 2, 50, 26, 198, 3, 223, 51, 238, 27, 104, 199, 75, 4, 100, 224, 14, 52, 141, 239, 129, 28, 193,
|
|
|
|
+ 105, 248, 200, 8, 76, 113, 5, 138, 101, 47, 225, 36, 15, 33, 53, 147, 142, 218, 240, 18, 130, 69, 29, 181,
|
|
|
|
+ 194, 125, 106, 39, 249, 185, 201, 154, 9, 120, 77, 228, 114, 166, 6, 191, 139, 98, 102, 221, 48, 253, 226,
|
|
|
|
+ 152, 37, 179, 16, 145, 34, 136, 54, 208, 148, 206, 143, 150, 219, 189, 241, 210, 19, 92, 131, 56, 70, 64, 30,
|
|
|
|
+ 66, 182, 163, 195, 72, 126, 110, 107, 58, 40, 84, 250, 133, 186, 61, 202, 94, 155, 159, 10, 21, 121, 43, 78,
|
|
|
|
+ 212, 229, 172, 115, 243, 167, 87, 7, 112, 192, 247, 140, 128, 99, 13, 103, 74, 222, 237, 49, 197, 254, 24,
|
|
|
|
+ 227, 165, 153, 119, 38, 184, 180, 124, 17, 68, 146, 217, 35, 32, 137, 46, 55, 63, 209, 91, 149, 188, 207, 205,
|
|
|
|
+ 144, 135, 151, 178, 220, 252, 190, 97, 242, 86, 211, 171, 20, 42, 93, 158, 132, 60, 57, 83, 71, 109, 65, 162,
|
|
|
|
+ 31, 45, 67, 216, 183, 123, 164, 118, 196, 23, 73, 236, 127, 12, 111, 246, 108, 161, 59, 82, 41, 157, 85, 170,
|
|
|
|
+ 251, 96, 134, 177, 187, 204, 62, 90, 203, 89, 95, 176, 156, 169, 160, 81, 11, 245, 22, 235, 122, 117, 44, 215,
|
|
|
|
+ 79, 174, 213, 233, 230, 231, 173, 232, 116, 214, 244, 234, 168, 80, 88, 175
|
|
|
|
+ ],
|
|
|
|
+ d = [
|
|
|
|
+ 1, 2, 4, 8, 16, 32, 64, 128, 29, 58, 116, 232, 205, 135, 19, 38, 76, 152, 45, 90, 180, 117, 234, 201, 143, 3,
|
|
|
|
+ 6, 12, 24, 48, 96, 192, 157, 39, 78, 156, 37, 74, 148, 53, 106, 212, 181, 119, 238, 193, 159, 35, 70, 140, 5,
|
|
|
|
+ 10, 20, 40, 80, 160, 93, 186, 105, 210, 185, 111, 222, 161, 95, 190, 97, 194, 153, 47, 94, 188, 101, 202, 137,
|
|
|
|
+ 15, 30, 60, 120, 240, 253, 231, 211, 187, 107, 214, 177, 127, 254, 225, 223, 163, 91, 182, 113, 226, 217, 175,
|
|
|
|
+ 67, 134, 17, 34, 68, 136, 13, 26, 52, 104, 208, 189, 103, 206, 129, 31, 62, 124, 248, 237, 199, 147, 59, 118,
|
|
|
|
+ 236, 197, 151, 51, 102, 204, 133, 23, 46, 92, 184, 109, 218, 169, 79, 158, 33, 66, 132, 21, 42, 84, 168, 77,
|
|
|
|
+ 154, 41, 82, 164, 85, 170, 73, 146, 57, 114, 228, 213, 183, 115, 230, 209, 191, 99, 198, 145, 63, 126, 252,
|
|
|
|
+ 229, 215, 179, 123, 246, 241, 255, 227, 219, 171, 75, 150, 49, 98, 196, 149, 55, 110, 220, 165, 87, 174, 65,
|
|
|
|
+ 130, 25, 50, 100, 200, 141, 7, 14, 28, 56, 112, 224, 221, 167, 83, 166, 81, 162, 89, 178, 121, 242, 249, 239,
|
|
|
|
+ 195, 155, 43, 86, 172, 69, 138, 9, 18, 36, 72, 144, 61, 122, 244, 245, 247, 243, 251, 235, 203, 139, 11, 22,
|
|
|
|
+ 44, 88, 176, 125, 250, 233, 207, 131, 27, 54, 108, 216, 173, 71, 142, 0
|
|
|
|
+ ],
|
|
|
|
+ l = [],
|
|
|
|
+ u = [],
|
|
|
|
+ p = [],
|
|
|
|
+ g = [],
|
|
|
|
+ v = [],
|
|
|
|
+ y = 2
|
|
|
|
+ function b(t, e) {
|
|
|
|
+ var i
|
|
|
|
+ t > e && ((i = t), (t = e), (e = i)), (i = e), (i *= e), (i += e), (i >>= 1), (g[(i += t)] = 1)
|
|
|
|
+ }
|
|
|
|
+ function x(t, i) {
|
|
|
|
+ var n
|
|
|
|
+ for (p[t + e * i] = 1, n = -2; n < 2; n++)
|
|
|
|
+ (p[t + n + e * (i - 2)] = 1),
|
|
|
|
+ (p[t - 2 + e * (i + n + 1)] = 1),
|
|
|
|
+ (p[t + 2 + e * (i + n)] = 1),
|
|
|
|
+ (p[t + n + 1 + e * (i + 2)] = 1)
|
|
|
|
+ for (n = 0; n < 2; n++) b(t - 1, i + n), b(t + 1, i - n), b(t - n, i - 1), b(t + n, i + 1)
|
|
|
|
+ }
|
|
|
|
+ function w(t) {
|
|
|
|
+ for (; t >= 255; ) t = ((t -= 255) >> 8) + (255 & t)
|
|
|
|
+ return t
|
|
|
|
+ }
|
|
|
|
+ var m = []
|
|
|
|
+ function S(t, e, i, n) {
|
|
|
|
+ var r, o, s
|
|
|
|
+ for (r = 0; r < n; r++) l[i + r] = 0
|
|
|
|
+ for (r = 0; r < e; r++) {
|
|
|
|
+ if (255 != (s = f[l[t + r] ^ l[i]])) for (o = 1; o < n; o++) l[i + o - 1] = l[i + o] ^ d[w(s + m[n - o])]
|
|
|
|
+ else for (o = i; o < i + n; o++) l[o] = l[o + 1]
|
|
|
|
+ l[i + n - 1] = 255 == s ? 0 : d[w(s + m[0])]
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ function z(t, e) {
|
|
|
|
+ var i
|
|
|
|
+ return t > e && ((i = t), (t = e), (e = i)), (i = e), (i += e * e), (i >>= 1), g[(i += t)]
|
|
|
|
+ }
|
|
|
|
+ function I(t) {
|
|
|
|
+ var i, n, r, o
|
|
|
|
+ switch (t) {
|
|
|
|
+ case 0:
|
|
|
|
+ for (n = 0; n < e; n++) for (i = 0; i < e; i++) (i + n) & 1 || z(i, n) || (p[i + n * e] ^= 1)
|
|
|
|
+ break
|
|
|
|
+ case 1:
|
|
|
|
+ for (n = 0; n < e; n++) for (i = 0; i < e; i++) 1 & n || z(i, n) || (p[i + n * e] ^= 1)
|
|
|
|
+ break
|
|
|
|
+ case 2:
|
|
|
|
+ for (n = 0; n < e; n++)
|
|
|
|
+ for (r = 0, i = 0; i < e; i++, r++) 3 == r && (r = 0), r || z(i, n) || (p[i + n * e] ^= 1)
|
|
|
|
+ break
|
|
|
|
+ case 3:
|
|
|
|
+ for (o = 0, n = 0; n < e; n++, o++)
|
|
|
|
+ for (3 == o && (o = 0), r = o, i = 0; i < e; i++, r++)
|
|
|
|
+ 3 == r && (r = 0), r || z(i, n) || (p[i + n * e] ^= 1)
|
|
|
|
+ break
|
|
|
|
+ case 4:
|
|
|
|
+ for (n = 0; n < e; n++)
|
|
|
|
+ for (r = 0, o = (n >> 1) & 1, i = 0; i < e; i++, r++)
|
|
|
|
+ 3 == r && ((r = 0), (o = !o)), o || z(i, n) || (p[i + n * e] ^= 1)
|
|
|
|
+ break
|
|
|
|
+ case 5:
|
|
|
|
+ for (o = 0, n = 0; n < e; n++, o++)
|
|
|
|
+ for (3 == o && (o = 0), r = 0, i = 0; i < e; i++, r++)
|
|
|
|
+ 3 == r && (r = 0), (i & n & 1) + !(!r | !o) || z(i, n) || (p[i + n * e] ^= 1)
|
|
|
|
+ break
|
|
|
|
+ case 6:
|
|
|
|
+ for (o = 0, n = 0; n < e; n++, o++)
|
|
|
|
+ for (3 == o && (o = 0), r = 0, i = 0; i < e; i++, r++)
|
|
|
|
+ 3 == r && (r = 0), ((i & n & 1) + (r && r == o)) & 1 || z(i, n) || (p[i + n * e] ^= 1)
|
|
|
|
+ break
|
|
|
|
+ case 7:
|
|
|
|
+ for (o = 0, n = 0; n < e; n++, o++)
|
|
|
|
+ for (3 == o && (o = 0), r = 0, i = 0; i < e; i++, r++)
|
|
|
|
+ 3 == r && (r = 0), ((r && r == o) + ((i + n) & 1)) & 1 || z(i, n) || (p[i + n * e] ^= 1)
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ function M(t) {
|
|
|
|
+ var e,
|
|
|
|
+ i = 0
|
|
|
|
+ for (e = 0; e <= t; e++) v[e] >= 5 && (i += 3 + v[e] - 5)
|
|
|
|
+ for (e = 3; e < t - 1; e += 2)
|
|
|
|
+ v[e - 2] == v[e + 2] &&
|
|
|
|
+ v[e + 2] == v[e - 1] &&
|
|
|
|
+ v[e - 1] == v[e + 1] &&
|
|
|
|
+ 3 * v[e - 1] == v[e] &&
|
|
|
|
+ (0 == v[e - 3] || e + 3 > t || 3 * v[e - 3] >= 4 * v[e] || 3 * v[e + 3] >= 4 * v[e]) &&
|
|
|
|
+ (i += 40)
|
|
|
|
+ return i
|
|
|
|
+ }
|
|
|
|
+ function k() {
|
|
|
|
+ var t,
|
|
|
|
+ i,
|
|
|
|
+ n,
|
|
|
|
+ r,
|
|
|
|
+ o,
|
|
|
|
+ s = 0,
|
|
|
|
+ a = 0
|
|
|
|
+ for (i = 0; i < e - 1; i++)
|
|
|
|
+ for (t = 0; t < e - 1; t++)
|
|
|
|
+ ((p[t + e * i] && p[t + 1 + e * i] && p[t + e * (i + 1)] && p[t + 1 + e * (i + 1)]) ||
|
|
|
|
+ !(p[t + e * i] || p[t + 1 + e * i] || p[t + e * (i + 1)] || p[t + 1 + e * (i + 1)])) &&
|
|
|
|
+ (s += 3)
|
|
|
|
+ for (i = 0; i < e; i++) {
|
|
|
|
+ for (v[0] = 0, n = r = t = 0; t < e; t++)
|
|
|
|
+ (o = p[t + e * i]) == r ? v[n]++ : (v[++n] = 1), (a += (r = o) ? 1 : -1)
|
|
|
|
+ s += M(n)
|
|
|
|
+ }
|
|
|
|
+ a < 0 && (a = -a)
|
|
|
|
+ var h = a,
|
|
|
|
+ c = 0
|
|
|
|
+ for (h += h << 2, h <<= 1; h > e * e; ) (h -= e * e), c++
|
|
|
|
+ for (s += 10 * c, t = 0; t < e; t++) {
|
|
|
|
+ for (v[0] = 0, n = r = i = 0; i < e; i++) (o = p[t + e * i]) == r ? v[n]++ : (v[++n] = 1), (r = o)
|
|
|
|
+ s += M(n)
|
|
|
|
+ }
|
|
|
|
+ return s
|
|
|
|
+ }
|
|
|
|
+ var B = null
|
|
|
|
+ return {
|
|
|
|
+ api: {
|
|
|
|
+ get ecclevel() {
|
|
|
|
+ return y
|
|
|
|
+ },
|
|
|
|
+ set ecclevel(t) {
|
|
|
|
+ y = t
|
|
|
|
+ },
|
|
|
|
+ get size() {
|
|
|
|
+ return _size
|
|
|
|
+ },
|
|
|
|
+ set size(t) {
|
|
|
|
+ _size = t
|
|
|
|
+ },
|
|
|
|
+ get canvas() {
|
|
|
|
+ return B
|
|
|
|
+ },
|
|
|
|
+ set canvas(t) {
|
|
|
|
+ B = t
|
|
|
|
+ },
|
|
|
|
+ getFrame: function (v) {
|
|
|
|
+ return (function (v) {
|
|
|
|
+ var M, B, W, P, O, T, L, R
|
|
|
|
+ ;(P = v.length), (t = 0)
|
|
|
|
+ do {
|
|
|
|
+ if (
|
|
|
|
+ (t++,
|
|
|
|
+ (W = 4 * (y - 1) + 16 * (t - 1)),
|
|
|
|
+ (i = c[W++]),
|
|
|
|
+ (n = c[W++]),
|
|
|
|
+ (r = c[W++]),
|
|
|
|
+ (o = c[W]),
|
|
|
|
+ P <= (W = r * (i + n) + n - 3 + (t <= 9)))
|
|
|
|
+ )
|
|
|
|
+ break
|
|
|
|
+ } while (t < 40)
|
|
|
|
+ for (e = 17 + 4 * t, O = r + (r + o) * (i + n) + n, P = 0; P < O; P++) u[P] = 0
|
|
|
|
+ for (l = v.slice(0), P = 0; P < e * e; P++) p[P] = 0
|
|
|
|
+ for (P = 0; P < (e * (e + 1) + 1) / 2; P++) g[P] = 0
|
|
|
|
+ for (P = 0; P < 3; P++) {
|
|
|
|
+ for (
|
|
|
|
+ W = 0, B = 0, 1 == P && (W = e - 7), 2 == P && (B = e - 7), p[B + 3 + e * (W + 3)] = 1, M = 0;
|
|
|
|
+ M < 6;
|
|
|
|
+ M++
|
|
|
|
+ )
|
|
|
|
+ (p[B + M + e * W] = 1),
|
|
|
|
+ (p[B + e * (W + M + 1)] = 1),
|
|
|
|
+ (p[B + 6 + e * (W + M)] = 1),
|
|
|
|
+ (p[B + M + 1 + e * (W + 6)] = 1)
|
|
|
|
+ for (M = 1; M < 5; M++) b(B + M, W + 1), b(B + 1, W + M + 1), b(B + 5, W + M), b(B + M + 1, W + 5)
|
|
|
|
+ for (M = 2; M < 4; M++)
|
|
|
|
+ (p[B + M + e * (W + 2)] = 1),
|
|
|
|
+ (p[B + 2 + e * (W + M + 1)] = 1),
|
|
|
|
+ (p[B + 4 + e * (W + M)] = 1),
|
|
|
|
+ (p[B + M + 1 + e * (W + 4)] = 1)
|
|
|
|
+ }
|
|
|
|
+ if (t > 1)
|
|
|
|
+ for (P = s[t], B = e - 7; ; ) {
|
|
|
|
+ for (M = e - 7; M > P - 3 && (x(M, B), !(M < P)); ) M -= P
|
|
|
|
+ if (B <= P + 9) break
|
|
|
|
+ x(6, (B -= P)), x(B, 6)
|
|
|
|
+ }
|
|
|
|
+ for (p[8 + e * (e - 8)] = 1, B = 0; B < 7; B++) b(7, B), b(e - 8, B), b(7, B + e - 7)
|
|
|
|
+ for (M = 0; M < 8; M++) b(M, 7), b(M + e - 8, 7), b(M, e - 8)
|
|
|
|
+ for (M = 0; M < 9; M++) b(M, 8)
|
|
|
|
+ for (M = 0; M < 8; M++) b(M + e - 8, 8), b(8, M)
|
|
|
|
+ for (B = 0; B < 7; B++) b(8, B + e - 7)
|
|
|
|
+ for (M = 0; M < e - 14; M++)
|
|
|
|
+ 1 & M ? (b(8 + M, 6), b(6, 8 + M)) : ((p[8 + M + 6 * e] = 1), (p[6 + e * (8 + M)] = 1))
|
|
|
|
+ if (t > 6)
|
|
|
|
+ for (P = a[t - 7], W = 17, M = 0; M < 6; M++)
|
|
|
|
+ for (B = 0; B < 3; B++, W--)
|
|
|
|
+ 1 & (W > 11 ? t >> (W - 12) : P >> W)
|
|
|
|
+ ? ((p[5 - M + e * (2 - B + e - 11)] = 1), (p[2 - B + e - 11 + e * (5 - M)] = 1))
|
|
|
|
+ : (b(5 - M, 2 - B + e - 11), b(2 - B + e - 11, 5 - M))
|
|
|
|
+ for (B = 0; B < e; B++) for (M = 0; M <= B; M++) p[M + e * B] && b(M, B)
|
|
|
|
+ for (O = l.length, T = 0; T < O; T++) u[T] = l.charCodeAt(T)
|
|
|
|
+ if (((l = u.slice(0)), O >= (M = r * (i + n) + n) - 2 && ((O = M - 2), t > 9 && O--), (T = O), t > 9)) {
|
|
|
|
+ for (l[T + 2] = 0, l[T + 3] = 0; T--; ) (P = l[T]), (l[T + 3] |= 255 & (P << 4)), (l[T + 2] = P >> 4)
|
|
|
|
+ ;(l[2] |= 255 & (O << 4)), (l[1] = O >> 4), (l[0] = 64 | (O >> 12))
|
|
|
|
+ } else {
|
|
|
|
+ for (l[T + 1] = 0, l[T + 2] = 0; T--; ) (P = l[T]), (l[T + 2] |= 255 & (P << 4)), (l[T + 1] = P >> 4)
|
|
|
|
+ ;(l[1] |= 255 & (O << 4)), (l[0] = 64 | (O >> 4))
|
|
|
|
+ }
|
|
|
|
+ for (T = O + 3 - (t < 10); T < M; ) (l[T++] = 236), (l[T++] = 17)
|
|
|
|
+ for (m[0] = 1, T = 0; T < o; T++) {
|
|
|
|
+ for (m[T + 1] = 1, L = T; L > 0; L--) m[L] = m[L] ? m[L - 1] ^ d[w(f[m[L]] + T)] : m[L - 1]
|
|
|
|
+ m[0] = d[w(f[m[0]] + T)]
|
|
|
|
+ }
|
|
|
|
+ for (T = 0; T <= o; T++) m[T] = f[m[T]]
|
|
|
|
+ for (W = M, B = 0, T = 0; T < i; T++) S(B, r, W, o), (B += r), (W += o)
|
|
|
|
+ for (T = 0; T < n; T++) S(B, r + 1, W, o), (B += r + 1), (W += o)
|
|
|
|
+ for (B = 0, T = 0; T < r; T++) {
|
|
|
|
+ for (L = 0; L < i; L++) u[B++] = l[T + L * r]
|
|
|
|
+ for (L = 0; L < n; L++) u[B++] = l[i * r + T + L * (r + 1)]
|
|
|
|
+ }
|
|
|
|
+ for (L = 0; L < n; L++) u[B++] = l[i * r + T + L * (r + 1)]
|
|
|
|
+ for (T = 0; T < o; T++) for (L = 0; L < i + n; L++) u[B++] = l[M + T + L * o]
|
|
|
|
+ for (l = u, M = B = e - 1, W = O = 1, R = (r + o) * (i + n) + n, T = 0; T < R; T++)
|
|
|
|
+ for (P = l[T], L = 0; L < 8; L++, P <<= 1) {
|
|
|
|
+ 128 & P && (p[M + e * B] = 1)
|
|
|
|
+ do {
|
|
|
|
+ O
|
|
|
|
+ ? M--
|
|
|
|
+ : (M++,
|
|
|
|
+ W
|
|
|
|
+ ? 0 != B
|
|
|
|
+ ? B--
|
|
|
|
+ : ((W = !W), 6 == (M -= 2) && (M--, (B = 9)))
|
|
|
|
+ : B != e - 1
|
|
|
|
+ ? B++
|
|
|
|
+ : ((W = !W), 6 == (M -= 2) && (M--, (B -= 8)))),
|
|
|
|
+ (O = !O)
|
|
|
|
+ } while (z(M, B))
|
|
|
|
+ }
|
|
|
|
+ for (
|
|
|
|
+ l = p.slice(0), P = 0, B = 3e4, W = 0;
|
|
|
|
+ W < 8 && (I(W), (M = k()) < B && ((B = M), (P = W)), 7 != P);
|
|
|
|
+ W++
|
|
|
|
+ )
|
|
|
|
+ p = l.slice(0)
|
|
|
|
+ for (P != W && I(P), B = h[P + ((y - 1) << 3)], W = 0; W < 8; W++, B >>= 1)
|
|
|
|
+ 1 & B && ((p[e - 1 - W + 8 * e] = 1), W < 6 ? (p[8 + e * W] = 1) : (p[8 + e * (W + 1)] = 1))
|
|
|
|
+ for (W = 0; W < 7; W++, B >>= 1)
|
|
|
|
+ 1 & B && ((p[8 + e * (e - 7 + W)] = 1), W ? (p[6 - W + 8 * e] = 1) : (p[7 + 8 * e] = 1))
|
|
|
|
+ return p
|
|
|
|
+ })(v)
|
|
|
|
+ },
|
|
|
|
+ utf16to8: function (t) {
|
|
|
|
+ var e, i, n, r
|
|
|
|
+ for (e = '', n = t.length, i = 0; i < n; i++)
|
|
|
|
+ (r = t.charCodeAt(i)) >= 1 && r <= 127
|
|
|
|
+ ? (e += t.charAt(i))
|
|
|
|
+ : r > 2047
|
|
|
|
+ ? ((e += String.fromCharCode(224 | ((r >> 12) & 15))),
|
|
|
|
+ (e += String.fromCharCode(128 | ((r >> 6) & 63))),
|
|
|
|
+ (e += String.fromCharCode(128 | ((r >> 0) & 63))))
|
|
|
|
+ : ((e += String.fromCharCode(192 | ((r >> 6) & 31))), (e += String.fromCharCode(128 | ((r >> 0) & 63))))
|
|
|
|
+ return e
|
|
|
|
+ },
|
|
|
|
+ draw: function (t, i, n, r, o) {
|
|
|
|
+ i.drawView(n, r)
|
|
|
|
+ var s = i.ctx,
|
|
|
|
+ a = n.contentSize,
|
|
|
|
+ h = a.width,
|
|
|
|
+ c = a.height,
|
|
|
|
+ f = a.left,
|
|
|
|
+ d = a.top
|
|
|
|
+ r.borderRadius, r.backgroundColor
|
|
|
|
+ var l = r.color,
|
|
|
|
+ u = void 0 === l ? '#000000' : l
|
|
|
|
+ r.border, n.contentSize.left, n.borderSize.left, n.contentSize.top, n.borderSize.top
|
|
|
|
+ if (((y = o || y), s)) {
|
|
|
|
+ s.save(), i.setOpacity(r), i.setTransform(n, r)
|
|
|
|
+ var p = Math.min(h, c)
|
|
|
|
+ t = this.utf16to8(t)
|
|
|
|
+ var g = this.getFrame(t),
|
|
|
|
+ v = p / e
|
|
|
|
+ s.setFillStyle(u)
|
|
|
|
+ for (var b = 0; b < e; b++)
|
|
|
|
+ for (var x = 0; x < e; x++) g[x * e + b] && s.fillRect(f + v * b, d + v * x, v, v)
|
|
|
|
+ s.restore(), i.setBorder(n, r)
|
|
|
|
+ } else console.warn('No canvas provided to draw QR code in!')
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ })(),
|
|
|
|
+ Rt = I,
|
|
|
|
+ Ft = z,
|
|
|
|
+ At = M,
|
|
|
|
+ Et = S,
|
|
|
|
+ jt = w.TOP,
|
|
|
|
+ Ct = w.MIDDLE,
|
|
|
|
+ Ht = w.BOTTOM,
|
|
|
|
+ Dt = m.LEFT,
|
|
|
|
+ $t = m.CENTER,
|
|
|
|
+ Yt = m.RIGHT,
|
|
|
|
+ Ut = (function () {
|
|
|
|
+ function t(t) {
|
|
|
|
+ var e,
|
|
|
|
+ i,
|
|
|
|
+ n = this
|
|
|
|
+ ;(this.v = '1.9.5.1'),
|
|
|
|
+ (this.id = null),
|
|
|
|
+ (this.pixelRatio = 1),
|
|
|
|
+ (this.width = 0),
|
|
|
|
+ (this.height = 0),
|
|
|
|
+ (this.sleep = 1e3 / 30),
|
|
|
|
+ (this.count = 0),
|
|
|
|
+ (this.isRate = !1),
|
|
|
|
+ (this.isDraw = !0),
|
|
|
|
+ (this.isCache = !0),
|
|
|
|
+ (this.fixed = ''),
|
|
|
|
+ (this.useCORS = !1),
|
|
|
|
+ (this.performance = !1),
|
|
|
|
+ (this.imageBus = []),
|
|
|
|
+ (this.createImage = function (t, e) {
|
|
|
|
+ return new Promise(function (i, r) {
|
|
|
|
+ var o = null
|
|
|
|
+ window || n.canvas.createImage
|
|
|
|
+ ? ((o = n.canvas && n.canvas.createImage ? n.canvas.createImage() : new Image()),
|
|
|
|
+ e && o.setAttribute('crossOrigin', 'Anonymous'),
|
|
|
|
+ (o.src = t),
|
|
|
|
+ (o.onload = function () {
|
|
|
|
+ i({ width: o.naturalWidth || o.width, height: o.naturalHeight || o.height, path: o, src: this.src })
|
|
|
|
+ }),
|
|
|
|
+ (o.onerror = function (t) {
|
|
|
|
+ r(t)
|
|
|
|
+ }))
|
|
|
|
+ : r({ fail: 'getImageInfo fail', src: t })
|
|
|
|
+ })
|
|
|
|
+ }),
|
|
|
|
+ (this.options = t),
|
|
|
|
+ Object.assign(this, t),
|
|
|
|
+ (this.ctx =
|
|
|
|
+ ((e = t.context),
|
|
|
|
+ (i = {
|
|
|
|
+ get: function (t, i) {
|
|
|
|
+ if ('setFonts' === i)
|
|
|
|
+ return function (t) {
|
|
|
|
+ var i = t.fontFamily,
|
|
|
|
+ n = void 0 === i ? 'sans-serif' : i,
|
|
|
|
+ o = t.fontSize,
|
|
|
|
+ s = void 0 === o ? 14 : o,
|
|
|
|
+ a = t.fontWeight,
|
|
|
|
+ h = void 0 === a ? 'normal' : a,
|
|
|
|
+ c = t.fontStyle,
|
|
|
|
+ f = void 0 === c ? 'normal' : c
|
|
|
|
+ C == r.MP_TOUTIAO && ((h = 'bold' == h ? 'bold' : ''), (f = 'italic' == f ? 'italic' : '')),
|
|
|
|
+ (e.font = ''.concat(f, ' ').concat(h, ' ').concat(Math.round(s), 'px ').concat(n))
|
|
|
|
+ }
|
|
|
|
+ if (!e.draw || !e.setFillStyle) {
|
|
|
|
+ if ('setFillStyle' === i)
|
|
|
|
+ return function (t) {
|
|
|
|
+ e.fillStyle = t
|
|
|
|
+ }
|
|
|
|
+ if ('setStrokeStyle' === i)
|
|
|
|
+ return function (t) {
|
|
|
|
+ e.strokeStyle = t
|
|
|
|
+ }
|
|
|
|
+ if ('setLineWidth' === i)
|
|
|
|
+ return function (t) {
|
|
|
|
+ e.lineWidth = t
|
|
|
|
+ }
|
|
|
|
+ if ('setLineCap' === i)
|
|
|
|
+ return function (t) {
|
|
|
|
+ e.lineCap = t
|
|
|
|
+ }
|
|
|
|
+ if ('setFontSize' === i)
|
|
|
|
+ return function (t) {
|
|
|
|
+ e.font = ''.concat(String(t), 'px sans-serif')
|
|
|
|
+ }
|
|
|
|
+ if ('setGlobalAlpha' === i)
|
|
|
|
+ return function (t) {
|
|
|
|
+ e.globalAlpha = t
|
|
|
|
+ }
|
|
|
|
+ if ('setLineJoin' === i)
|
|
|
|
+ return function (t) {
|
|
|
|
+ e.lineJoin = t
|
|
|
|
+ }
|
|
|
|
+ if ('setTextAlign' === i)
|
|
|
|
+ return function (t) {
|
|
|
|
+ e.textAlign = t
|
|
|
|
+ }
|
|
|
|
+ if ('setMiterLimit' === i)
|
|
|
|
+ return function (t) {
|
|
|
|
+ e.miterLimit = t
|
|
|
|
+ }
|
|
|
|
+ if ('setShadow' === i)
|
|
|
|
+ return function (t, i, n, r) {
|
|
|
|
+ ;(e.shadowOffsetX = t), (e.shadowOffsetY = i), (e.shadowBlur = n), (e.shadowColor = r)
|
|
|
|
+ }
|
|
|
|
+ if ('setTextBaseline' === i)
|
|
|
|
+ return function (t) {
|
|
|
|
+ e.textBaseline = t
|
|
|
|
+ }
|
|
|
|
+ if ('createCircularGradient' === i) return function () {}
|
|
|
|
+ if ('draw' === i) return function () {}
|
|
|
|
+ if ('function' == typeof e[i])
|
|
|
|
+ return function () {
|
|
|
|
+ for (var t = [], n = 0; n < arguments.length; n++) t[n] = arguments[n]
|
|
|
|
+ return e[i].apply(e, t)
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return t[i]
|
|
|
|
+ },
|
|
|
|
+ set: function (t, i, n) {
|
|
|
|
+ return (e[i] = n), !0
|
|
|
|
+ }
|
|
|
|
+ }),
|
|
|
|
+ new Proxy(e, i))),
|
|
|
|
+ (this.progress = 0),
|
|
|
|
+ (this.root = { width: t.width, height: t.height, fontSizeRate: 1, fixedLine: null }),
|
|
|
|
+ (this.size = this.root)
|
|
|
|
+ var o = 0
|
|
|
|
+ Object.defineProperty(this, 'progress', {
|
|
|
|
+ configurable: !0,
|
|
|
|
+ set: function (t) {
|
|
|
|
+ ;(o = t), n.lifecycle('onProgress', t / n.count)
|
|
|
|
+ },
|
|
|
|
+ get: function () {
|
|
|
|
+ return o || 0
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ }
|
|
|
|
+ return (
|
|
|
|
+ (t.prototype.lifecycle = function (t, e) {
|
|
|
|
+ this.options.listen && this.options.listen[t] && this.options.listen[t](e)
|
|
|
|
+ }),
|
|
|
|
+ (t.prototype.setContext = function (t) {
|
|
|
|
+ t && (this.ctx = t)
|
|
|
|
+ }),
|
|
|
|
+ (t.prototype.init = function () {
|
|
|
|
+ if (this.canvas.height || r.WEB == C) {
|
|
|
|
+ this.ctx.setTransform(1, 0, 0, 1, 0, 0)
|
|
|
|
+ var t = this.size.height * this.pixelRatio,
|
|
|
|
+ e = this.size.width * this.pixelRatio
|
|
|
|
+ ;(this.canvas.height = t), (this.canvas.width = e), this.ctx.scale(this.pixelRatio, this.pixelRatio)
|
|
|
|
+ }
|
|
|
|
+ }),
|
|
|
|
+ (t.prototype.clear = function () {
|
|
|
|
+ this.ctx.clearRect(0, 0, this.size.width, this.size.height)
|
|
|
|
+ }),
|
|
|
|
+ (t.prototype.clipPath = function (t, e, i, n, r, o, s) {
|
|
|
|
+ void 0 === o && (o = !1), void 0 === s && (s = !1)
|
|
|
|
+ var a = this.ctx
|
|
|
|
+ if (/polygon/.test(r)) {
|
|
|
|
+ var h = r.match(/-?\d+(rpx|px|%)?\s+-?\d+(rpx|px|%)?/g) || []
|
|
|
|
+ a.beginPath(),
|
|
|
|
+ h
|
|
|
|
+ .map(function (r) {
|
|
|
|
+ var o = r.split(' '),
|
|
|
|
+ s = o[0],
|
|
|
|
+ a = o[1]
|
|
|
|
+ return [Y(s, i) + t, Y(a, n) + e]
|
|
|
|
+ })
|
|
|
|
+ .forEach(function (t, e) {
|
|
|
|
+ 0 == e ? a.moveTo(t[0], t[1]) : a.lineTo(t[0], t[1])
|
|
|
|
+ }),
|
|
|
|
+ a.closePath(),
|
|
|
|
+ s && a.stroke(),
|
|
|
|
+ o && a.fill()
|
|
|
|
+ }
|
|
|
|
+ }),
|
|
|
|
+ (t.prototype.roundRect = function (t, e, i, n, r, o, s) {
|
|
|
|
+ if ((void 0 === o && (o = !1), void 0 === s && (s = !1), !(r < 0))) {
|
|
|
|
+ var a = this.ctx
|
|
|
|
+ if ((a.beginPath(), r)) {
|
|
|
|
+ var h = r || {},
|
|
|
|
+ c = h.borderTopLeftRadius,
|
|
|
|
+ f = void 0 === c ? r || 0 : c,
|
|
|
|
+ d = h.borderTopRightRadius,
|
|
|
|
+ l = void 0 === d ? r || 0 : d,
|
|
|
|
+ u = h.borderBottomRightRadius,
|
|
|
|
+ p = void 0 === u ? r || 0 : u,
|
|
|
|
+ g = h.borderBottomLeftRadius,
|
|
|
|
+ v = void 0 === g ? r || 0 : g
|
|
|
|
+ a.arc(t + i - p, e + n - p, p, 0, 0.5 * Math.PI),
|
|
|
|
+ a.lineTo(t + v, e + n),
|
|
|
|
+ a.arc(t + v, e + n - v, v, 0.5 * Math.PI, Math.PI),
|
|
|
|
+ a.lineTo(t, e + f),
|
|
|
|
+ a.arc(t + f, e + f, f, Math.PI, 1.5 * Math.PI),
|
|
|
|
+ a.lineTo(t + i - l, e),
|
|
|
|
+ a.arc(t + i - l, e + l, l, 1.5 * Math.PI, 2 * Math.PI),
|
|
|
|
+ a.lineTo(t + i, e + n - p)
|
|
|
|
+ } else a.rect(t, e, i, n)
|
|
|
|
+ a.closePath(), s && a.stroke(), o && a.fill()
|
|
|
|
+ }
|
|
|
|
+ }),
|
|
|
|
+ (t.prototype.setTransform = function (t, e) {
|
|
|
|
+ var i = e.transform,
|
|
|
|
+ n = e.transformOrigin,
|
|
|
|
+ r = this.ctx,
|
|
|
|
+ o = i || {},
|
|
|
|
+ s = o.scaleX,
|
|
|
|
+ a = void 0 === s ? 1 : s,
|
|
|
|
+ h = o.scaleY,
|
|
|
|
+ c = void 0 === h ? 1 : h,
|
|
|
|
+ f = o.translateX,
|
|
|
|
+ d = void 0 === f ? 0 : f,
|
|
|
|
+ l = o.translateY,
|
|
|
|
+ u = void 0 === l ? 0 : l,
|
|
|
|
+ p = o.rotate,
|
|
|
|
+ g = void 0 === p ? 0 : p,
|
|
|
|
+ v = o.skewX,
|
|
|
|
+ y = void 0 === v ? 0 : v,
|
|
|
|
+ b = o.skewY,
|
|
|
|
+ x = void 0 === b ? 0 : b,
|
|
|
|
+ w = t.left,
|
|
|
|
+ m = t.top,
|
|
|
|
+ S = t.width,
|
|
|
|
+ z = t.height
|
|
|
|
+ ;(d = Y(d, S) || 0), (u = Y(u, z) || 0)
|
|
|
|
+ var I = Y('0%', 1),
|
|
|
|
+ M = Y('50%', 1),
|
|
|
|
+ k = Y('100%', 1),
|
|
|
|
+ B = { top: I, center: M, bottom: k },
|
|
|
|
+ W = { left: I, center: M, right: k }
|
|
|
|
+ if (
|
|
|
|
+ ((n = n
|
|
|
|
+ .split(' ')
|
|
|
|
+ .filter(function (t, e) {
|
|
|
|
+ return e < 2
|
|
|
|
+ })
|
|
|
|
+ .reduce(function (t, e) {
|
|
|
|
+ if (/\d+/.test(e)) {
|
|
|
|
+ var i = Y(e, 1) / (/px|rpx$/.test(e) ? ($(t.x) ? z : S) : 1)
|
|
|
|
+ return $(t.x) ? Object.assign(t, { y: i }) : Object.assign(t, { x: i })
|
|
|
|
+ }
|
|
|
|
+ return $(W[e]) && !$(t.x) ? Object.assign(t, { x: W[e] }) : Object.assign(t, { y: B[e] || 0.5 })
|
|
|
|
+ }, {})),
|
|
|
|
+ (d || u) && r.translate(d, u),
|
|
|
|
+ (a || c) && r.scale(a, c),
|
|
|
|
+ g)
|
|
|
|
+ ) {
|
|
|
|
+ var P = w + S * n.x,
|
|
|
|
+ O = m + z * n.y
|
|
|
|
+ r.translate(P, O), r.rotate((g * Math.PI) / 180), r.translate(-P, -O)
|
|
|
|
+ }
|
|
|
|
+ ;(y || x) && r.transform(1, Math.tan((x * Math.PI) / 180), Math.tan((y * Math.PI) / 180), 1, 0, 0)
|
|
|
|
+ }),
|
|
|
|
+ (t.prototype.setBackground = function (t, e, i, n, o) {
|
|
|
|
+ var s = this.ctx
|
|
|
|
+ t && t != L
|
|
|
|
+ ? _(t)
|
|
|
|
+ ? X(t, e, i, n, o, s)
|
|
|
|
+ : s.setFillStyle(t)
|
|
|
|
+ : [r.MP_TOUTIAO, r.MP_BAIDU].includes(C)
|
|
|
|
+ ? s.setFillStyle('rgba(0,0,0,0)')
|
|
|
|
+ : s.setFillStyle(L)
|
|
|
|
+ }),
|
|
|
|
+ (t.prototype.setShadow = function (t) {
|
|
|
|
+ var e = t.boxShadow,
|
|
|
|
+ i = void 0 === e ? [] : e,
|
|
|
|
+ n = this.ctx
|
|
|
|
+ if (i.length) {
|
|
|
|
+ var r = i[0],
|
|
|
|
+ o = i[1],
|
|
|
|
+ s = i[2],
|
|
|
|
+ a = i[3]
|
|
|
|
+ n.setShadow(r, o, s, a)
|
|
|
|
+ }
|
|
|
|
+ }),
|
|
|
|
+ (t.prototype.setBorder = function (t, e) {
|
|
|
|
+ var i = this.ctx,
|
|
|
|
+ n = t.width,
|
|
|
|
+ r = t.height,
|
|
|
|
+ o = t.left,
|
|
|
|
+ s = t.top,
|
|
|
|
+ a = e.border,
|
|
|
|
+ h = e.borderBottom,
|
|
|
|
+ c = e.borderTop,
|
|
|
|
+ f = e.borderRight,
|
|
|
|
+ d = e.borderLeft,
|
|
|
|
+ l = e.borderRadius,
|
|
|
|
+ u = e.lineCap,
|
|
|
|
+ p = a || {},
|
|
|
|
+ g = p.borderWidth,
|
|
|
|
+ v = void 0 === g ? 0 : g,
|
|
|
|
+ y = p.borderStyle,
|
|
|
|
+ b = p.borderColor,
|
|
|
|
+ x = h || {},
|
|
|
|
+ w = x.borderBottomWidth,
|
|
|
|
+ m = void 0 === w ? v : w,
|
|
|
|
+ S = x.borderBottomStyle,
|
|
|
|
+ z = void 0 === S ? y : S,
|
|
|
|
+ I = x.borderBottomColor,
|
|
|
|
+ M = void 0 === I ? b : I,
|
|
|
|
+ k = c || {},
|
|
|
|
+ B = k.borderTopWidth,
|
|
|
|
+ W = void 0 === B ? v : B,
|
|
|
|
+ P = k.borderTopStyle,
|
|
|
|
+ O = void 0 === P ? y : P,
|
|
|
|
+ T = k.borderTopColor,
|
|
|
|
+ L = void 0 === T ? b : T,
|
|
|
|
+ R = f || {},
|
|
|
|
+ F = R.borderRightWidth,
|
|
|
|
+ A = void 0 === F ? v : F,
|
|
|
|
+ E = R.borderRightStyle,
|
|
|
|
+ j = void 0 === E ? y : E,
|
|
|
|
+ H = R.borderRightColor,
|
|
|
|
+ D = void 0 === H ? b : H,
|
|
|
|
+ $ = d || {},
|
|
|
|
+ Y = $.borderLeftWidth,
|
|
|
|
+ U = void 0 === Y ? v : Y,
|
|
|
|
+ N = $.borderLeftStyle,
|
|
|
|
+ _ = void 0 === N ? y : N,
|
|
|
|
+ X = $.borderLeftColor,
|
|
|
|
+ q = void 0 === X ? b : X,
|
|
|
|
+ G = l || {},
|
|
|
|
+ V = G.borderTopLeftRadius,
|
|
|
|
+ J = void 0 === V ? l || 0 : V,
|
|
|
|
+ Q = G.borderTopRightRadius,
|
|
|
|
+ Z = void 0 === Q ? l || 0 : Q,
|
|
|
|
+ K = G.borderBottomRightRadius,
|
|
|
|
+ tt = void 0 === K ? l || 0 : K,
|
|
|
|
+ et = G.borderBottomLeftRadius,
|
|
|
|
+ it = void 0 === et ? l || 0 : et
|
|
|
|
+ if (h || d || c || f || a) {
|
|
|
|
+ var nt = function (t, e, n) {
|
|
|
|
+ 'dashed' == e
|
|
|
|
+ ? /mp/.test(C)
|
|
|
|
+ ? i.setLineDash([Math.ceil((4 * t) / 3), Math.ceil((4 * t) / 3)])
|
|
|
|
+ : i.setLineDash([Math.ceil(6 * t), Math.ceil(6 * t)])
|
|
|
|
+ : 'dotted' == e && i.setLineDash([t, t]),
|
|
|
|
+ i.setStrokeStyle(n)
|
|
|
|
+ },
|
|
|
|
+ rt = function (t, e, n, r, o, s, a, h, c, f, d, l, p, g, v) {
|
|
|
|
+ i.save(),
|
|
|
|
+ i.setLineCap(v ? 'square' : u),
|
|
|
|
+ i.setLineWidth(l),
|
|
|
|
+ nt(l, p, g),
|
|
|
|
+ i.beginPath(),
|
|
|
|
+ i.arc(t, e, a, Math.PI * c, Math.PI * f),
|
|
|
|
+ i.lineTo(n, r),
|
|
|
|
+ i.arc(o, s, h, Math.PI * f, Math.PI * d),
|
|
|
|
+ i.stroke(),
|
|
|
|
+ i.restore()
|
|
|
|
+ }
|
|
|
|
+ if ((i.save(), a && !h && !d && !c && !f))
|
|
|
|
+ return i.setLineWidth(v), nt(v, y, b), this.roundRect(o, s, n, r, l, !1, !!b), void i.restore()
|
|
|
|
+ m &&
|
|
|
|
+ rt(o + n - tt, s + r - tt, o + it, s + r, o + it, s + r - it, tt, it, 0.25, 0.5, 0.75, m, z, M, U && A),
|
|
|
|
+ U && rt(o + it, s + r - it, o, s + J, o + J, s + J, it, J, 0.75, 1, 1.25, U, _, q, W && m),
|
|
|
|
+ W && rt(o + J, s + J, o + n - Z, s, o + n - Z, s + Z, J, Z, 1.25, 1.5, 1.75, W, O, L, U && A),
|
|
|
|
+ A &&
|
|
|
|
+ rt(o + n - Z, s + Z, o + n, s + r - tt, o + n - tt, s + r - tt, Z, tt, 1.75, 2, 0.25, A, j, D, W && m)
|
|
|
|
+ }
|
|
|
|
+ }),
|
|
|
|
+ (t.prototype.setOpacity = function (t) {
|
|
|
|
+ var e = t.opacity,
|
|
|
|
+ i = void 0 === e ? 1 : e
|
|
|
|
+ this.ctx.setGlobalAlpha(i)
|
|
|
|
+ }),
|
|
|
|
+ (t.prototype.drawPattern = function (t, e, r) {
|
|
|
|
+ return i(this, void 0, void 0, function () {
|
|
|
|
+ var i = this
|
|
|
|
+ return n(this, function (n) {
|
|
|
|
+ return [
|
|
|
|
+ 2,
|
|
|
|
+ new Promise(function (n, o) {
|
|
|
|
+ i.drawView(e, r, !0, !1, !0)
|
|
|
|
+ var s = i,
|
|
|
|
+ a = s.ctx
|
|
|
|
+ s.canvas
|
|
|
|
+ var h = e.width,
|
|
|
|
+ c = e.height,
|
|
|
|
+ f = e.left,
|
|
|
|
+ d = e.top,
|
|
|
|
+ l = r || {},
|
|
|
|
+ u = l.borderRadius,
|
|
|
|
+ p = void 0 === u ? 0 : u,
|
|
|
|
+ g = l.backgroundImage,
|
|
|
|
+ v = l.backgroundRepeat,
|
|
|
|
+ y = void 0 === v ? 'repeat' : v
|
|
|
|
+ g &&
|
|
|
|
+ (function (t) {
|
|
|
|
+ var o = a.createPattern(t.src, y)
|
|
|
|
+ a.setFillStyle(o), i.roundRect(f, d, h, c, p, !0, !1), i.setBorder(e, r), n()
|
|
|
|
+ })(t)
|
|
|
|
+ })
|
|
|
|
+ ]
|
|
|
|
+ })
|
|
|
|
+ })
|
|
|
|
+ }),
|
|
|
|
+ (t.prototype.drawView = function (t, e, i, n, r) {
|
|
|
|
+ void 0 === i && (i = !0), void 0 === n && (n = !0), void 0 === r && (r = !0)
|
|
|
|
+ var o = this.ctx,
|
|
|
|
+ s = t.width,
|
|
|
|
+ a = t.height,
|
|
|
|
+ h = t.left,
|
|
|
|
+ c = t.top,
|
|
|
|
+ f = e || {},
|
|
|
|
+ d = f.borderRadius,
|
|
|
|
+ l = void 0 === d ? 0 : d,
|
|
|
|
+ u = f.backgroundColor,
|
|
|
|
+ p = void 0 === u ? L : u,
|
|
|
|
+ g = f.overflow
|
|
|
|
+ e.opacity && this.setOpacity(e),
|
|
|
|
+ this.setTransform(t, e),
|
|
|
|
+ r && (o.save(), this.setShadow(e)),
|
|
|
|
+ i && this.setBackground(p, s, a, h, c),
|
|
|
|
+ e.clipPath ? this.clipPath(h, c, s, a, e.clipPath, i, !1) : this.roundRect(h, c, s, a, l, i, !1),
|
|
|
|
+ r && o.restore(),
|
|
|
|
+ n && this.setBorder(t, e),
|
|
|
|
+ 'hidden' == g && o.clip()
|
|
|
|
+ }),
|
|
|
|
+ (t.prototype.drawImage = function (t, e, o, s) {
|
|
|
|
+ return (
|
|
|
|
+ void 0 === e && (e = {}),
|
|
|
|
+ void 0 === o && (o = {}),
|
|
|
|
+ void 0 === s && (s = !0),
|
|
|
|
+ i(this, void 0, void 0, function () {
|
|
|
|
+ var a = this
|
|
|
|
+ return n(this, function (h) {
|
|
|
|
+ switch (h.label) {
|
|
|
|
+ case 0:
|
|
|
|
+ return [
|
|
|
|
+ 4,
|
|
|
|
+ new Promise(function (h, c) {
|
|
|
|
+ return i(a, void 0, void 0, function () {
|
|
|
|
+ var i,
|
|
|
|
+ a,
|
|
|
|
+ c,
|
|
|
|
+ f,
|
|
|
|
+ d,
|
|
|
|
+ l,
|
|
|
|
+ u,
|
|
|
|
+ p,
|
|
|
|
+ g,
|
|
|
|
+ v,
|
|
|
|
+ y,
|
|
|
|
+ b,
|
|
|
|
+ x,
|
|
|
|
+ w,
|
|
|
|
+ m,
|
|
|
|
+ S,
|
|
|
|
+ z,
|
|
|
|
+ I,
|
|
|
|
+ M,
|
|
|
|
+ k,
|
|
|
|
+ B,
|
|
|
|
+ W = this
|
|
|
|
+ return n(this, function (n) {
|
|
|
|
+ return (
|
|
|
|
+ (i = this.ctx),
|
|
|
|
+ (a = o.borderRadius),
|
|
|
|
+ (c = void 0 === a ? 0 : a),
|
|
|
|
+ (f = o.backgroundColor),
|
|
|
|
+ (d = void 0 === f ? L : f),
|
|
|
|
+ (l = o.objectFit),
|
|
|
|
+ (u = void 0 === l ? R : l),
|
|
|
|
+ (p = o.backgroundSize),
|
|
|
|
+ (g = void 0 === p ? R : p),
|
|
|
|
+ (v = o.objectPosition),
|
|
|
|
+ (y = o.backgroundPosition),
|
|
|
|
+ (b = o.boxShadow),
|
|
|
|
+ o.backgroundImage && ((u = g), (v = y)),
|
|
|
|
+ b &&
|
|
|
|
+ this.drawView(
|
|
|
|
+ e,
|
|
|
|
+ Object.assign(o, { backgroundColor: d || (b && (d || '#ffffff')) }),
|
|
|
|
+ !0,
|
|
|
|
+ !1,
|
|
|
|
+ !0
|
|
|
|
+ ),
|
|
|
|
+ (x = e.width),
|
|
|
|
+ (w = e.height),
|
|
|
|
+ (m = e.left),
|
|
|
|
+ (S = e.top),
|
|
|
|
+ i.save(),
|
|
|
|
+ (z = e.contentSize.left - e.borderSize.left),
|
|
|
|
+ (I = e.contentSize.top - e.borderSize.top),
|
|
|
|
+ s ||
|
|
|
|
+ (this.setOpacity(o),
|
|
|
|
+ this.setTransform(e, o),
|
|
|
|
+ this.setBackground(d, x, w, m, S),
|
|
|
|
+ this.roundRect(m, S, x, w, c, !!(c || (!b && d)), !1)),
|
|
|
|
+ (m += z),
|
|
|
|
+ (S += I),
|
|
|
|
+ i.clip(),
|
|
|
|
+ (M = function (t) {
|
|
|
|
+ if (u !== R) {
|
|
|
|
+ var n = (function (t, e, i) {
|
|
|
|
+ var n = t.objectFit,
|
|
|
|
+ r = t.objectPosition,
|
|
|
|
+ o = e.width / e.height,
|
|
|
|
+ s = i.width / i.height,
|
|
|
|
+ a = 1,
|
|
|
|
+ h = 'contain',
|
|
|
|
+ c = 'cover'
|
|
|
|
+ ;(n == h && o >= s) || (n == c && o < s)
|
|
|
|
+ ? (a = e.height / i.height)
|
|
|
|
+ : ((n == h && o < s) || (n == c && o >= s)) && (a = e.width / i.width)
|
|
|
|
+ var f = i.width * a,
|
|
|
|
+ d = i.height * a,
|
|
|
|
+ l = r || [],
|
|
|
|
+ u = l[0],
|
|
|
|
+ p = l[1],
|
|
|
|
+ g = N(u)
|
|
|
|
+ ? Y(u, e.width)
|
|
|
|
+ : (e.width - f) *
|
|
|
|
+ (U(u) ? Y(u, 1) : { left: 0, center: 0.5, right: 1 }[u || 'center']),
|
|
|
|
+ v = N(p)
|
|
|
|
+ ? Y(p, e.height)
|
|
|
|
+ : (e.height - d) *
|
|
|
|
+ (U(p) ? Y(p, 1) : { top: 0, center: 0.5, bottom: 1 }[p || 'center']),
|
|
|
|
+ y = function (t, e) {
|
|
|
|
+ return [(t - g) / a, (e - v) / a]
|
|
|
|
+ },
|
|
|
|
+ b = y(0, 0),
|
|
|
|
+ x = b[0],
|
|
|
|
+ w = b[1],
|
|
|
|
+ m = y(e.width, e.height),
|
|
|
|
+ S = m[0],
|
|
|
|
+ z = m[1],
|
|
|
|
+ I = Math.max,
|
|
|
|
+ M = Math.min
|
|
|
|
+ return {
|
|
|
|
+ sx: I(x, 0),
|
|
|
|
+ sy: I(w, 0),
|
|
|
|
+ sw: M(S - x, i.width),
|
|
|
|
+ sh: M(z - w, i.height),
|
|
|
|
+ dx: I(g, 0),
|
|
|
|
+ dy: I(v, 0),
|
|
|
|
+ dw: M(f, e.width),
|
|
|
|
+ dh: M(d, e.height)
|
|
|
|
+ }
|
|
|
|
+ })({ objectFit: u, objectPosition: v }, e.contentSize, t),
|
|
|
|
+ o = n.sx,
|
|
|
|
+ s = n.sy,
|
|
|
|
+ a = n.sh,
|
|
|
|
+ h = n.sw,
|
|
|
|
+ c = n.dx,
|
|
|
|
+ f = n.dy,
|
|
|
|
+ d = n.dh,
|
|
|
|
+ l = n.dw
|
|
|
|
+ C == r.MP_BAIDU
|
|
|
|
+ ? i.drawImage(t.src, c + m, f + S, l, d, o, s, h, a)
|
|
|
|
+ : i.drawImage(t.src, o, s, h, a, c + m, f + S, l, d)
|
|
|
|
+ } else i.drawImage(t.src, m, S, x, w)
|
|
|
|
+ }),
|
|
|
|
+ (k = function () {
|
|
|
|
+ i.restore(), W.drawView(e, o, !1, !0, !1), h(1)
|
|
|
|
+ }),
|
|
|
|
+ (B = function (t) {
|
|
|
|
+ M(t), k()
|
|
|
|
+ }),
|
|
|
|
+ B(t),
|
|
|
|
+ [2]
|
|
|
|
+ )
|
|
|
|
+ })
|
|
|
|
+ })
|
|
|
|
+ })
|
|
|
|
+ ]
|
|
|
|
+ case 1:
|
|
|
|
+ return h.sent(), [2]
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ })
|
|
|
|
+ )
|
|
|
|
+ }),
|
|
|
|
+ (t.prototype.drawText = function (t, e, i, n) {
|
|
|
|
+ var r = this,
|
|
|
|
+ o = this.ctx,
|
|
|
|
+ s = e.borderSize,
|
|
|
|
+ a = e.contentSize,
|
|
|
|
+ h = e.left,
|
|
|
|
+ c = e.top,
|
|
|
|
+ f = a.width,
|
|
|
|
+ d = a.height,
|
|
|
|
+ l = a.left - s.left || 0,
|
|
|
|
+ u = a.top - s.top || 0,
|
|
|
|
+ p = i.color,
|
|
|
|
+ g = i.lineHeight,
|
|
|
|
+ v = i.fontSize,
|
|
|
|
+ y = i.fontWeight,
|
|
|
|
+ b = i.fontFamily,
|
|
|
|
+ x = i.fontStyle,
|
|
|
|
+ w = i.textIndent,
|
|
|
|
+ m = void 0 === w ? 0 : w,
|
|
|
|
+ S = i.textAlign,
|
|
|
|
+ z = i.textStroke,
|
|
|
|
+ I = i.verticalAlign,
|
|
|
|
+ M = void 0 === I ? Ct : I,
|
|
|
|
+ k = i.backgroundColor,
|
|
|
|
+ B = i.lineClamp,
|
|
|
|
+ W = i.backgroundClip,
|
|
|
|
+ P = i.textShadow,
|
|
|
|
+ O = i.textDecoration
|
|
|
|
+ if (((m = $(m) ? m : 0), this.drawView(e, i, W != Ft), (g = Y(g, v)), t)) {
|
|
|
|
+ o.save(), (h += l), (c += u)
|
|
|
|
+ var T = n.fontHeight,
|
|
|
|
+ L = n.descent,
|
|
|
|
+ R = void 0 === L ? 0 : L,
|
|
|
|
+ F = n.ascent,
|
|
|
|
+ A = R + (void 0 === F ? 0 : F)
|
|
|
|
+ switch (
|
|
|
|
+ (o.setFonts({ fontFamily: b, fontSize: v, fontWeight: y, fontStyle: x }),
|
|
|
|
+ o.setTextBaseline(Ct),
|
|
|
|
+ o.setTextAlign(S),
|
|
|
|
+ W ? this.setBackground(k, f, d, h, c) : o.setFillStyle(p),
|
|
|
|
+ S)
|
|
|
|
+ ) {
|
|
|
|
+ case Dt:
|
|
|
|
+ break
|
|
|
|
+ case $t:
|
|
|
|
+ h += 0.5 * f
|
|
|
|
+ break
|
|
|
|
+ case Yt:
|
|
|
|
+ h += f
|
|
|
|
+ }
|
|
|
|
+ var E = n.lines * g,
|
|
|
|
+ j = Math.ceil((d - E) / 2)
|
|
|
|
+ switch ((j < 0 && (j = 0), M)) {
|
|
|
|
+ case jt:
|
|
|
|
+ break
|
|
|
|
+ case Ct:
|
|
|
|
+ c += j
|
|
|
|
+ break
|
|
|
|
+ case Ht:
|
|
|
|
+ c += 2 * j
|
|
|
|
+ }
|
|
|
|
+ var C = (g - T) / 2,
|
|
|
|
+ H = g / 2,
|
|
|
|
+ D = function (t) {
|
|
|
|
+ var e = o.measureText(t),
|
|
|
|
+ i = e.actualBoundingBoxDescent,
|
|
|
|
+ n = void 0 === i ? 0 : i,
|
|
|
|
+ r = e.actualBoundingBoxAscent
|
|
|
|
+ return M == jt
|
|
|
|
+ ? { fix: A ? (void 0 === r ? 0 : r) : H - C / 2, lineY: A ? 0 : C - C / 2 }
|
|
|
|
+ : M == Ct
|
|
|
|
+ ? { fix: A ? H + n / 4 : H, lineY: A ? 0 : C }
|
|
|
|
+ : M == Ht
|
|
|
|
+ ? { fix: A ? g - n : H + C / 2, lineY: A ? 2 * C : C + C / 2 }
|
|
|
|
+ : { fix: 0, height: 0, lineY: 0 }
|
|
|
|
+ },
|
|
|
|
+ U = function (t, e, i) {
|
|
|
|
+ var r = t
|
|
|
|
+ switch (S) {
|
|
|
|
+ case Dt:
|
|
|
|
+ r += i
|
|
|
|
+ break
|
|
|
|
+ case $t:
|
|
|
|
+ r = (t -= i / 2) + i
|
|
|
|
+ break
|
|
|
|
+ case Yt:
|
|
|
|
+ ;(r = t), (t -= i)
|
|
|
|
+ }
|
|
|
|
+ if (O) {
|
|
|
|
+ o.setLineWidth(v / 13), o.beginPath()
|
|
|
|
+ var s = 0.1 * n.fontHeight
|
|
|
|
+ ;/\bunderline\b/.test(O) && (o.moveTo(t, e + n.fontHeight + s), o.lineTo(r, e + n.fontHeight + s)),
|
|
|
|
+ /\boverline\b/.test(O) && (o.moveTo(t, e - s), o.lineTo(r, e - s)),
|
|
|
|
+ /\bline-through\b/.test(O) &&
|
|
|
|
+ (o.moveTo(t, e + 0.5 * n.fontHeight), o.lineTo(r, e + 0.5 * n.fontHeight)),
|
|
|
|
+ o.closePath(),
|
|
|
|
+ o.setStrokeStyle(p),
|
|
|
|
+ o.stroke()
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ N = function (t, e, i) {
|
|
|
|
+ var n = function () {
|
|
|
|
+ o.setLineWidth(z.width), o.setStrokeStyle(z.color), o.strokeText(t, e, i)
|
|
|
|
+ },
|
|
|
|
+ s = 'outset'
|
|
|
|
+ z && z.type !== s
|
|
|
|
+ ? (o.save(), r.setShadow({ boxShadow: P }), o.fillText(t, e, i), o.restore(), n())
|
|
|
|
+ : z && z.type == s
|
|
|
|
+ ? (o.save(),
|
|
|
|
+ r.setShadow({ boxShadow: P }),
|
|
|
|
+ n(),
|
|
|
|
+ o.restore(),
|
|
|
|
+ o.save(),
|
|
|
|
+ o.fillText(t, e, i),
|
|
|
|
+ o.restore())
|
|
|
|
+ : (r.setShadow({ boxShadow: P }), o.fillText(t, e, i))
|
|
|
|
+ }
|
|
|
|
+ if (!n.widths || (1 == n.widths.length && n.widths[0].total + m <= a.width)) {
|
|
|
|
+ var _ = D(t),
|
|
|
|
+ X = _.fix,
|
|
|
|
+ q = void 0 === X ? 0 : X,
|
|
|
|
+ G = _.lineY
|
|
|
|
+ return (
|
|
|
|
+ N(t, h + m, c + q),
|
|
|
|
+ U(h + m, c + G, (n && n.widths && n.widths[0].total) || n.text),
|
|
|
|
+ (c += g),
|
|
|
|
+ o.restore(),
|
|
|
|
+ void this.setBorder(e, i)
|
|
|
|
+ )
|
|
|
|
+ }
|
|
|
|
+ for (
|
|
|
|
+ var V = c, J = h, Q = '', Z = 0, K = o.measureText('...').width, tt = n.widths, et = 0;
|
|
|
|
+ et < tt.length;
|
|
|
|
+ et++
|
|
|
|
+ ) {
|
|
|
|
+ var it = tt[et].widths,
|
|
|
|
+ nt = 0
|
|
|
|
+ ;(Q = ''), (c += 1 == (Z += 1) ? 0 : g), 1 == Z && m && ((nt = m), (J = h + m))
|
|
|
|
+ for (var rt = 0; rt < it.length; rt++) {
|
|
|
|
+ 1 !== Z && m && (J = h)
|
|
|
|
+ var ot = it[rt],
|
|
|
|
+ st = ot.width,
|
|
|
|
+ at = ot.text,
|
|
|
|
+ ht = (it[rt + 1] || {}).width
|
|
|
|
+ if (
|
|
|
|
+ ((Q += at), (nt += st) + (void 0 === ht ? 0 : ht) + (0 == Z ? m : 0) + (Z == B ? K : 0) > a.width)
|
|
|
|
+ ) {
|
|
|
|
+ Z >= B && (Q += '…'), Z++, (nt = 0)
|
|
|
|
+ var ct = D(Q)
|
|
|
|
+ ;(q = ct.fix), (G = ct.lineY)
|
|
|
|
+ N(Q, J, c + q), U(J, c + G, nt), (c += g), (Q = '')
|
|
|
|
+ } else if (rt == it.length - 1) {
|
|
|
|
+ et != tt.length - 1 && Z == B && K + nt < a.width && (Q += '…')
|
|
|
|
+ var ft = D(Q)
|
|
|
|
+ ;(q = ft.fix), (G = ft.lineY)
|
|
|
|
+ N(Q, J, c + q), U(J, c + G, nt)
|
|
|
|
+ }
|
|
|
|
+ if (c > V + d || Z > B) break
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ o.restore()
|
|
|
|
+ }
|
|
|
|
+ }),
|
|
|
|
+ (t.prototype.source = function (t) {
|
|
|
|
+ return i(this, void 0, void 0, function () {
|
|
|
|
+ var e,
|
|
|
|
+ i,
|
|
|
|
+ r,
|
|
|
|
+ o,
|
|
|
|
+ s = this
|
|
|
|
+ return n(this, function (n) {
|
|
|
|
+ switch (n.label) {
|
|
|
|
+ case 0:
|
|
|
|
+ if (((this.node = null), (e = +new Date()), '{}' == JSON.stringify(t))) return [2]
|
|
|
|
+ if (((t.styles = t.styles || t.css || {}), !t.type))
|
|
|
|
+ for (i in ((t.type = Et), t))
|
|
|
|
+ ['views', 'children', 'type', 'css', 'styles'].includes(i) || ((t.styles[i] = t[i]), delete t[i])
|
|
|
|
+ return t.styles.boxSizing || (t.styles.boxSizing = 'border-box'), [4, this.create(t)]
|
|
|
|
+ case 1:
|
|
|
|
+ return (r = n.sent())
|
|
|
|
+ ? ((o = r.layout() || {}),
|
|
|
|
+ (this.size = o),
|
|
|
|
+ (this.node = r),
|
|
|
|
+ this.onEffectFinished()
|
|
|
|
+ .then(function (t) {
|
|
|
|
+ return s.lifecycle('onEffectSuccess', t)
|
|
|
|
+ })
|
|
|
|
+ .catch(function (t) {
|
|
|
|
+ return s.lifecycle('onEffectFail', t)
|
|
|
|
+ }),
|
|
|
|
+ this.performance && console.log('布局用时:' + (+new Date() - e) + 'ms'),
|
|
|
|
+ [2, this.size])
|
|
|
|
+ : [2, console.warn('no node')]
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ })
|
|
|
|
+ }),
|
|
|
|
+ (t.prototype.getImageInfo = function (t) {
|
|
|
|
+ return this.imageBus[t] || (this.imageBus[t] = this.createImage(t, this.useCORS)), this.imageBus[t]
|
|
|
|
+ }),
|
|
|
|
+ (t.prototype.create = function (t, r) {
|
|
|
|
+ return i(this, void 0, void 0, function () {
|
|
|
|
+ function i(t, n, r) {
|
|
|
|
+ void 0 === n && (n = {}), void 0 === r && (r = !0)
|
|
|
|
+ var o = []
|
|
|
|
+ return (
|
|
|
|
+ t.forEach(function (t) {
|
|
|
|
+ var s = t.styles,
|
|
|
|
+ a = void 0 === s ? {} : s,
|
|
|
|
+ h = t.css,
|
|
|
|
+ c = void 0 === h ? {} : h,
|
|
|
|
+ f = t.children,
|
|
|
|
+ d = void 0 === f ? [] : f,
|
|
|
|
+ l = t.views,
|
|
|
|
+ u = void 0 === l ? [] : l,
|
|
|
|
+ p = t.text,
|
|
|
|
+ g = void 0 === p ? '' : p,
|
|
|
|
+ v = t.type,
|
|
|
|
+ y = void 0 === v ? '' : v
|
|
|
|
+ !d && u && (t.children = d = u)
|
|
|
|
+ var b = {}
|
|
|
|
+ b = e(e(r ? e({}, n) : {}, a), c)
|
|
|
|
+ var x = {},
|
|
|
|
+ w = {},
|
|
|
|
+ m = {}
|
|
|
|
+ Object.keys(b).map(function (t) {
|
|
|
|
+ if (t.includes('padding') || t.includes('margin')) {
|
|
|
|
+ var e = dt(t, b[t])
|
|
|
|
+ Object.keys(e).map(function (t) {
|
|
|
|
+ t.includes('Left') ? (w[t] = e[t]) : t.includes('Right') ? (m[t] = e[t]) : (x[t] = e[t])
|
|
|
|
+ })
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ if ((b.textIndent && ((w.textIndent = b.textIndent), delete n.textIndent), '' !== g)) {
|
|
|
|
+ var S = Array.from(g)
|
|
|
|
+ S.forEach(function (t, e) {
|
|
|
|
+ var i = Object.assign({}, b, x)
|
|
|
|
+ 0 === e ? Object.assign(i, w) : e == S.length - 1 && Object.assign(i, m),
|
|
|
|
+ delete i.padding,
|
|
|
|
+ delete i.margin,
|
|
|
|
+ o.push({ type: 'text', text: t, styles: i })
|
|
|
|
+ })
|
|
|
|
+ }
|
|
|
|
+ if (y == Rt || y == At) o.push(t)
|
|
|
|
+ else if ('block' === a.display && d.length > 0) {
|
|
|
|
+ var z = i(d, b, !1)
|
|
|
|
+ ;(t.children = z), (t.flattened = !0), o.push(t)
|
|
|
|
+ } else if (d.length > 0) {
|
|
|
|
+ z = i(d, b, r)
|
|
|
|
+ o = o.concat(z)
|
|
|
|
+ }
|
|
|
|
+ }),
|
|
|
|
+ o
|
|
|
|
+ )
|
|
|
|
+ }
|
|
|
|
+ var o, s, a, h, c, f, d, l, u, p, g, v, y, b, x, w, m, S, z, I, M, k, B, P
|
|
|
|
+ return n(this, function (n) {
|
|
|
|
+ switch (n.label) {
|
|
|
|
+ case 0:
|
|
|
|
+ if (!t) return [2]
|
|
|
|
+ if (
|
|
|
|
+ (t.styles || (t.styles = t.css || {}),
|
|
|
|
+ (o = t.type),
|
|
|
|
+ (s = t.show),
|
|
|
|
+ (a = void 0 === s || s),
|
|
|
|
+ (h = o == Rt),
|
|
|
|
+ (c = [Ft, At].includes(o)),
|
|
|
|
+ (f = 'textBox' == o),
|
|
|
|
+ (d = t.styles || {}),
|
|
|
|
+ (l = d.backgroundImage),
|
|
|
|
+ (u = d.display),
|
|
|
|
+ h && !t.src && !t.url)
|
|
|
|
+ )
|
|
|
|
+ return [2]
|
|
|
|
+ if (u == W || !a) return [2]
|
|
|
|
+ if (c || f) {
|
|
|
|
+ if (
|
|
|
|
+ ((p = t.children),
|
|
|
|
+ (g = t.views),
|
|
|
|
+ !p && g && (t.children = p = g),
|
|
|
|
+ !t.text && (!p || (p && !p.length)))
|
|
|
|
+ )
|
|
|
|
+ return [2]
|
|
|
|
+ p &&
|
|
|
|
+ p.length &&
|
|
|
|
+ !t.flattened &&
|
|
|
|
+ ((v = i(t.children || t.views)), (t.type = 'view'), (t.children = v))
|
|
|
|
+ }
|
|
|
|
+ if (!(h || (t.type == Et && l))) return [3, 4]
|
|
|
|
+ ;(y = h ? t.src : ''),
|
|
|
|
+ (b = /url\(['"]?(.*?)['"]?\)/.exec(l)),
|
|
|
|
+ l && b && b[1] && (y = b[1] || ''),
|
|
|
|
+ (n.label = 1)
|
|
|
|
+ case 1:
|
|
|
|
+ return n.trys.push([1, 3, , 4]), [4, this.getImageInfo(y)]
|
|
|
|
+ case 2:
|
|
|
|
+ return (
|
|
|
|
+ (x = n.sent()),
|
|
|
|
+ (w = x.width),
|
|
|
|
+ (m = x.height),
|
|
|
|
+ !(S = x.path) && h
|
|
|
|
+ ? [2]
|
|
|
|
+ : (S &&
|
|
|
|
+ (t.attributes = Object.assign(t.attributes || {}, {
|
|
|
|
+ width: w,
|
|
|
|
+ height: m,
|
|
|
|
+ path: S,
|
|
|
|
+ src: S,
|
|
|
|
+ naturalSrc: y
|
|
|
|
+ })),
|
|
|
|
+ [3, 4])
|
|
|
|
+ )
|
|
|
|
+ case 3:
|
|
|
|
+ return (
|
|
|
|
+ (z = n.sent()),
|
|
|
|
+ t.type != Et ? [2] : (this.lifecycle('onEffectFail', e(e({}, z), { src: y })), [3, 4])
|
|
|
|
+ )
|
|
|
|
+ case 4:
|
|
|
|
+ if (((this.count += 1), (I = new Tt(t, r, this.root, this.ctx)), !(M = t.children || t.views)))
|
|
|
|
+ return [3, 8]
|
|
|
|
+ ;(k = 0), (n.label = 5)
|
|
|
|
+ case 5:
|
|
|
|
+ return k < M.length ? ((B = M[k]), [4, this.create(B, I)]) : [3, 8]
|
|
|
|
+ case 6:
|
|
|
|
+ ;(P = n.sent()) && I.add(P), (n.label = 7)
|
|
|
|
+ case 7:
|
|
|
|
+ return k++, [3, 5]
|
|
|
|
+ case 8:
|
|
|
|
+ return [2, I]
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ })
|
|
|
|
+ }),
|
|
|
|
+ (t.prototype.drawNode = function (t, e) {
|
|
|
|
+ return (
|
|
|
|
+ void 0 === e && (e = !1),
|
|
|
|
+ i(this, void 0, void 0, function () {
|
|
|
|
+ var i, r, o, s, a, h, c, f, d, l, u, p, g, v, y, b, x, w, m, S, z, I, M
|
|
|
|
+ return n(this, function (n) {
|
|
|
|
+ switch (n.label) {
|
|
|
|
+ case 0:
|
|
|
|
+ return (
|
|
|
|
+ (i = t.layoutBox),
|
|
|
|
+ (r = t.computedStyle),
|
|
|
|
+ (o = t.attributes),
|
|
|
|
+ (s = t.name),
|
|
|
|
+ (a = t.children),
|
|
|
|
+ (h = t.fixedLine),
|
|
|
|
+ (c = t.attributes),
|
|
|
|
+ (f = c.src),
|
|
|
|
+ (d = c.text),
|
|
|
|
+ (l = r.position),
|
|
|
|
+ (u = r.backgroundImage),
|
|
|
|
+ (p = r.backgroundRepeat),
|
|
|
|
+ ['fixed'].includes(l) && !e
|
|
|
|
+ ? [2]
|
|
|
|
+ : (this.ctx.save(),
|
|
|
|
+ s !== Et ? [3, 7] : f && u ? (p ? [4, this.drawPattern(o, i, r)] : [3, 2]) : [3, 5])
|
|
|
|
+ )
|
|
|
|
+ case 1:
|
|
|
|
+ return n.sent(), [3, 4]
|
|
|
|
+ case 2:
|
|
|
|
+ return [4, this.drawImage(o, i, r, !1)]
|
|
|
|
+ case 3:
|
|
|
|
+ n.sent(), (n.label = 4)
|
|
|
|
+ case 4:
|
|
|
|
+ return [3, 6]
|
|
|
|
+ case 5:
|
|
|
|
+ this.drawView(i, r), (n.label = 6)
|
|
|
|
+ case 6:
|
|
|
|
+ return [3, 10]
|
|
|
|
+ case 7:
|
|
|
|
+ return s === Rt && f ? [4, this.drawImage(o, i, r, !1)] : [3, 9]
|
|
|
|
+ case 8:
|
|
|
|
+ return n.sent(), [3, 10]
|
|
|
|
+ case 9:
|
|
|
|
+ s === Ft ? this.drawText(d, i, r, o) : s === At && Lt.api && Lt.api.draw(d, this, i, r),
|
|
|
|
+ (n.label = 10)
|
|
|
|
+ case 10:
|
|
|
|
+ if (((this.progress += 1), (v = (g = h || {}).beforeElements), (y = g.afterElements), !v))
|
|
|
|
+ return [3, 14]
|
|
|
|
+ ;(b = 0), (x = v), (n.label = 11)
|
|
|
|
+ case 11:
|
|
|
|
+ return b < x.length ? ((M = x[b]), [4, this.drawNode(M)]) : [3, 14]
|
|
|
|
+ case 12:
|
|
|
|
+ n.sent(), (n.label = 13)
|
|
|
|
+ case 13:
|
|
|
|
+ return b++, [3, 11]
|
|
|
|
+ case 14:
|
|
|
|
+ if (!a) return [3, 18]
|
|
|
|
+ ;(w = Object.values
|
|
|
|
+ ? Object.values(a)
|
|
|
|
+ : Object.keys(a).map(function (t) {
|
|
|
|
+ return a[t]
|
|
|
|
+ })),
|
|
|
|
+ (m = 0),
|
|
|
|
+ (S = w),
|
|
|
|
+ (n.label = 15)
|
|
|
|
+ case 15:
|
|
|
|
+ return m < S.length
|
|
|
|
+ ? 'absolute' === (M = S[m]).computedStyle.position
|
|
|
|
+ ? [3, 17]
|
|
|
|
+ : [4, this.drawNode(M)]
|
|
|
|
+ : [3, 18]
|
|
|
|
+ case 16:
|
|
|
|
+ n.sent(), (n.label = 17)
|
|
|
|
+ case 17:
|
|
|
|
+ return m++, [3, 15]
|
|
|
|
+ case 18:
|
|
|
|
+ if (!y) return [3, 22]
|
|
|
|
+ ;(z = 0), (I = y), (n.label = 19)
|
|
|
|
+ case 19:
|
|
|
|
+ return z < I.length ? ((M = I[z]), [4, this.drawNode(M)]) : [3, 22]
|
|
|
|
+ case 20:
|
|
|
|
+ n.sent(), (n.label = 21)
|
|
|
|
+ case 21:
|
|
|
|
+ return z++, [3, 19]
|
|
|
|
+ case 22:
|
|
|
|
+ return this.ctx.restore(), [2]
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ })
|
|
|
|
+ )
|
|
|
|
+ }),
|
|
|
|
+ (t.prototype.render = function (t) {
|
|
|
|
+ var e = this
|
|
|
|
+ return (
|
|
|
|
+ void 0 === t && (t = 30),
|
|
|
|
+ new Promise(function (r, o) {
|
|
|
|
+ return i(e, void 0, void 0, function () {
|
|
|
|
+ var e, i, s, a, h, c, f, d, l, u
|
|
|
|
+ return n(this, function (n) {
|
|
|
|
+ switch (n.label) {
|
|
|
|
+ case 0:
|
|
|
|
+ return (
|
|
|
|
+ (e = +new Date()),
|
|
|
|
+ this.init(),
|
|
|
|
+ [
|
|
|
|
+ 4,
|
|
|
|
+ ((p = t),
|
|
|
|
+ void 0 === p && (p = 0),
|
|
|
|
+ new Promise(function (t) {
|
|
|
|
+ return setTimeout(t, p)
|
|
|
|
+ }))
|
|
|
|
+ ]
|
|
|
|
+ )
|
|
|
|
+ case 1:
|
|
|
|
+ n.sent(), (n.label = 2)
|
|
|
|
+ case 2:
|
|
|
|
+ if ((n.trys.push([2, 14, , 15]), !this.node)) return [3, 12]
|
|
|
|
+ if (((i = this.root.fixedLine || {}), (s = i.beforeElements), (a = i.afterElements), !s))
|
|
|
|
+ return [3, 6]
|
|
|
|
+ ;(h = 0), (c = s), (n.label = 3)
|
|
|
|
+ case 3:
|
|
|
|
+ return h < c.length ? ((l = c[h]), [4, this.drawNode(l, !0)]) : [3, 6]
|
|
|
|
+ case 4:
|
|
|
|
+ n.sent(), (n.label = 5)
|
|
|
|
+ case 5:
|
|
|
|
+ return h++, [3, 3]
|
|
|
|
+ case 6:
|
|
|
|
+ return [4, this.drawNode(this.node)]
|
|
|
|
+ case 7:
|
|
|
|
+ if ((n.sent(), !a)) return [3, 11]
|
|
|
|
+ ;(f = 0), (d = a), (n.label = 8)
|
|
|
|
+ case 8:
|
|
|
|
+ return f < d.length ? ((l = d[f]), [4, this.drawNode(l, !0)]) : [3, 11]
|
|
|
|
+ case 9:
|
|
|
|
+ n.sent(), (n.label = 10)
|
|
|
|
+ case 10:
|
|
|
|
+ return f++, [3, 8]
|
|
|
|
+ case 11:
|
|
|
|
+ return r(this.node), [3, 13]
|
|
|
|
+ case 12:
|
|
|
|
+ this.lifecycle('onEffectFail', 'node is empty'), (n.label = 13)
|
|
|
|
+ case 13:
|
|
|
|
+ return [3, 15]
|
|
|
|
+ case 14:
|
|
|
|
+ return (u = n.sent()), this.lifecycle('onEffectFail', u), o(u), [3, 15]
|
|
|
|
+ case 15:
|
|
|
|
+ return this.performance && console.log('渲染用时:' + (+new Date() - e - 30) + 'ms'), [2]
|
|
|
|
+ }
|
|
|
|
+ var p
|
|
|
|
+ })
|
|
|
|
+ })
|
|
|
|
+ })
|
|
|
|
+ )
|
|
|
|
+ }),
|
|
|
|
+ (t.prototype.onEffectFinished = function () {
|
|
|
|
+ var t = this,
|
|
|
|
+ e = Object.keys(this.imageBus).map(function (e) {
|
|
|
|
+ return t.imageBus[e]
|
|
|
|
+ })
|
|
|
|
+ return Promise.all(e)
|
|
|
|
+ }),
|
|
|
|
+ (t.prototype.destroy = function () {
|
|
|
|
+ this.node = []
|
|
|
|
+ }),
|
|
|
|
+ (t.prototype.save = function (t) {
|
|
|
|
+ try {
|
|
|
|
+ var e = t || {},
|
|
|
|
+ i = e.fileType,
|
|
|
|
+ n = void 0 === i ? 'png' : i,
|
|
|
|
+ r = e.quality,
|
|
|
|
+ o = void 0 === r ? 1 : r
|
|
|
|
+ return this.canvas.toDataURL('image/'.concat(n), o)
|
|
|
|
+ } catch (t) {
|
|
|
|
+ return this.lifecycle('onEffectFail', 'image cross domain'), t
|
|
|
|
+ }
|
|
|
|
+ }),
|
|
|
|
+ t
|
|
|
|
+ )
|
|
|
|
+ })()
|
|
|
|
+ r.WEB == C && (window.Painter = Ut),
|
|
|
|
+ (t.Painter = Ut),
|
|
|
|
+ (t.default = Ut),
|
|
|
|
+ Object.defineProperty(t, '__esModule', { value: !0 })
|
|
|
|
+})
|