ladybird/Userland/Libraries/LibGfx
Aliaksandr Kalenik 7181c3f2ea Everywhere: Limit layout text fragments to use one font for all glyphs
The ChunkIterator now limits a chunk to using only one font (before, it
was possible to have a chunk with >1 font, when `unicode-range` CSS
property is used).

This change allows us to reduce some complexity in the text shaping and
painting code and makes us compatible with the APIs in Skia and
HarfBuzz.
2024-06-30 19:23:24 +02:00
..
Filters AK: Add to_radians and to_degrees math functions 2023-09-10 08:38:29 +01:00
Font Everywhere: Limit layout text fragments to use one font for all glyphs 2024-06-30 19:23:24 +02:00
ICC Everywhere: Use east const in more places 2024-04-19 06:31:19 -04:00
ImageFormats LibGfx: Remove home-grown PNG codec in favor of libpng+apng 2024-06-21 07:31:37 +02:00
AffineTransform.cpp LibGfx: Add fast path for multiply() with identity transforms 2024-03-02 13:00:09 +01:00
AffineTransform.h LibGfx: Add shortcut to draw_scaled_bitmap_with_transform() for scales 2024-05-29 08:17:01 +02:00
AntiAliasingPainter.cpp Everywhere: Include <LibGfx/Painter.h> in fewer places 2024-06-05 15:37:05 +02:00
AntiAliasingPainter.h Everywhere: Include <LibGfx/Painter.h> in fewer places 2024-06-05 15:37:05 +02:00
Bitmap.cpp LibGfx: Add release callback for Bitmap 2024-06-24 13:09:08 +02:00
Bitmap.h LibGfx: Add release callback for Bitmap 2024-06-24 13:09:08 +02:00
BoundingBox.h LibGfx: Add BoundingBox helper class 2023-11-14 10:13:10 +01:00
CIELAB.h LibGfx: Move CIELAB to its own file 2023-04-30 05:57:20 +02:00
CMakeLists.txt LibGfx+LibWeb: Rename Gfx::VectorFont to Gfx::Typeface 2024-06-30 13:09:23 +02: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: Make Color::NamedColor be an enum class 2024-05-26 18:51:52 +02:00
DeltaE.cpp AK: Add to_radians and to_degrees math functions 2023-09-10 08:38:29 +01:00
DeltaE.h LibGfx: Add DeltaE() function 2023-04-30 05:57:20 +02:00
DisjointRectSet.h LibGfx+Everywhere: Make DisjointRectSet work for non-int Rects 2022-10-27 13:06:33 +02:00
EdgeFlagPathRasterizer.cpp LibGfx: Make Painter::target() return a Bitmap& 2024-06-05 15:37:05 +02:00
EdgeFlagPathRasterizer.h Everywhere: Include <LibGfx/Painter.h> in fewer places 2024-06-05 15:37:05 +02:00
FontCascadeList.cpp LibGfx: Don't clone fonts in FontCascadeList::extend() 2023-12-27 11:42:05 +01:00
FontCascadeList.h LibGfx+LibWeb: Produce font cascade list in CSS font matching algorithm 2023-12-10 17:32:04 +01:00
Forward.h LibGfx: Remove unused CharacterBitmap class 2024-06-20 15:23:09 +02:00
FourCC.h LibGfx: Add FourCC::from_u32() 2024-02-28 16:00:07 -05:00
GradientPainting.cpp LibGfx: Remove Bitmap and Painter "scale" concept 2024-06-05 15:37:05 +02:00
Gradients.h AK: Add to_radians and to_degrees math functions 2023-09-10 08:38:29 +01:00
ImmutableBitmap.cpp LibGfx+LibWeb: Add ImmutableBitmap for images bitmap caching in painter 2023-11-26 12:55:43 +01:00
ImmutableBitmap.h LibGfx+LibWeb: Add ImmutableBitmap for images bitmap caching in painter 2023-11-26 12:55:43 +01:00
Line.h Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
LineStyle.h LibGfx: Move Gfx::Painter::LineStyle => Gfx::LineStyle 2024-06-05 15:37:05 +02:00
Matrix3x3.h LibGfx: Add Matrix3x3 2021-12-30 14:24:29 +01:00
Matrix4x4.h LibGfx: Add Gfx::extract_2d_affine_transform(Matrix4x4) helper 2023-11-18 19:32:31 +01:00
Matrix.h LibGfx: Add an indexing operator to Matrix 2024-03-02 12:25:53 +01:00
MedianCut.cpp LibGfx: Add an implementation of the MedianCut algorithm 2024-05-18 18:30:07 +02:00
MedianCut.h LibGfx: Add an implementation of the MedianCut algorithm 2024-05-18 18:30:07 +02:00
Orientation.h
Painter.cpp LibGfx: Remove Gfx::Painter::draw_text() and helpers 2024-06-21 10:31:13 +02:00
Painter.h LibGfx: Remove unused GrayscaleBitmap class 2024-06-21 10:31:13 +02:00
PaintStyle.h LibWeb+LibGfx: Replace usage of Gfx::PaintStyle in fill{stoke}_commands 2024-06-13 20:17:10 +03:00
Palette.cpp LibGfx: Remove unnecessary use of LibGUI in Gfx::Palette 2024-06-02 20:26:56 +02:00
Palette.h LibGfx: Remove unnecessary use of LibGUI in Gfx::Palette 2024-06-02 20:26:56 +02:00
Path.cpp Everywhere: Limit layout text fragments to use one font for all glyphs 2024-06-30 19:23:24 +02:00
Path.h LibGfx: Output an SVG compatible string from Path::to_byte_string() 2024-03-19 09:55:55 -04:00
PathClipper.cpp Everywhere: Include <LibGfx/Painter.h> in fewer places 2024-06-05 15:37:05 +02:00
PathClipper.h Everywhere: Include <LibGfx/Painter.h> in fewer places 2024-06-05 15:37:05 +02:00
Point.cpp Everywhere: Use east const in more places 2024-04-19 06:31:19 -04:00
Point.h LibGfx: Make FloatPoint compatible with IPC 2024-02-21 08:31:17 +00:00
Quad.h LibGfx: Add Gfx::Quad<T> to represent arbitrary quadrilaterals 2022-04-07 17:06:02 +02:00
Rect.cpp Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
Rect.h Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
ScalingMode.h LibGfx: Move Gfx::Painter::ScalingMode => Gfx::ScalingMode 2024-06-05 15:37:05 +02:00
ShareableBitmap.cpp LibGfx: Remove Bitmap and Painter "scale" concept 2024-06-05 15:37:05 +02:00
ShareableBitmap.h LibIPC+Everywhere: Change IPC::encode's return type to ErrorOr 2023-01-04 11:49:15 +01:00
Size.cpp Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
Size.h LibCrypto+LibGfx: Fix GCC 14 compile errors 2024-04-20 15:52:29 -06:00
StandardCursor.h Base+WindowServer+LibGfx: Add new DragCopy Cursor 2022-08-31 17:29:44 +01:00
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
TextAlignment.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
TextAttributes.h LibGfx+Userland: Make TextAttributes::underline_style optional 2023-03-15 14:55:49 +01:00
TextLayout.cpp Everywhere: Limit layout text fragments to use one font for all glyphs 2024-06-30 19:23:24 +02:00
TextLayout.h Everywhere: Limit layout text fragments to use one font for all glyphs 2024-06-30 19:23:24 +02:00
TIFFGenerator.py LibGfx/TIFF: Manually check for the presence of two baseline tags 2024-05-06 17:33:25 +02:00
Triangle.cpp Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
Triangle.h Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
Vector2.h Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
Vector3.h Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
Vector4.h Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
VectorGraphic.cpp LibGfx+Userland: Rename Size::scaled_by to Size::scaled 2023-08-17 09:57:30 -04:00
VectorGraphic.h LibGfx: Add simple VectorGraphic abstract base class 2023-07-14 06:51:05 +02:00
VectorN.h LibGfx: Add VectorN::operator== 2024-03-02 12:25:53 +01:00
WindingRule.h LibGfx: Move Gfx::Painter::WindingRule => Gfx::WindingRule 2024-06-05 15:37:05 +02:00