UNPKG

chartx

Version:

Data Visualization Chart Library

98 lines (97 loc) 3.8 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn")); var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf")); var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _canvax = _interopRequireDefault(require("canvax")); var _tools = require("../../utils/tools"); var _component = _interopRequireDefault(require("../component")); function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); } function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } /** * 水印组件 */ var _ = _canvax.default._; var waterMark = /*#__PURE__*/function (_Component) { function waterMark(opt, app) { var _this; (0, _classCallCheck2.default)(this, waterMark); _this = _callSuper(this, waterMark, [opt, app]); _this.name = "waterMark"; _this.width = _this.app.width; _this.height = _this.app.height; _.extend(true, _this, (0, _tools.getDefaultProps)(waterMark.defaultProps()), opt); _this.spripte = new _canvax.default.Display.Sprite({ id: "watermark" }); _this.app.stage.addChild(_this.spripte); _this.draw(); return _this; } (0, _inherits2.default)(waterMark, _Component); return (0, _createClass2.default)(waterMark, [{ key: "draw", value: function draw() { var textEl = new _canvax.default.Display.Text(this.text, { context: { fontSize: this.fontSize, fillStyle: this.fontColor } }); var textW = textEl.getTextWidth(); var textH = textEl.getTextHeight(); var rowCount = parseInt(this.height / (textH * 5)) + 1; var coluCount = parseInt(this.width / (textW * 1.5)) + 1; for (var r = 0; r < rowCount; r++) { for (var c = 0; c < coluCount; c++) { //TODO:text 的 clone有问题 //let cloneText = textEl.clone(); var _textEl = new _canvax.default.Display.Text(this.text, { context: { rotation: this.rotation, fontSize: this.fontSize, fillStyle: this.fontColor, globalAlpha: this.alpha } }); _textEl.context.x = textW * 1.5 * c + textW * .25; _textEl.context.y = textH * 5 * r; this.spripte.addChild(_textEl); } } } }], [{ key: "defaultProps", value: function defaultProps() { return { text: { detail: '水印内容', default: 'chartx' }, fontSize: { detail: '字体大小', default: 20 }, fontColor: { detail: '水印颜色', default: '#cccccc' }, alpha: { detail: '水印透明度', default: 0.2 }, rotation: { detail: '水印旋转角度', default: 45 } }; } }]); }(_component.default); _component.default.registerComponent(waterMark, 'waterMark'); var _default = exports.default = waterMark;