Aliaksandr Kalenik
3110411c60
LibGfx: Add release callback for Bitmap
...
In upcoming changes, bitmap is going to be used to wrap the memory of
the IOSurface, and we will want to release the corresponding IOSurface
along with the bitmap.
2024-06-24 13:09:08 +02:00
Timothy Flynn
069bed5d47
LibUnicode+LibGfx: Remove superfluous emoji metadata
...
For SerenityOS, we parse emoji metadata from the UCD to learn emoji
groups, subgroups, names, etc. We used this information only in the
emoji picker dialog. It is entirely unused within Ladybird.
This removes our dependence on the UCD emoji file, as we no longer
need any of its information. All we need to know is the file path to
our custom emoji, which we get from Meta/emoji-file-list.txt.
2024-06-22 14:56:39 +02:00
Timothy Flynn
c804bda5fd
LibUnicode: Replace code point properties with ICU
2024-06-22 14:56:39 +02:00
Andreas Kling
d3a8f9ba9a
LibGfx: Remove unused GrayscaleBitmap class
2024-06-21 10:31:13 +02:00
Andreas Kling
345ae18929
LibGfx: Remove Gfx::Painter::draw_text() and helpers
2024-06-21 10:31:13 +02:00
Andreas Kling
8a3dc5ea0a
LibGfx: Remove home-grown PNG codec in favor of libpng+apng
2024-06-21 07:31:37 +02:00
Andreas Kling
fed4668fb1
LibGfx: Remove unused CharacterBitmap class
2024-06-20 15:23:09 +02:00
Andreas Kling
1039acca8c
LibGfx: Remove JPEG2000 image format support
...
This format is not supported by other browsers.
2024-06-17 21:57:35 +02:00
Andreas Kling
a34a5af939
LibGfx: Remove ILBM image format support
...
This format is not supported by other browsers.
2024-06-17 21:57:35 +02:00
Andreas Kling
b6daddb088
LibGfx: Remove JBIG2 image format support
...
This format is not supported by other browsers.
2024-06-17 21:57:35 +02:00
Andreas Kling
b7f8d7aec5
LibGfx: Remove TGA image format support
...
This format is not supported by other browsers.
2024-06-17 21:57:35 +02:00
Andreas Kling
681a2ac14e
LibGfx: Remove support for the various "portable" image formats
...
These formats are not supported by other browsers.
2024-06-17 21:57:35 +02:00
Andreas Kling
7141319a7c
LibGfx: Remove DDS image format support
...
This format is not supported by other browsers.
2024-06-17 21:57:35 +02:00
Andreas Kling
4b4254c3d0
LibGfx: Remove QOI image format support
...
This format is not supported by other browsers.
2024-06-17 21:57:35 +02:00
Andreas Kling
2a888ca626
LibGfx: Remove home-grown JPEG codec in favor of libjpeg-turbo
2024-06-17 17:59:54 +02:00
Andreas Kling
fbc42e7d42
LibGfx: Don't try to paint glyphs that aren't in a font
...
Fixes https://github.com/LadybirdBrowser/ladybird/issues/88
2024-06-16 13:24:36 +02:00
Andreas Kling
1bde774918
LibGfx: Remove unused cruft
2024-06-16 13:24:36 +02:00
Daniel Bertalan
bf1f631f25
Everywhere: Write dtors for types with incomplete members out-of-line
...
These are rejected by Clang (19) trunk as a result of
https://github.com/llvm/llvm-project/pull/77753 .
2024-06-16 07:19:56 -04:00
Aliaksandr Kalenik
57c735dec4
LibGfx: Remove draw_signed_distance_field() in Gfx::Painter
...
No longer used since we switched to vector paths for checkbox rendering.
2024-06-14 08:00:17 +02:00
Aliaksandr Kalenik
7a04a95c8a
LibWeb+LibGfx: Replace usage of Gfx::PaintStyle in fill{stoke}_commands
...
...with a struct defined in LibWeb. This is a step towards uncoupling
LibWeb from LibGfx, so we can try third-party libraries for painting.
2024-06-13 20:17:10 +03:00
Andreas Kling
28d4e326f8
LibGfx: Use the woff2 library to decode WOFF2 font files
...
This saves us the trouble of maintaining our own implementation,
and instantly brings us to full WOFF2 feature parity with others.
Co-Authored-By: Andrew Kaster <akaster@serenityos.org>
2024-06-07 18:42:12 +02:00
easrng
43b8f82e94
LibGfx: Ignore nonexistent font directories
2024-06-06 10:42:55 -06:00
Andreas Kling
f42c18bc4c
LibGfx: Make Painter::target() return a Bitmap&
...
Painter always has a target bitmap, so let's return a reference.
2024-06-05 15:37:05 +02:00
Andreas Kling
a1a59ec3ab
LibGfx: Remove unused Painter::draw_text() overloads
2024-06-05 15:37:05 +02:00
Andreas Kling
2f23912a55
LibGfx: Remove unused cruft from Painter.h
2024-06-05 15:37:05 +02:00
Andreas Kling
fe4cc32380
Everywhere: Include <LibGfx/Painter.h> in fewer places
...
Touching Painter.h now rebuilds ~40 files instead of ~300.
2024-06-05 15:37:05 +02:00
Andreas Kling
0e47e5e265
LibGfx: Move Gfx::Painter::LineStyle => Gfx::LineStyle
2024-06-05 15:37:05 +02:00
Andreas Kling
57906a4e1b
LibGfx: Move Gfx::Painter::WindingRule => Gfx::WindingRule
2024-06-05 15:37:05 +02:00
Andreas Kling
254d040ff4
LibGfx: Move Gfx::Painter::ScalingMode => Gfx::ScalingMode
...
This will allow users to avoid including Painter.h
2024-06-05 15:37:05 +02:00
Andreas Kling
5e059c80cd
LibGfx: Remove unused TabPosition.h
2024-06-05 15:37:05 +02:00
Andreas Kling
6a96920dbc
LibGfx: Remove Bitmap and Painter "scale" concept
...
We don't need intrinsic scale factors for Gfx::Bitmap in Ladybird,
as everything flows through the CSS / device pixel ratio mechanism.
This patch also removes various unused functions instead of adapting
them to the change.
2024-06-05 15:37:05 +02:00
Andreas Kling
e81bd34561
LibGfx: Remove more unused Font APIs
2024-06-04 18:45:30 +02:00
Andreas Kling
a4a3703fb4
LibGfx: Remove unused GlyphBitmap class
2024-06-04 18:45:30 +02:00
Andreas Kling
d86f54da30
LibGfx: Remove Font::presentation_size()
...
This was a legacy version of point_size() that returned a u8.
2024-06-04 18:45:30 +02:00
Andreas Kling
d95f5692a3
LibGfx: Remove Font::qualified_name() and some FontDatabase APIs
...
...because the FontDatabase APIs were not used, and they were the only
users of qualified_name().
2024-06-04 18:45:30 +02:00
Andreas Kling
eccfdede10
LibGfx: Remove various unused Font APIs
2024-06-04 18:45:30 +02:00
Andreas Kling
23bb449026
LibGfx: Remove Utf32View APIs from Painter
2024-06-04 18:45:30 +02:00
Andreas Kling
1a2a34fa43
LibGfx: Remove Bitmap::glyph_spacing()
...
This was only ever non-zero for SerenityOS bitmap fonts.
2024-06-04 18:45:30 +02:00
Andreas Kling
04a6e2f83d
LibWeb: Remove Gfx::BitmapFont
...
This class supported the binary bitmap font file format in SerenityOS,
and isn't something we need in Ladybird.
2024-06-04 18:45:30 +02:00
Andreas Kling
f78ed0600a
LibGfx: Remove FontDatabase "default queries"
...
At last, nothing depends on these anymore.
2024-06-04 18:45:30 +02:00
Andreas Kling
49d546fe8b
LibGfx: Remove Painter "draw op" mechanism
...
We were not making use of this in Ladybird, so let's simplify.
2024-06-04 18:45:30 +02:00
Andreas Kling
d3e802cbef
LibGfx: Remove a whole bunch of unused Painter APIs
2024-06-04 18:45:30 +02:00
Andreas Kling
10335a07ee
LibGfx: Remove Painter's "implicit font" concept
...
Nothing actually needs this, so let's remove it and no longer have to
deal with figuring out its fallback value.
2024-06-04 18:45:30 +02:00
Andreas Kling
1b2d08ee7e
LibGfx: Remove a bunch of unused classes
2024-06-04 18:45:30 +02:00
Simon Wanner
6b2c459901
LibTextCodec: Fix ISO-8859-1 vs. windows-1252 handling in web contexts
...
The Encoding specification maps ISO-8859-1 to windows-1252 and expects
the windows-1252 translation table to be used, which differs from
ISO-8859-1 for 0x80-0x9F.
Other contexts expect to get the actual ISO-8859-1 encoding, with 1-to-1
mapping to U+0000-U+00FF, when requesting it.
`decoder_for_exact_name` is introduced, which skips the mapping from
aliases to the encoding name done by `get_standardized_encoding`.
2024-06-04 10:21:07 +02:00
Nico Weber
4e9480b719
LibGfx/WebP: Add a VERIFY() for an assumption
...
This should have no behavior change after the previous commit.
2024-06-03 07:48:53 +02:00
Nico Weber
857750dfed
LibGfx/WebPLoader: Survive calling loop_count() before other accessors
...
Fixes `animation` asserting when reading a webp input.
(The other order of operations is still covered by TestImageWriter.cpp.)
2024-06-03 07:48:53 +02:00
Andreas Kling
3020c5766e
LibGfx: Remove unnecessary use of LibGUI in Gfx::Palette
...
Let's not require a cross-library badge like this.
2024-06-02 20:26:56 +02:00
Nico Weber
347e2831b2
LibGfx/WebPWriter: Do not write color index if only one channel varies
...
The benefit of the color indexing transform is to have only one
varying channel after it (the green channel, which after the
transform serves as index into the color table).
If there is only one varying channel before the transform, it's
not beneficial. (...except if there are <= 16 colors, then the
pixel bundling presumably still works.)
2024-06-01 14:52:00 +02:00
Nico Weber
533b29dde7
LibGfx/WebPWriter: Add a toggle for disabling individual transforms
2024-05-31 22:39:25 +02:00