@lexmata/micropdf 0.9.1 → 0.10.0

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.
Files changed (108) hide show
  1. package/README.md +6 -6
  2. package/dist/annot.d.ts +23 -4
  3. package/dist/annot.d.ts.map +1 -1
  4. package/dist/annot.js +70 -10
  5. package/dist/annot.js.map +1 -1
  6. package/dist/archive.d.ts +21 -3
  7. package/dist/archive.d.ts.map +1 -1
  8. package/dist/archive.js +29 -5
  9. package/dist/archive.js.map +1 -1
  10. package/dist/colorspace.d.ts +11 -11
  11. package/dist/colorspace.d.ts.map +1 -1
  12. package/dist/colorspace.js +10 -10
  13. package/dist/colorspace.js.map +1 -1
  14. package/dist/context.d.ts +42 -10
  15. package/dist/context.d.ts.map +1 -1
  16. package/dist/context.js +68 -18
  17. package/dist/context.js.map +1 -1
  18. package/dist/cookie.d.ts +14 -2
  19. package/dist/cookie.d.ts.map +1 -1
  20. package/dist/cookie.js +21 -3
  21. package/dist/cookie.js.map +1 -1
  22. package/dist/device.d.ts +32 -32
  23. package/dist/device.d.ts.map +1 -1
  24. package/dist/device.js +43 -39
  25. package/dist/device.js.map +1 -1
  26. package/dist/display-list.d.ts +7 -2
  27. package/dist/display-list.d.ts.map +1 -1
  28. package/dist/display-list.js +17 -8
  29. package/dist/display-list.js.map +1 -1
  30. package/dist/document.d.ts +29 -8
  31. package/dist/document.d.ts.map +1 -1
  32. package/dist/document.js +142 -16
  33. package/dist/document.js.map +1 -1
  34. package/dist/enhanced.d.ts +49 -0
  35. package/dist/enhanced.d.ts.map +1 -1
  36. package/dist/enhanced.js +132 -0
  37. package/dist/enhanced.js.map +1 -1
  38. package/dist/font.d.ts +22 -6
  39. package/dist/font.d.ts.map +1 -1
  40. package/dist/font.js +31 -6
  41. package/dist/font.js.map +1 -1
  42. package/dist/form.d.ts +110 -32
  43. package/dist/form.d.ts.map +1 -1
  44. package/dist/form.js +205 -17
  45. package/dist/form.js.map +1 -1
  46. package/dist/geometry.d.ts +178 -10
  47. package/dist/geometry.d.ts.map +1 -1
  48. package/dist/geometry.js +233 -20
  49. package/dist/geometry.js.map +1 -1
  50. package/dist/image.d.ts +27 -6
  51. package/dist/image.d.ts.map +1 -1
  52. package/dist/image.js +83 -24
  53. package/dist/image.js.map +1 -1
  54. package/dist/index.d.ts +4 -4
  55. package/dist/index.d.ts.map +1 -1
  56. package/dist/index.js +4 -4
  57. package/dist/index.js.map +1 -1
  58. package/dist/link.d.ts +26 -2
  59. package/dist/link.d.ts.map +1 -1
  60. package/dist/link.js +42 -4
  61. package/dist/link.js.map +1 -1
  62. package/dist/output.d.ts +9 -5
  63. package/dist/output.d.ts.map +1 -1
  64. package/dist/output.js +20 -6
  65. package/dist/output.js.map +1 -1
  66. package/dist/path.d.ts +39 -2
  67. package/dist/path.d.ts.map +1 -1
  68. package/dist/path.js +62 -1
  69. package/dist/path.js.map +1 -1
  70. package/dist/pixmap.d.ts +16 -4
  71. package/dist/pixmap.d.ts.map +1 -1
  72. package/dist/pixmap.js +52 -21
  73. package/dist/pixmap.js.map +1 -1
  74. package/dist/stext.d.ts +20 -4
  75. package/dist/stext.d.ts.map +1 -1
  76. package/dist/stext.js +94 -14
  77. package/dist/stext.js.map +1 -1
  78. package/dist/text.d.ts +13 -6
  79. package/dist/text.d.ts.map +1 -1
  80. package/dist/text.js +47 -11
  81. package/dist/text.js.map +1 -1
  82. package/native/annot.cc +1 -1
  83. package/native/colorspace.cc +1 -1
  84. package/native/context.cc +2 -2
  85. package/native/cookie.cc +1 -1
  86. package/native/device.cc +1 -1
  87. package/native/display_list.cc +1 -1
  88. package/native/document.cc +1 -1
  89. package/native/font.cc +1 -1
  90. package/native/form.cc +1 -1
  91. package/native/image.cc +1 -1
  92. package/native/include/micropdf/enhanced.h +2 -2
  93. package/native/include/micropdf.h +5 -5
  94. package/native/include/{mupdf_minimal.h → micropdf_minimal.h} +4 -4
  95. package/native/include/mupdf-compat.h +11 -0
  96. package/native/include/mupdf-ffi.h +10 -10
  97. package/native/lib/linux-x64/libmicropdf.a +0 -0
  98. package/native/link.cc +1 -1
  99. package/native/micropdf.cc +1 -1
  100. package/native/output.cc +1 -1
  101. package/native/page.cc +1 -1
  102. package/native/path.cc +1 -1
  103. package/native/pixmap.cc +1 -1
  104. package/native/stext.cc +3 -3
  105. package/native/stream.cc +1 -1
  106. package/package.json +24 -24
  107. package/prebuilds/linux-x64/@lexmata+micropdf.node +0 -0
  108. package/native/include/mupdf.h +0 -11
