ladybird/Userland/Libraries/LibGfx
Nico Weber 1eaaa8c3e9 LibPDF+LibGfx: Support JBIG2s with /JBIG2Globals set
Several ramifications:

* /JBIG2Globals is an indirect reference, which means we now need
  a Document for unfiltering. (Technically, other decode parameters
  can also be indirect objects and we should use the Document to
  resolve() those too, but in practice it only seems to be needed
  for /JBIG2Globals.)

* Since /JBIG2Globals are so rare, we just parse once for each
  image that use them, and decode_embedded() now receives a
  Vector<ReadonlyBytes> with all sections of sequences of
  segments.

* Internally, decode_segment_headers() is now called several times
  for embedded JBIG2s with multiple such sections (e.g. PDFs with
  /JBIG2Globals).

* That means `data` is now no longer part of JBIG2LoadingContext
  and things get slightly reshuffled due to this.

This completes the LibPDF part of JBIG2 support. Once LibGfx
implements actual decoding of JBIG2s, things should start to
Just Work in PDFs.
2024-03-09 16:01:22 +01:00
..
Filters
Font LibGfx: Add ScaledFont::scaled_with_size() 2024-03-01 17:56:59 +01:00
ICC LibGfx/ICC: Add another version of the Apple P3 profile to quirks list 2024-02-21 13:37:08 +01:00
ImageFormats LibPDF+LibGfx: Support JBIG2s with /JBIG2Globals set 2024-03-09 16:01:22 +01:00
AffineTransform.cpp LibGfx: Add fast path for multiply() with identity transforms 2024-03-02 13:00:09 +01:00
AffineTransform.h LibGfx: Inline some AffineTransform functions 2024-03-02 13:00:09 +01:00
AntiAliasingPainter.cpp
AntiAliasingPainter.h LibGfx+LibWeb: Do not ignore corner radius if it is defined in one axis 2024-01-15 15:21:17 +01:00
Bitmap.cpp LibGfx+Fallout: Make ImageDecoder return ErrorOr 2024-03-07 11:20:06 -05:00
Bitmap.h LibGfx: Add the start of a JBIG2 loader 2024-03-09 16:01:22 +01:00
BitmapMixer.cpp
BitmapMixer.h
BoundingBox.h
CharacterBitmap.h
CIELAB.h
ClassicStylePainter.cpp
ClassicStylePainter.h
ClassicWindowTheme.cpp
ClassicWindowTheme.h
CMakeLists.txt LibGfx: Add the start of a JBIG2 loader 2024-03-09 16:01:22 +01:00
CMYKBitmap.cpp LibGfx: Prevent overflow when creating CMYKBitmaps 2024-03-07 11:32:57 -05:00
CMYKBitmap.h LibGfx: Add comparison operators to CMYK 2024-01-26 07:36:53 +01:00
Color.cpp LibGfx: Add formatters for Gfx::Color's different representations 2024-03-03 19:50:25 +01:00
Color.h LibGfx: Add formatters for Gfx::Color's different representations 2024-03-03 19:50:25 +01:00
CursorParams.cpp Everywhere: Use to_number<T> instead of to_{int,uint,float,double} 2023-12-23 20:41:07 +01:00
CursorParams.h
DeltaE.cpp
DeltaE.h
DisjointRectSet.h
EdgeFlagPathRasterizer.cpp LibGfx: Trim scanline to right clip in path rasterizer 2024-01-08 09:26:43 +01:00
EdgeFlagPathRasterizer.h LibGfx: Sprinkle some FLATTEN/hot attributes in the path rasterizer 2024-01-08 09:26:43 +01:00
FontCascadeList.cpp LibGfx: Don't clone fonts in FontCascadeList::extend() 2023-12-27 11:42:05 +01:00
FontCascadeList.h
Forward.h LibGfx: Add CMYKBitmap 2024-01-10 09:39:00 +01:00
FourCC.h LibGfx: Add FourCC::from_u32() 2024-02-28 16:00:07 -05:00
GradientPainting.cpp
Gradients.h
GrayscaleBitmap.h
ImmutableBitmap.cpp
ImmutableBitmap.h
Line.h
Matrix.h LibGfx: Add an indexing operator to Matrix 2024-03-02 12:25:53 +01:00
Matrix3x3.h
Matrix4x4.h
Orientation.h
Painter.cpp LibGfx: Remove Gamma.h 2024-01-30 10:02:33 +01:00
Painter.h LibGfx: Move Gfx::color_for_format() to header 2024-01-08 09:26:43 +01:00
PaintStyle.h
Palette.cpp
Palette.h
Path.cpp LibGfx: Decrease flatness a little in Path::stroke_to_fill() 2024-01-21 19:23:31 +01:00
Path.h LibGfx: Add Path::place_text_along(text, font) 2023-12-19 21:29:03 +01:00
Point.cpp LibGfx: Make FloatPoint compatible with IPC 2024-02-21 08:31:17 +00:00
Point.h LibGfx: Make FloatPoint compatible with IPC 2024-02-21 08:31:17 +00:00
Quad.h
Rect.cpp
Rect.h
ShareableBitmap.cpp
ShareableBitmap.h
Size.cpp
Size.h LibGfx: Add hash traits for the Size family 2024-02-24 19:56:08 +01:00
StandardCursor.h
StylePainter.cpp
StylePainter.h
SystemTheme.cpp Taskbar: Add hotkeys for theme selector menu 2024-01-14 15:16:45 -07:00
SystemTheme.h Taskbar: Add hotkeys for theme selector menu 2024-01-14 15:16:45 -07:00
TabPosition.h
TextAlignment.h
TextAttributes.h
TextDirection.cpp
TextDirection.h
TextElision.h
TextLayout.cpp LibGfx: Treat "\r\n" as a single line break during text layout 2024-03-08 14:43:33 -05:00
TextLayout.h LibGfx+LibWeb: Use ref-counted object to store glyph run 2024-03-02 09:09:10 +01:00
TextWrapping.h
TIFFGenerator.py LibGfx/TIFF: Add Rational::as_double() 2024-02-21 08:31:17 +00:00
Triangle.cpp
Triangle.h
Vector2.h
Vector3.h
Vector4.h
VectorGraphic.cpp
VectorGraphic.h
VectorN.h LibGfx: Add VectorN::operator== 2024-03-02 12:25:53 +01:00
WindowTheme.cpp
WindowTheme.h