@embedpdf/models 1.0.22 → 1.0.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -238,48 +238,31 @@ function boundingRect(rects) {
238
238
  }
239
239
  };
240
240
  }
241
- const makeMatrix = (rectangle, rotation, scaleFactor) => {
242
- const { width, height } = rectangle.size;
241
+ function buildUserToDeviceMatrix(rect, rotation, outW, outH) {
242
+ const L = rect.origin.x;
243
+ const B = rect.origin.y;
244
+ const W = rect.size.width;
245
+ const H = rect.size.height;
246
+ const sx0 = outW / W;
247
+ const sy0 = outH / H;
248
+ const sx90 = outW / H;
249
+ const sy90 = outH / W;
243
250
  switch (rotation) {
244
251
  case 0:
245
- return {
246
- a: scaleFactor,
247
- b: 0,
248
- c: 0,
249
- d: -scaleFactor,
250
- e: 0,
251
- f: height * scaleFactor
252
- };
253
- case 1:
254
- return {
255
- a: 0,
256
- b: scaleFactor,
257
- c: scaleFactor,
258
- d: 0,
259
- e: 0,
260
- f: 0
261
- };
262
- case 2:
263
- return {
264
- a: -scaleFactor,
265
- b: 0,
266
- c: 0,
267
- d: scaleFactor,
268
- e: width * scaleFactor,
269
- f: 0
270
- };
252
+ return { a: sx0, b: 0, c: 0, d: sy0, e: -sx0 * L, f: -sy0 * B };
271
253
  case 3:
272
- return {
273
- a: 0,
274
- b: -scaleFactor,
275
- c: -scaleFactor,
276
- d: 0,
277
- e: height * scaleFactor,
278
- f: width * scaleFactor
279
- };
254
+ return { a: 0, b: -sy90, c: sx90, d: 0, e: -sx90 * B, f: sy90 * (L + W) };
255
+ case 2:
256
+ return { a: -sx0, b: 0, c: 0, d: -sy0, e: sx0 * (L + W), f: sy0 * (B + H) };
257
+ case 1:
258
+ return { a: 0, b: sy90, c: -sx90, d: 0, e: sx90 * (B + H), f: -sy90 * L };
280
259
  }
281
- };
260
+ }
282
261
  class NoopLogger {
262
+ /** {@inheritDoc Logger.isEnabled} */
263
+ isEnabled() {
264
+ return false;
265
+ }
283
266
  /** {@inheritDoc Logger.debug} */
284
267
  debug() {
285
268
  }
@@ -297,6 +280,10 @@ class NoopLogger {
297
280
  }
298
281
  }
299
282
  class ConsoleLogger {
283
+ /** {@inheritDoc Logger.isEnabled} */
284
+ isEnabled() {
285
+ return true;
286
+ }
300
287
  /** {@inheritDoc Logger.debug} */
301
288
  debug(source, category, ...args) {
302
289
  console.debug(`${source}.${category}`, ...args);
@@ -335,6 +322,17 @@ class LevelLogger {
335
322
  this.logger = logger;
336
323
  this.level = level;
337
324
  }
325
+ /** {@inheritDoc Logger.isEnabled} */
326
+ isEnabled(level) {
327
+ const levelMap = {
328
+ debug: 0,
329
+ info: 1,
330
+ warn: 2,
331
+ error: 3
332
+ /* Error */
333
+ };
334
+ return this.level <= levelMap[level];
335
+ }
338
336
  /** {@inheritDoc Logger.debug} */
339
337
  debug(source, category, ...args) {
340
338
  if (this.level <= 0) {
@@ -370,6 +368,10 @@ class PerfLogger {
370
368
  */
371
369
  constructor() {
372
370
  }
371
+ /** {@inheritDoc Logger.isEnabled} */
372
+ isEnabled() {
373
+ return false;
374
+ }
373
375
  /** {@inheritDoc Logger.debug} */
374
376
  debug(source, category, ...args) {
375
377
  }
@@ -410,6 +412,10 @@ class AllLogger {
410
412
  constructor(loggers) {
411
413
  this.loggers = loggers;
412
414
  }
415
+ /** {@inheritDoc Logger.isEnabled} */
416
+ isEnabled(level) {
417
+ return this.loggers.some((logger) => logger.isEnabled(level));
418
+ }
413
419
  /** {@inheritDoc Logger.debug} */
414
420
  debug(source, category, ...args) {
415
421
  for (const logger of this.loggers) {
@@ -1819,6 +1825,7 @@ export {
1819
1825
  blendModeSelectOptions,
1820
1826
  blendModeToCss,
1821
1827
  boundingRect,
1828
+ buildUserToDeviceMatrix,
1822
1829
  calculateAngle,
1823
1830
  calculateDegree,
1824
1831
  combinePdfColorWithAlpha,
@@ -1837,7 +1844,6 @@ export {
1837
1844
  getTextAlignmentInfo,
1838
1845
  ignore,
1839
1846
  isUuidV4,
1840
- makeMatrix,
1841
1847
  makeStandardFont,
1842
1848
  namesToFlags,
1843
1849
  pdfAlphaColorToWebAlphaColor,