package/dist/geometry.js CHANGED
@@ -93,6 +93,17 @@ export class Point {
93
93
  * ```
94
94
  */
95
95
  static ORIGIN = new Point(0, 0);
96
+ /**
97
+ * Returns the origin point (0, 0).
98
+ *
99
+ * Alias for {@link Point.ORIGIN}.
100
+ *
101
+ * @static
102
+ * @returns {Point} The origin point
103
+ */
104
+ static zero() {
105
+ return Point.ORIGIN;
106
+ }
96
107
  // ============================================================================
97
108
  // Static Constructors
98
109
  // ============================================================================
@@ -141,7 +152,7 @@ export class Point {
141
152
  * console.log(scaled); // Point(20, 40)
142
153
  *
143
154
  * // Rotate 90 degrees
144
- * const rotated = p.transform(Matrix.rotate(90));
155
+ * const rotated = p.transform(Matrix.rotate(Math.PI / 2));
145
156
  * ```
146
157
  */
147
158
  transform(m) {
@@ -290,6 +301,25 @@ export class Point {
290
301
  equals(other) {
291
302
  return this.x === other.x && this.y === other.y;
292
303
  }
304
+ /**
305
+ * Calculates the Euclidean distance to another point.
306
+ *
307
+ * Alias for {@link Point.distanceTo}.
308
+ *
309
+ * @param {PointLike} other - The point to measure distance to
310
+ * @returns {number} The distance
311
+ */
312
+ distance(other) {
313
+ return this.distanceTo(other);
314
+ }
315
+ /**
316
+ * Creates a copy of this point.
317
+ *
318
+ * @returns {Point} A new Point with the same coordinates
319
+ */
320
+ clone() {
321
+ return new Point(this.x, this.y);
322
+ }
293
323
  /**
294
324
  * Returns a string representation of the point.
295
325
  *
@@ -328,6 +358,28 @@ export class Rect {
328
358
  static INFINITE = new Rect(-Infinity, -Infinity, Infinity, Infinity);
329
359
  /** Unit rectangle (0,0) to (1,1) */
330
360
  static UNIT = new Rect(0, 0, 1, 1);
361
+ /**
362
+ * Returns an empty rectangle.
363
+ *
364
+ * Alias for {@link Rect.EMPTY}.
365
+ *
366
+ * @static
367
+ * @returns {Rect} An empty rectangle
368
+ */
369
+ static empty() {
370
+ return Rect.EMPTY;
371
+ }
372
+ /**
373
+ * Returns an infinite rectangle.
374
+ *
375
+ * Alias for {@link Rect.INFINITE}.
376
+ *
377
+ * @static
378
+ * @returns {Rect} An infinite rectangle
379
+ */
380
+ static infinite() {
381
+ return Rect.INFINITE;
382
+ }
331
383
  // ============================================================================
332
384
  // Static Constructors
333
385
  // ============================================================================
@@ -361,11 +413,11 @@ export class Rect {
361
413
  return this.y1 - this.y0;
362
414
  }
363
415
  /** Check if the rectangle is empty */
364
- get isEmpty() {
416
+ isEmpty() {
365
417
  return this.x0 >= this.x1 || this.y0 >= this.y1;
366
418
  }
367
419
  /** Check if the rectangle is infinite */
368
- get isInfinite() {
420
+ isInfinite() {
369
421
  return this.x0 === -Infinity;
370
422
  }
371
423
  containsPoint(xOrPoint, y) {
@@ -379,7 +431,7 @@ export class Rect {
379
431
  }
380
432
  /** Union with another rectangle */
381
433
  union(other) {
382
- if (this.isEmpty)
434
+ if (this.isEmpty())
383
435
  return Rect.from(other);
384
436
  if (other.x0 >= other.x1 || other.y0 >= other.y1)
385
437
  return this;
@@ -388,7 +440,7 @@ export class Rect {
388
440
  /** Intersection with another rectangle */
389
441
  intersect(other) {
390
442
  const result = new Rect(Math.max(this.x0, other.x0), Math.max(this.y0, other.y0), Math.min(this.x1, other.x1), Math.min(this.y1, other.y1));
391
- if (result.isEmpty) {
443
+ if (result.isEmpty()) {
392
444
  return Rect.EMPTY;
393
445
  }
394
446
  return result;
@@ -407,7 +459,7 @@ export class Rect {
407
459
  }
408
460
  /** Transform by a matrix */
409
461
  transform(m) {
410
- if (this.isEmpty || this.isInfinite) {
462
+ if (this.isEmpty() || this.isInfinite()) {
411
463
  return this;
412
464
  }
413
465
  const p1 = new Point(this.x0, this.y0).transform(m);
@@ -424,6 +476,44 @@ export class Rect {
424
476
  round() {
425
477
  return new IRect(Math.floor(this.x0), Math.floor(this.y0), Math.ceil(this.x1), Math.ceil(this.y1));
426
478
  }
479
+ /**
480
+ * Check if a point is inside the rectangle.
481
+ *
482
+ * Alias for {@link Rect.containsPoint}.
483
+ *
484
+ * @param {PointLike} point - The point to test
485
+ * @returns {boolean} True if the point is inside
486
+ */
487
+ contains(point) {
488
+ return this.containsPoint(point);
489
+ }
490
+ /**
491
+ * Expand (or shrink) the rectangle by a value in all directions.
492
+ *
493
+ * A positive value grows the rectangle; a negative value shrinks it.
494
+ *
495
+ * @param {number} value - The amount to expand each edge by
496
+ * @returns {Rect} A new expanded rectangle
497
+ */
498
+ expand(value) {
499
+ return new Rect(this.x0 - value, this.y0 - value, this.x1 + value, this.y1 + value);
500
+ }
501
+ /**
502
+ * Creates a copy of this rectangle.
503
+ *
504
+ * @returns {Rect} A new Rect with the same coordinates
505
+ */
506
+ clone() {
507
+ return new Rect(this.x0, this.y0, this.x1, this.y1);
508
+ }
509
+ /**
510
+ * Returns the center point of the rectangle.
511
+ *
512
+ * @returns {Point} The center point
513
+ */
514
+ center() {
515
+ return new Point((this.x0 + this.x1) / 2, (this.y0 + this.y1) / 2);
516
+ }
427
517
  /** Check equality */
428
518
  equals(other) {
429
519
  return (this.x0 === other.x0 && this.y0 === other.y0 && this.x1 === other.x1 && this.y1 === other.y1);
@@ -467,6 +557,18 @@ export class IRect {
467
557
  static fromRect(r) {
468
558
  return new IRect(Math.floor(r.x0), Math.floor(r.y0), Math.ceil(r.x1), Math.ceil(r.y1));
469
559
  }
560
+ /**
561
+ * Create from a Rect by rounding each coordinate to the nearest integer.
562
+ *
563
+ * Unlike {@link IRect.fromRect} which floors origins and ceils extents,
564
+ * this method uses standard rounding for all four coordinates.
565
+ *
566
+ * @param {RectLike} r - The source rectangle
567
+ * @returns {IRect} A new integer rectangle with rounded coordinates
568
+ */
569
+ static round(r) {
570
+ return new IRect(Math.round(r.x0), Math.round(r.y0), Math.round(r.x1), Math.round(r.y1));
571
+ }
470
572
  // ============================================================================
471
573
  // Properties
472
574
  // ============================================================================
@@ -479,7 +581,7 @@ export class IRect {
479
581
  return this.y1 - this.y0;
480
582
  }
481
583
  /** Check if empty */
482
- get isEmpty() {
584
+ isEmpty() {
483
585
  return this.x0 >= this.x1 || this.y0 >= this.y1;
484
586
  }
485
587
  // ============================================================================
@@ -487,7 +589,7 @@ export class IRect {
487
589
  // ============================================================================
488
590
  /** Union with another integer rectangle */
489
591
  union(other) {
490
- if (this.isEmpty)
592
+ if (this.isEmpty())
491
593
  return IRect.from(other);
492
594
  if (other.x0 >= other.x1 || other.y0 >= other.y1)
493
595
  return this;
@@ -496,7 +598,7 @@ export class IRect {
496
598
  /** Intersection with another integer rectangle */
497
599
  intersect(other) {
498
600
  const result = new IRect(Math.max(this.x0, other.x0), Math.max(this.y0, other.y0), Math.min(this.x1, other.x1), Math.min(this.y1, other.y1));
499
- if (result.isEmpty) {
601
+ if (result.isEmpty()) {
500
602
  return IRect.EMPTY;
501
603
  }
502
604
  return result;
@@ -509,6 +611,15 @@ export class IRect {
509
611
  toRect() {
510
612
  return new Rect(this.x0, this.y0, this.x1, this.y1);
511
613
  }
614
+ /**
615
+ * Check if a point is inside the integer rectangle.
616
+ *
617
+ * @param {PointLike} point - The point to test
618
+ * @returns {boolean} True if the point is inside
619
+ */
620
+ contains(point) {
621
+ return point.x >= this.x0 && point.x < this.x1 && point.y >= this.y0 && point.y < this.y1;
622
+ }
512
623
  /** Check equality */
513
624
  equals(other) {
514
625
  return (this.x0 === other.x0 && this.y0 === other.y0 && this.x1 === other.x1 && this.y1 === other.y1);
@@ -540,6 +651,17 @@ export class Matrix {
540
651
  // ============================================================================
541
652
  /** Identity matrix */
542
653
  static IDENTITY = new Matrix(1, 0, 0, 1, 0, 0);
654
+ /**
655
+ * Returns the identity matrix.
656
+ *
657
+ * Alias for {@link Matrix.IDENTITY}.
658
+ *
659
+ * @static
660
+ * @returns {Matrix} The identity matrix
661
+ */
662
+ static identity() {
663
+ return Matrix.IDENTITY;
664
+ }
543
665
  // ============================================================================
544
666
  // Static Constructors
545
667
  // ============================================================================
@@ -558,11 +680,10 @@ export class Matrix {
558
680
  static scale(sx, sy = sx) {
559
681
  return new Matrix(sx, 0, 0, sy, 0, 0);
560
682
  }
561
- /** Create a rotation matrix (degrees) */
562
- static rotate(degrees) {
563
- const rad = (degrees * Math.PI) / 180;
564
- const cos = Math.cos(rad);
565
- const sin = Math.sin(rad);
683
+ /** Create a rotation matrix (radians) */
684
+ static rotate(radians) {
685
+ const cos = Math.cos(radians);
686
+ const sin = Math.sin(radians);
566
687
  return new Matrix(cos, sin, -sin, cos, 0, 0);
567
688
  }
568
689
  /** Create a shear matrix */
@@ -573,11 +694,11 @@ export class Matrix {
573
694
  // Properties
574
695
  // ============================================================================
575
696
  /** Check if this is the identity matrix */
576
- get isIdentity() {
697
+ isIdentity() {
577
698
  return (this.a === 1 && this.b === 0 && this.c === 0 && this.d === 1 && this.e === 0 && this.f === 0);
578
699
  }
579
700
  /** Check if this is a rectilinear matrix (no rotation/shear) */
580
- get isRectilinear() {
701
+ isRectilinear() {
581
702
  return (this.b === 0 && this.c === 0) || (this.a === 0 && this.d === 0);
582
703
  }
583
704
  // ============================================================================
@@ -613,12 +734,12 @@ export class Matrix {
613
734
  return this.concat(Matrix.scale(sx, sy));
614
735
  }
615
736
  /** Pre-rotate this matrix */
616
- preRotate(degrees) {
617
- return Matrix.rotate(degrees).concat(this);
737
+ preRotate(radians) {
738
+ return Matrix.rotate(radians).concat(this);
618
739
  }
619
740
  /** Post-rotate this matrix */
620
- postRotate(degrees) {
621
- return this.concat(Matrix.rotate(degrees));
741
+ postRotate(radians) {
742
+ return this.concat(Matrix.rotate(radians));
622
743
  }
623
744
  /** Pre-shear this matrix */
624
745
  preShear(sx, sy) {
@@ -632,6 +753,57 @@ export class Matrix {
632
753
  transformPoint(p) {
633
754
  return new Point(p.x * this.a + p.y * this.c + this.e, p.x * this.b + p.y * this.d + this.f);
634
755
  }
756
+ /**
757
+ * Transform a rectangle using this matrix.
758
+ *
759
+ * Transforms all four corners of the rectangle and returns the
760
+ * axis-aligned bounding box of the result.
761
+ *
762
+ * @param {RectLike} r - The rectangle to transform
763
+ * @returns {Rect} The transformed bounding rectangle
764
+ */
765
+ transformRect(r) {
766
+ const rect = Rect.from(r);
767
+ return rect.transform(this);
768
+ }
769
+ /**
770
+ * Multiply this matrix with another matrix.
771
+ *
772
+ * Alias for {@link Matrix.concat}.
773
+ *
774
+ * @param {MatrixLike} other - The matrix to multiply with
775
+ * @returns {Matrix} The product matrix
776
+ */
777
+ multiply(other) {
778
+ return this.concat(other);
779
+ }
780
+ /**
781
+ * Creates a copy of this matrix.
782
+ *
783
+ * @returns {Matrix} A new Matrix with the same values
784
+ */
785
+ clone() {
786
+ return new Matrix(this.a, this.b, this.c, this.d, this.e, this.f);
787
+ }
788
+ /**
789
+ * Calculates the determinant of this matrix.
790
+ *
791
+ * @returns {number} The determinant (ad - bc)
792
+ */
793
+ determinant() {
794
+ return this.a * this.d - this.b * this.c;
795
+ }
796
+ /**
797
+ * Extracts the scale factors from this matrix.
798
+ *
799
+ * Returns a Point where x is the horizontal scale and y is the
800
+ * vertical scale, computed as the lengths of the basis vectors.
801
+ *
802
+ * @returns {Point} A point with (scaleX, scaleY)
803
+ */
804
+ getScale() {
805
+ return new Point(Math.sqrt(this.a * this.a + this.b * this.b), Math.sqrt(this.c * this.c + this.d * this.d));
806
+ }
635
807
  /** Check equality */
636
808
  equals(other) {
637
809
  return (this.a === other.a &&
@@ -730,6 +902,47 @@ export class Quad {
730
902
  const c4 = cross(this.ll, this.ul, this.ur);
731
903
  return (c1 >= 0 && c2 >= 0 && c3 >= 0 && c4 >= 0) || (c1 <= 0 && c2 <= 0 && c3 <= 0 && c4 <= 0);
732
904
  }
905
+ /**
906
+ * Get the bounding box of this quad.
907
+ *
908
+ * Alias for the {@link Quad.bounds} property.
909
+ *
910
+ * @returns {Rect} The axis-aligned bounding rectangle
911
+ */
912
+ bbox() {
913
+ return this.bounds;
914
+ }
915
+ /**
916
+ * Check if this quad is convex (non-self-intersecting).
917
+ *
918
+ * Alias for the {@link Quad.isValid} property.
919
+ *
920
+ * @returns {boolean} True if the quad is convex
921
+ */
922
+ isConvex() {
923
+ return this.isValid;
924
+ }
925
+ /**
926
+ * Check if this quad is rectilinear (all edges are axis-aligned).
927
+ *
928
+ * A rectilinear quad has all edges parallel to the x or y axis.
929
+ *
930
+ * @returns {boolean} True if all edges are axis-aligned
931
+ */
932
+ isRectilinear() {
933
+ return (this.ul.x === this.ll.x &&
934
+ this.ur.x === this.lr.x &&
935
+ this.ul.y === this.ur.y &&
936
+ this.ll.y === this.lr.y);
937
+ }
938
+ /**
939
+ * Creates a copy of this quad.
940
+ *
941
+ * @returns {Quad} A new Quad with the same corner points
942
+ */
943
+ clone() {
944
+ return new Quad(this.ul, this.ur, this.ll, this.lr);
945
+ }
733
946
  toString() {
734
947
  return `Quad(${this.ul}, ${this.ur}, ${this.ll}, ${this.lr})`;
735
948
  }
@@ -1 +1 @@
1
- {"version":3,"file":"geometry.js","sourceRoot":"","sources":["../src/geometry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"geometry.js","sourceRoot":"","sources":["../src/geometry.ts"],"names":[],"mappings":"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"}
package/dist/image.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Image - PDF image handling
3
3
  *
4
- * This module provides 100% API compatibility with MuPDF's image operations.
4
+ * This module provides 100% API compatibility with MicroPDF's image operations.
5
5
  * Handles image loading, decoding, and format conversion.
6
6
  */
7
7
  import { Colorspace } from './colorspace.js';
@@ -11,9 +11,15 @@ import { Pixmap } from './pixmap.js';
11
11
  */
12
12
  export declare enum ImageOrientation {
13
13
  Normal = 0,
14
+ /** Alias for Normal */
15
+ Identity = 0,
14
16
  FlipH = 1,
17
+ /** Alias for FlipH */
18
+ FlipX = 1,
15
19
  Rotate180 = 2,
16
20
  FlipV = 3,
21
+ /** Alias for FlipV */
22
+ FlipY = 3,
17
23
  Transpose = 4,
18
24
  Rotate90 = 5,
19
25
  Transverse = 6,
@@ -36,7 +42,7 @@ export declare class Image {
36
42
  private _orientation;
37
43
  private _refCount;
38
44
  private _data;
39
- constructor(width: number, height: number, colorspace: Colorspace, options?: {
45
+ constructor(width: number | null, _height?: number, _colorspace?: Colorspace, _options?: {
40
46
  xres?: number;
41
47
  yres?: number;
42
48
  isMask?: boolean;
@@ -83,21 +89,36 @@ export declare class Image {
83
89
  get xres(): number;
84
90
  get yres(): number;
85
91
  get colorspace(): Colorspace;
86
- get isMask(): boolean;
87
- get hasAlpha(): boolean;
92
+ isMask(): boolean;
93
+ hasAlpha(): boolean;
88
94
  get bpp(): number;
89
95
  get orientation(): ImageOrientation;
90
96
  set orientation(orientation: ImageOrientation);
91
97
  get data(): Uint8Array;
98
+ getWidth(): number;
99
+ getHeight(): number;
100
+ getXRes(): number;
101
+ getYRes(): number;
102
+ getColorspace(): Colorspace | null;
103
+ getBpp(): number;
104
+ getOrientation(): ImageOrientation;
92
105
  /**
93
106
  * Decode image to pixmap
94
107
  */
95
- getPixmap(): Pixmap;
108
+ getPixmap(_subarea?: unknown, _ctm?: unknown, _l2factor?: unknown, _cookie?: unknown): Pixmap | null;
109
+ /**
110
+ * Decode image to pixmap (alias for getPixmap)
111
+ */
112
+ decode(_subarea?: unknown, _ctm?: unknown): Pixmap | null;
96
113
  /**
97
114
  * Decode image to pixmap with scaling
98
115
  * @note Returns blank pixmap until FFI bindings perform actual scaling
99
116
  */
100
- getPixmapScaled(width: number, height: number): Pixmap;
117
+ decodeScaled(_subarea?: unknown, width?: number, height?: number, _cookie?: unknown): Pixmap | null;
118
+ /**
119
+ * Decode image to pixmap with scaling (original method)
120
+ */
121
+ getPixmapScaled(width: number, height: number): Pixmap | null;
101
122
  /**
102
123
  * Check if image is valid
103
124
  */
@@ -1 +1 @@
1
- {"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../src/image.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../src/image.ts"],"names":[],"mappings":"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"}