How to use PolygonAnnotationElement method in wpt

Best JavaScript code snippet using wpt

annotation_layer.js

Source:annotation_layer.js Github

copy

Full Screen

...63 return new CircleAnnotationElement(parameters);64 case _util.AnnotationType.POLYLINE:65 return new PolylineAnnotationElement(parameters);66 case _util.AnnotationType.POLYGON:67 return new PolygonAnnotationElement(parameters);68 case _util.AnnotationType.HIGHLIGHT:69 return new HighlightAnnotationElement(parameters);70 case _util.AnnotationType.UNDERLINE:71 return new UnderlineAnnotationElement(parameters);72 case _util.AnnotationType.SQUIGGLY:73 return new SquigglyAnnotationElement(parameters);74 case _util.AnnotationType.STRIKEOUT:75 return new StrikeOutAnnotationElement(parameters);76 case _util.AnnotationType.STAMP:77 return new StampAnnotationElement(parameters);78 case _util.AnnotationType.FILEATTACHMENT:79 return new FileAttachmentAnnotationElement(parameters);80 default:81 return new AnnotationElement(parameters);82 }83 }84 }]);85 return AnnotationElementFactory;86}();87var AnnotationElement = function () {88 function AnnotationElement(parameters) {89 var isRenderable = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;90 var ignoreBorder = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;91 _classCallCheck(this, AnnotationElement);92 this.isRenderable = isRenderable;93 this.data = parameters.data;94 this.layer = parameters.layer;95 this.page = parameters.page;96 this.viewport = parameters.viewport;97 this.linkService = parameters.linkService;98 this.downloadManager = parameters.downloadManager;99 this.imageResourcesPath = parameters.imageResourcesPath;100 this.renderInteractiveForms = parameters.renderInteractiveForms;101 this.svgFactory = parameters.svgFactory;102 if (isRenderable) {103 this.container = this._createContainer(ignoreBorder);104 }105 }106 _createClass(AnnotationElement, [{107 key: '_createContainer',108 value: function _createContainer() {109 var ignoreBorder = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;110 var data = this.data,111 page = this.page,112 viewport = this.viewport;113 var container = document.createElement('section');114 var width = data.rect[2] - data.rect[0];115 var height = data.rect[3] - data.rect[1];116 container.setAttribute('data-annotation-id', data.id);117 var rect = _util.Util.normalizeRect([data.rect[0], page.view[3] - data.rect[1] + page.view[1], data.rect[2], page.view[3] - data.rect[3] + page.view[1]]);118 _dom_utils.CustomStyle.setProp('transform', container, 'matrix(' + viewport.transform.join(',') + ')');119 _dom_utils.CustomStyle.setProp('transformOrigin', container, -rect[0] + 'px ' + -rect[1] + 'px');120 if (!ignoreBorder && data.borderStyle.width > 0) {121 container.style.borderWidth = data.borderStyle.width + 'px';122 if (data.borderStyle.style !== _util.AnnotationBorderStyleType.UNDERLINE) {123 width = width - 2 * data.borderStyle.width;124 height = height - 2 * data.borderStyle.width;125 }126 var horizontalRadius = data.borderStyle.horizontalCornerRadius;127 var verticalRadius = data.borderStyle.verticalCornerRadius;128 if (horizontalRadius > 0 || verticalRadius > 0) {129 var radius = horizontalRadius + 'px / ' + verticalRadius + 'px';130 _dom_utils.CustomStyle.setProp('borderRadius', container, radius);131 }132 switch (data.borderStyle.style) {133 case _util.AnnotationBorderStyleType.SOLID:134 container.style.borderStyle = 'solid';135 break;136 case _util.AnnotationBorderStyleType.DASHED:137 container.style.borderStyle = 'dashed';138 break;139 case _util.AnnotationBorderStyleType.BEVELED:140 (0, _util.warn)('Unimplemented border style: beveled');141 break;142 case _util.AnnotationBorderStyleType.INSET:143 (0, _util.warn)('Unimplemented border style: inset');144 break;145 case _util.AnnotationBorderStyleType.UNDERLINE:146 container.style.borderBottomStyle = 'solid';147 break;148 default:149 break;150 }151 if (data.color) {152 container.style.borderColor = _util.Util.makeCssRgb(data.color[0] | 0, data.color[1] | 0, data.color[2] | 0);153 } else {154 container.style.borderWidth = 0;155 }156 }157 container.style.left = rect[0] + 'px';158 container.style.top = rect[1] + 'px';159 container.style.width = width + 'px';160 container.style.height = height + 'px';161 return container;162 }163 }, {164 key: '_createPopup',165 value: function _createPopup(container, trigger, data) {166 if (!trigger) {167 trigger = document.createElement('div');168 trigger.style.height = container.style.height;169 trigger.style.width = container.style.width;170 container.appendChild(trigger);171 }172 var popupElement = new PopupElement({173 container: container,174 trigger: trigger,175 color: data.color,176 title: data.title,177 contents: data.contents,178 hideWrapper: true179 });180 var popup = popupElement.render();181 popup.style.left = container.style.width;182 container.appendChild(popup);183 }184 }, {185 key: 'render',186 value: function render() {187 throw new Error('Abstract method `AnnotationElement.render` called');188 }189 }]);190 return AnnotationElement;191}();192var LinkAnnotationElement = function (_AnnotationElement) {193 _inherits(LinkAnnotationElement, _AnnotationElement);194 function LinkAnnotationElement(parameters) {195 _classCallCheck(this, LinkAnnotationElement);196 var isRenderable = !!(parameters.data.url || parameters.data.dest || parameters.data.action);197 return _possibleConstructorReturn(this, (LinkAnnotationElement.__proto__ || Object.getPrototypeOf(LinkAnnotationElement)).call(this, parameters, isRenderable));198 }199 _createClass(LinkAnnotationElement, [{200 key: 'render',201 value: function render() {202 this.container.className = 'linkAnnotation';203 var link = document.createElement('a');204 (0, _dom_utils.addLinkAttributes)(link, {205 url: this.data.url,206 target: this.data.newWindow ? _dom_utils.LinkTarget.BLANK : undefined207 });208 if (!this.data.url) {209 if (this.data.action) {210 this._bindNamedAction(link, this.data.action);211 } else {212 this._bindLink(link, this.data.dest);213 }214 }215 this.container.appendChild(link);216 return this.container;217 }218 }, {219 key: '_bindLink',220 value: function _bindLink(link, destination) {221 var _this2 = this;222 link.href = this.linkService.getDestinationHash(destination);223 link.onclick = function () {224 if (destination) {225 _this2.linkService.navigateTo(destination);226 }227 return false;228 };229 if (destination) {230 link.className = 'internalLink';231 }232 }233 }, {234 key: '_bindNamedAction',235 value: function _bindNamedAction(link, action) {236 var _this3 = this;237 link.href = this.linkService.getAnchorUrl('');238 link.onclick = function () {239 _this3.linkService.executeNamedAction(action);240 return false;241 };242 link.className = 'internalLink';243 }244 }]);245 return LinkAnnotationElement;246}(AnnotationElement);247var TextAnnotationElement = function (_AnnotationElement2) {248 _inherits(TextAnnotationElement, _AnnotationElement2);249 function TextAnnotationElement(parameters) {250 _classCallCheck(this, TextAnnotationElement);251 var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);252 return _possibleConstructorReturn(this, (TextAnnotationElement.__proto__ || Object.getPrototypeOf(TextAnnotationElement)).call(this, parameters, isRenderable));253 }254 _createClass(TextAnnotationElement, [{255 key: 'render',256 value: function render() {257 this.container.className = 'textAnnotation';258 var image = document.createElement('img');259 image.style.height = this.container.style.height;260 image.style.width = this.container.style.width;261 image.src = this.imageResourcesPath + 'annotation-' + this.data.name.toLowerCase() + '.svg';262 image.alt = '[{{type}} Annotation]';263 image.dataset.l10nId = 'text_annotation_type';264 image.dataset.l10nArgs = JSON.stringify({ type: this.data.name });265 if (!this.data.hasPopup) {266 this._createPopup(this.container, image, this.data);267 }268 this.container.appendChild(image);269 return this.container;270 }271 }]);272 return TextAnnotationElement;273}(AnnotationElement);274var WidgetAnnotationElement = function (_AnnotationElement3) {275 _inherits(WidgetAnnotationElement, _AnnotationElement3);276 function WidgetAnnotationElement() {277 _classCallCheck(this, WidgetAnnotationElement);278 return _possibleConstructorReturn(this, (WidgetAnnotationElement.__proto__ || Object.getPrototypeOf(WidgetAnnotationElement)).apply(this, arguments));279 }280 _createClass(WidgetAnnotationElement, [{281 key: 'render',282 value: function render() {283 return this.container;284 }285 }]);286 return WidgetAnnotationElement;287}(AnnotationElement);288var TextWidgetAnnotationElement = function (_WidgetAnnotationElem) {289 _inherits(TextWidgetAnnotationElement, _WidgetAnnotationElem);290 function TextWidgetAnnotationElement(parameters) {291 _classCallCheck(this, TextWidgetAnnotationElement);292 var isRenderable = parameters.renderInteractiveForms || !parameters.data.hasAppearance && !!parameters.data.fieldValue;293 return _possibleConstructorReturn(this, (TextWidgetAnnotationElement.__proto__ || Object.getPrototypeOf(TextWidgetAnnotationElement)).call(this, parameters, isRenderable));294 }295 _createClass(TextWidgetAnnotationElement, [{296 key: 'render',297 value: function render() {298 var TEXT_ALIGNMENT = ['left', 'center', 'right'];299 this.container.className = 'textWidgetAnnotation';300 var element = null;301 if (this.renderInteractiveForms) {302 if (this.data.multiLine) {303 element = document.createElement('textarea');304 element.textContent = this.data.fieldValue;305 } else {306 element = document.createElement('input');307 element.type = 'text';308 element.setAttribute('value', this.data.fieldValue);309 }310 element.disabled = this.data.readOnly;311 if (this.data.maxLen !== null) {312 element.maxLength = this.data.maxLen;313 }314 if (this.data.comb) {315 var fieldWidth = this.data.rect[2] - this.data.rect[0];316 var combWidth = fieldWidth / this.data.maxLen;317 element.classList.add('comb');318 element.style.letterSpacing = 'calc(' + combWidth + 'px - 1ch)';319 }320 } else {321 element = document.createElement('div');322 element.textContent = this.data.fieldValue;323 element.style.verticalAlign = 'middle';324 element.style.display = 'table-cell';325 var font = null;326 if (this.data.fontRefName) {327 font = this.page.commonObjs.getData(this.data.fontRefName);328 }329 this._setTextStyle(element, font);330 }331 if (this.data.textAlignment !== null) {332 element.style.textAlign = TEXT_ALIGNMENT[this.data.textAlignment];333 }334 this.container.appendChild(element);335 return this.container;336 }337 }, {338 key: '_setTextStyle',339 value: function _setTextStyle(element, font) {340 var style = element.style;341 style.fontSize = this.data.fontSize + 'px';342 style.direction = this.data.fontDirection < 0 ? 'rtl' : 'ltr';343 if (!font) {344 return;345 }346 style.fontWeight = font.black ? font.bold ? '900' : 'bold' : font.bold ? 'bold' : 'normal';347 style.fontStyle = font.italic ? 'italic' : 'normal';348 var fontFamily = font.loadedName ? '"' + font.loadedName + '", ' : '';349 var fallbackName = font.fallbackName || 'Helvetica, sans-serif';350 style.fontFamily = fontFamily + fallbackName;351 }352 }]);353 return TextWidgetAnnotationElement;354}(WidgetAnnotationElement);355var CheckboxWidgetAnnotationElement = function (_WidgetAnnotationElem2) {356 _inherits(CheckboxWidgetAnnotationElement, _WidgetAnnotationElem2);357 function CheckboxWidgetAnnotationElement(parameters) {358 _classCallCheck(this, CheckboxWidgetAnnotationElement);359 return _possibleConstructorReturn(this, (CheckboxWidgetAnnotationElement.__proto__ || Object.getPrototypeOf(CheckboxWidgetAnnotationElement)).call(this, parameters, parameters.renderInteractiveForms));360 }361 _createClass(CheckboxWidgetAnnotationElement, [{362 key: 'render',363 value: function render() {364 this.container.className = 'buttonWidgetAnnotation checkBox';365 var element = document.createElement('input');366 element.disabled = this.data.readOnly;367 element.type = 'checkbox';368 if (this.data.fieldValue && this.data.fieldValue !== 'Off') {369 element.setAttribute('checked', true);370 }371 this.container.appendChild(element);372 return this.container;373 }374 }]);375 return CheckboxWidgetAnnotationElement;376}(WidgetAnnotationElement);377var RadioButtonWidgetAnnotationElement = function (_WidgetAnnotationElem3) {378 _inherits(RadioButtonWidgetAnnotationElement, _WidgetAnnotationElem3);379 function RadioButtonWidgetAnnotationElement(parameters) {380 _classCallCheck(this, RadioButtonWidgetAnnotationElement);381 return _possibleConstructorReturn(this, (RadioButtonWidgetAnnotationElement.__proto__ || Object.getPrototypeOf(RadioButtonWidgetAnnotationElement)).call(this, parameters, parameters.renderInteractiveForms));382 }383 _createClass(RadioButtonWidgetAnnotationElement, [{384 key: 'render',385 value: function render() {386 this.container.className = 'buttonWidgetAnnotation radioButton';387 var element = document.createElement('input');388 element.disabled = this.data.readOnly;389 element.type = 'radio';390 element.name = this.data.fieldName;391 if (this.data.fieldValue === this.data.buttonValue) {392 element.setAttribute('checked', true);393 }394 this.container.appendChild(element);395 return this.container;396 }397 }]);398 return RadioButtonWidgetAnnotationElement;399}(WidgetAnnotationElement);400var ChoiceWidgetAnnotationElement = function (_WidgetAnnotationElem4) {401 _inherits(ChoiceWidgetAnnotationElement, _WidgetAnnotationElem4);402 function ChoiceWidgetAnnotationElement(parameters) {403 _classCallCheck(this, ChoiceWidgetAnnotationElement);404 return _possibleConstructorReturn(this, (ChoiceWidgetAnnotationElement.__proto__ || Object.getPrototypeOf(ChoiceWidgetAnnotationElement)).call(this, parameters, parameters.renderInteractiveForms));405 }406 _createClass(ChoiceWidgetAnnotationElement, [{407 key: 'render',408 value: function render() {409 this.container.className = 'choiceWidgetAnnotation';410 var selectElement = document.createElement('select');411 selectElement.disabled = this.data.readOnly;412 if (!this.data.combo) {413 selectElement.size = this.data.options.length;414 if (this.data.multiSelect) {415 selectElement.multiple = true;416 }417 }418 for (var i = 0, ii = this.data.options.length; i < ii; i++) {419 var option = this.data.options[i];420 var optionElement = document.createElement('option');421 optionElement.textContent = option.displayValue;422 optionElement.value = option.exportValue;423 if (this.data.fieldValue.indexOf(option.displayValue) >= 0) {424 optionElement.setAttribute('selected', true);425 }426 selectElement.appendChild(optionElement);427 }428 this.container.appendChild(selectElement);429 return this.container;430 }431 }]);432 return ChoiceWidgetAnnotationElement;433}(WidgetAnnotationElement);434var PopupAnnotationElement = function (_AnnotationElement4) {435 _inherits(PopupAnnotationElement, _AnnotationElement4);436 function PopupAnnotationElement(parameters) {437 _classCallCheck(this, PopupAnnotationElement);438 var isRenderable = !!(parameters.data.title || parameters.data.contents);439 return _possibleConstructorReturn(this, (PopupAnnotationElement.__proto__ || Object.getPrototypeOf(PopupAnnotationElement)).call(this, parameters, isRenderable));440 }441 _createClass(PopupAnnotationElement, [{442 key: 'render',443 value: function render() {444 var IGNORE_TYPES = ['Line', 'Square', 'Circle', 'PolyLine', 'Polygon'];445 this.container.className = 'popupAnnotation';446 if (IGNORE_TYPES.indexOf(this.data.parentType) >= 0) {447 return this.container;448 }449 var selector = '[data-annotation-id="' + this.data.parentId + '"]';450 var parentElement = this.layer.querySelector(selector);451 if (!parentElement) {452 return this.container;453 }454 var popup = new PopupElement({455 container: this.container,456 trigger: parentElement,457 color: this.data.color,458 title: this.data.title,459 contents: this.data.contents460 });461 var parentLeft = parseFloat(parentElement.style.left);462 var parentWidth = parseFloat(parentElement.style.width);463 _dom_utils.CustomStyle.setProp('transformOrigin', this.container, -(parentLeft + parentWidth) + 'px -' + parentElement.style.top);464 this.container.style.left = parentLeft + parentWidth + 'px';465 this.container.appendChild(popup.render());466 return this.container;467 }468 }]);469 return PopupAnnotationElement;470}(AnnotationElement);471var PopupElement = function () {472 function PopupElement(parameters) {473 _classCallCheck(this, PopupElement);474 this.container = parameters.container;475 this.trigger = parameters.trigger;476 this.color = parameters.color;477 this.title = parameters.title;478 this.contents = parameters.contents;479 this.hideWrapper = parameters.hideWrapper || false;480 this.pinned = false;481 }482 _createClass(PopupElement, [{483 key: 'render',484 value: function render() {485 var BACKGROUND_ENLIGHT = 0.7;486 var wrapper = document.createElement('div');487 wrapper.className = 'popupWrapper';488 this.hideElement = this.hideWrapper ? wrapper : this.container;489 this.hideElement.setAttribute('hidden', true);490 var popup = document.createElement('div');491 popup.className = 'popup';492 var color = this.color;493 if (color) {494 var r = BACKGROUND_ENLIGHT * (255 - color[0]) + color[0];495 var g = BACKGROUND_ENLIGHT * (255 - color[1]) + color[1];496 var b = BACKGROUND_ENLIGHT * (255 - color[2]) + color[2];497 popup.style.backgroundColor = _util.Util.makeCssRgb(r | 0, g | 0, b | 0);498 }499 var contents = this._formatContents(this.contents);500 var title = document.createElement('h1');501 title.textContent = this.title;502 this.trigger.addEventListener('click', this._toggle.bind(this));503 this.trigger.addEventListener('mouseover', this._show.bind(this, false));504 this.trigger.addEventListener('mouseout', this._hide.bind(this, false));505 popup.addEventListener('click', this._hide.bind(this, true));506 popup.appendChild(title);507 popup.appendChild(contents);508 wrapper.appendChild(popup);509 return wrapper;510 }511 }, {512 key: '_formatContents',513 value: function _formatContents(contents) {514 var p = document.createElement('p');515 var lines = contents.split(/(?:\r\n?|\n)/);516 for (var i = 0, ii = lines.length; i < ii; ++i) {517 var line = lines[i];518 p.appendChild(document.createTextNode(line));519 if (i < ii - 1) {520 p.appendChild(document.createElement('br'));521 }522 }523 return p;524 }525 }, {526 key: '_toggle',527 value: function _toggle() {528 if (this.pinned) {529 this._hide(true);530 } else {531 this._show(true);532 }533 }534 }, {535 key: '_show',536 value: function _show() {537 var pin = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;538 if (pin) {539 this.pinned = true;540 }541 if (this.hideElement.hasAttribute('hidden')) {542 this.hideElement.removeAttribute('hidden');543 this.container.style.zIndex += 1;544 }545 }546 }, {547 key: '_hide',548 value: function _hide() {549 var unpin = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;550 if (unpin) {551 this.pinned = false;552 }553 if (!this.hideElement.hasAttribute('hidden') && !this.pinned) {554 this.hideElement.setAttribute('hidden', true);555 this.container.style.zIndex -= 1;556 }557 }558 }]);559 return PopupElement;560}();561var LineAnnotationElement = function (_AnnotationElement5) {562 _inherits(LineAnnotationElement, _AnnotationElement5);563 function LineAnnotationElement(parameters) {564 _classCallCheck(this, LineAnnotationElement);565 var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);566 return _possibleConstructorReturn(this, (LineAnnotationElement.__proto__ || Object.getPrototypeOf(LineAnnotationElement)).call(this, parameters, isRenderable, true));567 }568 _createClass(LineAnnotationElement, [{569 key: 'render',570 value: function render() {571 this.container.className = 'lineAnnotation';572 var data = this.data;573 var width = data.rect[2] - data.rect[0];574 var height = data.rect[3] - data.rect[1];575 var svg = this.svgFactory.create(width, height);576 var line = this.svgFactory.createElement('svg:line');577 line.setAttribute('x1', data.rect[2] - data.lineCoordinates[0]);578 line.setAttribute('y1', data.rect[3] - data.lineCoordinates[1]);579 line.setAttribute('x2', data.rect[2] - data.lineCoordinates[2]);580 line.setAttribute('y2', data.rect[3] - data.lineCoordinates[3]);581 line.setAttribute('stroke-width', data.borderStyle.width);582 line.setAttribute('stroke', 'transparent');583 svg.appendChild(line);584 this.container.append(svg);585 this._createPopup(this.container, line, data);586 return this.container;587 }588 }]);589 return LineAnnotationElement;590}(AnnotationElement);591var SquareAnnotationElement = function (_AnnotationElement6) {592 _inherits(SquareAnnotationElement, _AnnotationElement6);593 function SquareAnnotationElement(parameters) {594 _classCallCheck(this, SquareAnnotationElement);595 var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);596 return _possibleConstructorReturn(this, (SquareAnnotationElement.__proto__ || Object.getPrototypeOf(SquareAnnotationElement)).call(this, parameters, isRenderable, true));597 }598 _createClass(SquareAnnotationElement, [{599 key: 'render',600 value: function render() {601 this.container.className = 'squareAnnotation';602 var data = this.data;603 var width = data.rect[2] - data.rect[0];604 var height = data.rect[3] - data.rect[1];605 var svg = this.svgFactory.create(width, height);606 var borderWidth = data.borderStyle.width;607 var square = this.svgFactory.createElement('svg:rect');608 square.setAttribute('x', borderWidth / 2);609 square.setAttribute('y', borderWidth / 2);610 square.setAttribute('width', width - borderWidth);611 square.setAttribute('height', height - borderWidth);612 square.setAttribute('stroke-width', borderWidth);613 square.setAttribute('stroke', 'transparent');614 square.setAttribute('fill', 'none');615 svg.appendChild(square);616 this.container.append(svg);617 this._createPopup(this.container, square, data);618 return this.container;619 }620 }]);621 return SquareAnnotationElement;622}(AnnotationElement);623var CircleAnnotationElement = function (_AnnotationElement7) {624 _inherits(CircleAnnotationElement, _AnnotationElement7);625 function CircleAnnotationElement(parameters) {626 _classCallCheck(this, CircleAnnotationElement);627 var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);628 return _possibleConstructorReturn(this, (CircleAnnotationElement.__proto__ || Object.getPrototypeOf(CircleAnnotationElement)).call(this, parameters, isRenderable, true));629 }630 _createClass(CircleAnnotationElement, [{631 key: 'render',632 value: function render() {633 this.container.className = 'circleAnnotation';634 var data = this.data;635 var width = data.rect[2] - data.rect[0];636 var height = data.rect[3] - data.rect[1];637 var svg = this.svgFactory.create(width, height);638 var borderWidth = data.borderStyle.width;639 var circle = this.svgFactory.createElement('svg:ellipse');640 circle.setAttribute('cx', width / 2);641 circle.setAttribute('cy', height / 2);642 circle.setAttribute('rx', width / 2 - borderWidth / 2);643 circle.setAttribute('ry', height / 2 - borderWidth / 2);644 circle.setAttribute('stroke-width', borderWidth);645 circle.setAttribute('stroke', 'transparent');646 circle.setAttribute('fill', 'none');647 svg.appendChild(circle);648 this.container.append(svg);649 this._createPopup(this.container, circle, data);650 return this.container;651 }652 }]);653 return CircleAnnotationElement;654}(AnnotationElement);655var PolylineAnnotationElement = function (_AnnotationElement8) {656 _inherits(PolylineAnnotationElement, _AnnotationElement8);657 function PolylineAnnotationElement(parameters) {658 _classCallCheck(this, PolylineAnnotationElement);659 var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);660 var _this14 = _possibleConstructorReturn(this, (PolylineAnnotationElement.__proto__ || Object.getPrototypeOf(PolylineAnnotationElement)).call(this, parameters, isRenderable, true));661 _this14.containerClassName = 'polylineAnnotation';662 _this14.svgElementName = 'svg:polyline';663 return _this14;664 }665 _createClass(PolylineAnnotationElement, [{666 key: 'render',667 value: function render() {668 this.container.className = this.containerClassName;669 var data = this.data;670 var width = data.rect[2] - data.rect[0];671 var height = data.rect[3] - data.rect[1];672 var svg = this.svgFactory.create(width, height);673 var vertices = data.vertices;674 var points = [];675 for (var i = 0, ii = vertices.length; i < ii; i++) {676 var x = vertices[i].x - data.rect[0];677 var y = data.rect[3] - vertices[i].y;678 points.push(x + ',' + y);679 }680 points = points.join(' ');681 var borderWidth = data.borderStyle.width;682 var polyline = this.svgFactory.createElement(this.svgElementName);683 polyline.setAttribute('points', points);684 polyline.setAttribute('stroke-width', borderWidth);685 polyline.setAttribute('stroke', 'transparent');686 polyline.setAttribute('fill', 'none');687 svg.appendChild(polyline);688 this.container.append(svg);689 this._createPopup(this.container, polyline, data);690 return this.container;691 }692 }]);693 return PolylineAnnotationElement;694}(AnnotationElement);695var PolygonAnnotationElement = function (_PolylineAnnotationEl) {696 _inherits(PolygonAnnotationElement, _PolylineAnnotationEl);697 function PolygonAnnotationElement(parameters) {698 _classCallCheck(this, PolygonAnnotationElement);699 var _this15 = _possibleConstructorReturn(this, (PolygonAnnotationElement.__proto__ || Object.getPrototypeOf(PolygonAnnotationElement)).call(this, parameters));700 _this15.containerClassName = 'polygonAnnotation';701 _this15.svgElementName = 'svg:polygon';702 return _this15;703 }704 return PolygonAnnotationElement;705}(PolylineAnnotationElement);706var HighlightAnnotationElement = function (_AnnotationElement9) {707 _inherits(HighlightAnnotationElement, _AnnotationElement9);708 function HighlightAnnotationElement(parameters) {709 _classCallCheck(this, HighlightAnnotationElement);710 var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);711 return _possibleConstructorReturn(this, (HighlightAnnotationElement.__proto__ || Object.getPrototypeOf(HighlightAnnotationElement)).call(this, parameters, isRenderable, true));...

Full Screen

Full Screen

Using AI Code Generation

copy

Full Screen

1var annotation = new PolygonAnnotationElement({2 data: {3 },4 layer: {5 viewport: {6 },7 transform: {8 },9 },10 page: {11 commonObjs: {},12 objs: {},13 },14 annotationStorage: {},15});16var svg = annotation.getSVG();17if (svg) {18 document.body.appendChild(svg);19}

Full Screen

Using AI Code Generation

copy

Full Screen

1var textLayerDiv = document.getElementById("textLayer");2var textLayer = new TextLayerBuilder(textLayerDiv, 0);3var div = document.createElement("div");4div.style.position = "absolute";5div.style.top = "0px";6div.style.left = "0px";7div.style.width = "100px";8div.style.height = "100px";9div.style.backgroundColor = "red";10var polygon = new PolygonAnnotationElement({11});12polygon.appendTo(div);13textLayer.appendText(div);14textLayer.render();15var textLayerDiv = document.getElementById("textLayer");16var textLayer = new TextLayerBuilder(textLayerDiv, 0);17var div = document.createElement("div");18div.style.position = "absolute";19div.style.top = "0px";20div.style.left = "0px";21div.style.width = "100px";22div.style.height = "100px";23div.style.backgroundColor = "red";24textLayer.appendText(div);25textLayer.render();

Full Screen

Using AI Code Generation

copy

Full Screen

1var wptools = require('wptools');2var options = {3};4var wp = new wptools(options);5var polygon = wp.PolygonAnnotationElement({6 "data": {7 }8});9var circle = wp.CircleAnnotationElement({10 "data": {11 }12});13var polyLine = wp.PolyLineAnnotationElement({14 "data": {15 }16});17var line = wp.LineAnnotationElement({18 "data": {19 }20});21var rect = wp.RectangleAnnotationElement({22 "data": {

Full Screen

Using AI Code Generation

copy

Full Screen

1var wptext = require('wptext');2var text = "This is a test";3var polygon = wptext.PolygonAnnotationElement(text, 100, 100, 200, 200);4console.log(polygon);5var wptext = require('wptext');6var text = "This is a test";7var polygon = wptext.PolygonAnnotationElement(text, 100, 100, 200, 200);8console.log(polygon);9var wptext = require('wptext');10var text = "This is a test";11var polygon = wptext.PolygonAnnotationElement(text, 100, 100, 200, 200);12console.log(polygon);13var wptext = require('wptext');14var text = "This is a test";15var polygon = wptext.PolygonAnnotationElement(text, 100, 100, 200, 200);16console.log(polygon);17var wptext = require('wptext');18var text = "This is a test";19var polygon = wptext.PolygonAnnotationElement(text, 100, 100, 200, 200);20console.log(polygon);21var wptext = require('wptext');22var text = "This is a test";23var polygon = wptext.PolygonAnnotationElement(text, 100, 100, 200, 200);24console.log(polygon);25var wptext = require('wptext');26var text = "This is a test";27var polygon = wptext.PolygonAnnotationElement(text, 100, 100, 200, 200);28console.log(polygon);29var wptext = require('wptext');30var text = "This is a test";

Full Screen

Using AI Code Generation

copy

Full Screen

1var wptext = require('wptext');2var path = require('path');3var pdfPath = path.resolve(__dirname, 'test.pdf');4var pathToSave = path.resolve(__dirname, 'test1.pdf');5var options = {6 annotation: {

Full Screen

Using AI Code Generation

copy

Full Screen

1var wptextlayer = require('pdfjs-dist/lib/core/wptextlayer.js');2var wppdfjs = require('pdfjs-dist/lib/core/wppdfjs.js');3var newPolygon = new wptextlayer.PolygonAnnotationElement({4});5wppdfjs.pdf.addAnnotation(newPolygon);6wppdfjs.pdf.save('test.pdf');

Full Screen

Using AI Code Generation

copy

Full Screen

1var polygon = {2};3var page = wptools.openPage('test.pdf');4var annotation = new wptools.PolygonAnnotationElement(polygon, {5});6page.addAnnotation(annotation);7page.save();8page.saveDocument();9page.close();10page.closeDocument();11var polyline = {12};13var page = wptools.openPage('test.pdf');14var annotation = new wptools.PolylineAnnotationElement(polyline, {15});16page.addAnnotation(annotation);17page.save();18page.saveDocument();19page.close();20page.closeDocument();21var page = wptools.openPage('test.pdf');22var annotation = new wptools.SquareAnnotationElement({

Full Screen

Using AI Code Generation

copy

Full Screen

1var wpt = require('./wpt.js');2var fs = require('fs');3var wpt_obj = new wpt.WPT();4var polygon_annotation_element = new wpt.PolygonAnnotationElement();5var circle_annotation_element = new wpt.CircleAnnotationElement();6var line_annotation_element = new wpt.LineAnnotationElement();7var text_annotation_element = new wpt.TextAnnotationElement();8var image_annotation_element = new wpt.ImageAnnotationElement();9var link_annotation_element = new wpt.LinkAnnotationElement();10var highlight_annotation_element = new wpt.HighlightAnnotationElement();11var underline_annotation_element = new wpt.UnderlineAnnotationElement();12var squiggly_annotation_element = new wpt.SquigglyAnnotationElement();13var strikeout_annotation_element = new wpt.StrikeOutAnnotationElement();14var redact_annotation_element = new wpt.RedactAnnotationElement();15var file_attachment_annotation_element = new wpt.FileAttachmentAnnotationElement();16var caret_annotation_element = new wpt.CaretAnnotationElement();17var ink_annotation_element = new wpt.InkAnnotationElement();18var popup_annotation_element = new wpt.PopupAnnotationElement();19var sound_annotation_element = new wpt.SoundAnnotationElement();20var movie_annotation_element = new wpt.MovieAnnotationElement();21var widget_annotation_element = new wpt.WidgetAnnotationElement();22var screen_annotation_element = new wpt.ScreenAnnotationElement();

Full Screen

Using AI Code Generation

copy

Full Screen

1var wptools = require('wptools');2var fs = require('fs');3var pdfDoc = require('pdfkit');4var PDFDocument = require('pdfkit');5var doc = new PDFDocument();6var output = "output.pdf";7var image = "image.jpg";8wptools.page(page).then(function(page) {9 return page.polygon();10}).then(function(polygon) {11 console.log(polygon);12 var poly = polygon[0];13 var points = poly.points;14 var page = poly.page;15 var image = poly.image;16 console.log("page: " + page);17 console.log("image: " + image);18 console.log("points: " + points);19 var doc = new PDFDocument();20 doc.pipe(fs.createWriteStream(output));21 doc.addPage({22 });23 doc.image(image, 0, 0, {24 });25 doc.fillColor('red');26 doc.fillOpacity(0.5);27 doc.polygon(points);28 doc.fill();29 doc.end();30});31var wptools = require('wptools');32var fs = require('fs');33var pdfDoc = require('pdfkit');34var PDFDocument = require('pdfkit');35var doc = new PDFDocument();

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run wpt automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful