VaKeR CYBER ARMY
Logo of a company Server : Apache/2.4.41 (Ubuntu)
System : Linux absol.cf 5.4.0-198-generic #218-Ubuntu SMP Fri Sep 27 20:18:53 UTC 2024 x86_64
User : www-data ( 33)
PHP Version : 7.4.33
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Directory :  /var/www/html/libs/absol-full/dist/js/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /var/www/html/libs/absol-full/dist/js/mdls__absol-poser__dom__printer.js
/*** module: node_modules/absol-poser/dom/printer.js ***/
"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.exportPoserElementAsPDF = exportPoserElementAsPDF;
exports.PoserSerializer = exports.PoserPrintSerialHandlers = void 0;

require("../css/print.css");

var _FileSaver = require("absol/src/Network/FileSaver");

var _PrintSerializer = _interopRequireDefault(require("absol/src/Print/PrintSerializer"));

var _PaperPrinter = _interopRequireDefault(require("absol/src/Print/PaperPrinter"));

var _Rectangle = _interopRequireDefault(require("absol/src/Math/Rectangle"));

var _PrintSerialHandlers = require("absol/src/Print/PrintSerialHandlers");

var _Vec = _interopRequireDefault(require("absol/src/Math/Vec2"));


/***
 *
 * @type {PSHandler[]}
 */
var PoserPrintSerialHandlers = [];
exports.PoserPrintSerialHandlers = PoserPrintSerialHandlers;
PoserPrintSerialHandlers.push({
  id: 'RibbonText',
  match: (elt, scope, stack) => elt.classList && elt.classList.contains('as-ribbon-button-text'),
  exec: (printer, elt, scope, stack, accept) => {
    var content = elt.getAttribute('data-text');
    content = content.replace(/^" |"$/g, '');

    var rect = _Rectangle.default.fromClientRect(elt.getBoundingClientRect());

    rect.x -= printer.O.x;
    rect.y -= printer.O.y;
    rect.width *= 2;
    var attr = (0, _PrintSerialHandlers.computePrintAttr)(elt);
    printer.text(content, rect, attr.style);
  }
});
PoserPrintSerialHandlers.push({
  id: 'MaterialIcon',
  match: (elt, scope, stack) => elt.classList && elt.classList.contains('material-icons'),
  exec: (printer, elt, scope, stack, accept) => {
    var style = getComputedStyle(elt);
    var font = style.getPropertyValue('font');

    var rect = _Rectangle.default.fromClientRect(elt.getBoundingClientRect());

    if (rect.width * rect.height === 0) return;
    var canvas = document.createElement('canvas');
    canvas.width = rect.width * 3;
    canvas.height = rect.height * 3;
    var ctx = canvas.getContext('2d');
    ctx.font = "18px \"Material Icons\"";
    ctx.textBaseline = "top";
    rect.x -= printer.O.x;
    rect.y -= printer.O.y;
    rect.width *= 3;
    rect.height *= 3;
    ctx.fillStyle = style.getPropertyValue('color');
    ctx.fillText(elt.innerText, 10, 10);
    printer.image(canvas, rect);
  }
}); // ap-editable-short-text-answer-text-field

PoserPrintSerialHandlers.push({
  id: "APTextField",
  match: (elt, scope, stack) => elt.classList && elt.classList.contains('ap-editable-short-text-answer-text-field') || elt.parentElement && elt.parentElement.classList.contains('ap-editable-long-text-answer-text-field'),
  exec: (printer, elt, scope, stack, accept) => {
    var rect = _Rectangle.default.fromClientRect(elt.getBoundingClientRect());

    rect.x -= printer.O.x;
    rect.y -= printer.O.y;
    var C = rect.C().sub(new _Vec.default(0, 5));
    var D = rect.D().sub(new _Vec.default(0, 5));
    printer.line(D, C, {
      stroke: 'black',
      strokeWidth: 1
    });
  }
});
var PoserSerializer = new _PrintSerializer.default();
exports.PoserSerializer = PoserSerializer;
PoserSerializer.addHandlers(PoserPrintSerialHandlers);

function exportPoserElementAsPDF(elt, opt) {
  var printer = new _PaperPrinter.default();
  return PoserSerializer.serialize(elt, printer).then(printer => printer.exportAsPDF()).then(doc => {
    var blob = doc.output('blob');
    (0, _FileSaver.saveAs)(blob, (opt.title || 'export') + '.pdf');
  });
}

VaKeR 2022