Commit graph

2035 commits

Author SHA1 Message Date
Torstennator
b65e711929 LibGUI: Add DynamicWidgetContainter
Add a new widget "DynamicWidgetContainer" that is used to group it's
child widgets within an collapsable and detachable container. The
DynmnicWidgetContainer is able to persist it's view state if a config
domain has been provided. Having that set will allow the widget to
restore it's view state automatically.
2023-12-14 09:07:20 -07:00
Nicolas Ramz
cd6c7f3fc4 LibGfx/ILBMLoader: Add support for PC DeluxePaint files 2023-12-13 10:39:13 +00:00
Timothy Flynn
41ffc69c9d LibWebView: Clear the Inspector DOM/accessibility trees upon reset
This prevents rendering stale trees while navigating to a new page. The
old non-WebView inspector widgets behaved this way.
2023-12-10 16:45:08 +01:00
Timothy Flynn
55ec1cbfb5 LibWebView: Allow editing empty DOM text nodes in the Inspector
When a DOM text node is empty, we currently render the node name (which
is "#text") in the Inspector. This is just to prevent displaying nothing
at all, which looks a bit off. However, the patch to allow editing text
fields neglected to allow editing these empty fields.

This patch attaches the original text data as a data attribute, much
like we do for DOM attributes. That is used as the editable text in the
inspector, and the empty text fields are now wrapped in an editable
span.
2023-12-10 09:44:34 +01:00
Timothy Flynn
42c0ac9352 LibWebView: Log the result of taking screenshots to Inspector's console
It probably isn't obvious that screenshots are saved to the user's
Downloads folder, so add a console message to inform them.
2023-12-10 09:44:34 +01:00
Bastiaan van der Plaat
466153e680 Ladybird+LibWeb: Add basic select element support 2023-12-09 22:06:20 +01:00
Timothy Flynn
8162dc5ee6 LibWeb+LibWebView+WebContent: Separate tag/attribute in Inspector menu
It was a bit short-sighted to combine the tag and attribute names into
one string when the Inspector requests a context menu. We will want both
values for some context menu actions. Send both names, as well as the
attribute value, when requesting the context menu.
2023-12-07 10:53:12 +01:00
Timothy Flynn
636ff33d60 LibWebView: Add an escape key handler for DOM-editing <input> fields
Little quality of life improvement I keep reaching for.
2023-12-06 13:04:50 +01:00
Timothy Flynn
0ddc2ea8c4 LibWebView: Add Inspector actions to be used as context menu callbacks
These allow for triggering an edit of a DOM node (as an alternative to
double-clicking), removing a DOM node, and adding/removing DOM node
attributes.
2023-12-06 13:04:50 +01:00
Timothy Flynn
2633ea8c79 LibWeb+LibWebView+WebContent: Add an Inspector IPC to open context menus
The Inspector will have context menu support to manipulate the DOM, e.g.
adding or removing nodes/attributes. This context menu will require some
detailed knowledge about what element in the Inspector has been clicked.
To support this, we intercept the `contextmenu` event and collect the
required information to be sent to the Inspector client over IPC.
2023-12-06 13:04:50 +01:00
Timothy Flynn
05c8d5ba57 Base+Ladybird: Move Ladybird-related HTML files to their own folder
Pages like the new tab page, error page, etc. all belong solely to
Ladybird, but are scattered across a couple of subfolders in Base. This
moves them all to Base/res/ladybird.
2023-12-04 19:46:35 -05:00
Bastiaan van der Plaat
2107ab823d LibWeb: Add basic HTML meter element support 2023-12-04 19:54:43 +00:00
Timothy Flynn
65a9eae142 LibWebView: Draw some knurling on the draggable Inspector separator 2023-12-04 13:58:20 +01:00
Timothy Flynn
6d743ce9e8 LibWebView: Allow editing the DOM through the Inspector WebView
This allows a limited amount of DOM manipulation through the Inspector.
Users may edit node tag names, text content, and attributes. To initiate
an edit, double-click the tag/text/attribute of interest.

To remove an attribute, begin editing the attribute and remove all of
its text. To add an attribute, begin editing an existing attribute and
add the new attribute's text before or after the existing attribute's
text. This isn't going to be the final UX, but works for now just as a
consequence of how attribute changes are implemented. A future patch
will add more explicit add/delete actions.
2023-12-04 01:33:57 +01:00
Timothy Flynn
b9902fef36 LibWebView: Add a draggable separator between the two Inspector panes 2023-12-02 22:54:06 +01:00
Timothy Flynn
d8a700d9be LibWebView: Implement a JavaScript console tab in the Inspector
This adds a JS console to the bottom section of the Inspector WebView.
Much of this code is based on the existing WebView::ConsoleClient, but
ported to fit the inspector model. That is, much of the code from that
class is now handled in the Inspector's JS.
2023-12-02 10:34:22 +01:00
Timothy Flynn
a7ff65a0c6 LibWebView: Use querySelectorAll to find hoverable tree nodes
We don't need a live HTMLCollection here, so let's use querySelectorAll
to instead iterate over a static NodeList.
2023-11-30 14:08:53 +01:00
Timothy Flynn
030b90b79d LibWebView: Move the Inspector JS and CSS to independent files
These are much easier to work with in their own files with syntax
highlighting and other IDE-friendliness.
2023-11-30 14:08:53 +01:00
Andrew Kaster
1602663b9e LibWeb+WebWorker: Implement a first cut of post_message for Workers
This implementation completely ignores MessagePorts, and manually plumbs
data through LocalSockets.
2023-11-24 08:41:38 +01:00
Nicole
7ca4e4a967 Base: Add some emojis
Adds:
U+1F390 fully-qualified     # 🎐 E0.6 wind chime
U+1F54D fully-qualified     # 🕍 E1.0 synagogue
U+1F54B fully-qualified     # 🕋 E1.0 kaaba
U+1F95C fully-qualified     # 🥜 E3.0 peanuts
U+1F3E6 fully-qualified     # 🏦 E0.6 bank
U+1F690 fully-qualified     # 🚐 E1.0 minibus
2023-11-22 08:52:58 +00:00
Xexxa
bd8b907f53 Base: Adjust emoji
🏂 - U+1F3C2 SNOWBOARDER
Reuse snow colour from U+1F3BF.

🍨 - U+1F368 ICE CREAM
Reuse ice cream colour from U+1F366.

🧨 - U+1F9E8 FIRECRACKER
Make the lit fuse reflect on the firecracker.

🤖 - U+1F916 ROBOT
🗑️ - U+1F5D1 WASTEBASKET
Make shadow more symmetrical.

💂 - U+1F482 GUARD
💂‍♂️ - U+1F482 U+200D U+2642 MAN GUARD
💂‍♀️ - U+1F482 U+200D U+2640 WOMAN GUARD
👸 - U+1F478 PRINCESS
Make colors more consistent with U+1F468_U+200D_U+1F9B1.

🐳 - U+1F433 SPOUTING WHALE
Reuse water colour from U+1F3C4_U+200D_U+2642, adjust foam color to
not be #FFFFFF.

🪿 - U+1FABF GOOSE
🍊 - U+1F34A TANGERINE
🍋 - U+1F34B LEMON
🍎 - U+1F34E RED APPLE
🍏 - U+1F34F GREEN APPLE
🎨 - U+1F3A8 ARTIST PALETTE
Add shadow.

🍐 - U+1F350 PEAR
Add shadow, remove unnecessary padding.

🕯️ - U+1F56F CANDLE
Make flame reflect on the candle, remove unnecessary padding.

🐣 - U+1F423 HATCHING CHICK
🍶 - U+1F376 SAKE
💺 - U+1F4BA SEAT
🖍️ - U+1F58D CRAYON
Remove unnecessary padding.
2023-11-21 20:16:06 -05:00
Bastiaan van der Plaat
1cdbfc2ff1 LibWeb: Add ol start and li value attributes support 2023-11-09 16:10:54 +01:00
Lucas CHOLLET
26a3be17c8 Userland: Register TIFF as a supported image file type
This includes both .tiff and .tif extensions.
2023-11-06 12:29:30 -07:00
Bastiaan van der Plaat
5a7f43ad38 Maps: Add favorites panel with favorite places management 2023-10-26 17:23:54 -06:00
Timothy Flynn
a39eebeb74 LibWebView: Reject cookies whose domain is on the Public Suffix List 2023-10-26 11:06:49 +02:00
segfaultdev
c93df9ead9 Base: Add & rename emoji
💁 - U+1F481 PERSON TIPPING HAND
💁‍♀️ - U+1F481 U+200D U+2640 WOMAN TIPPING HAND
💁‍♂️ - U+1F481 U+200D U+2642 MAN TIPPING HAND
💆 - U+1F486 PERSON GETTING MASSAGE
💆‍♀️ - U+1F486 U+200D U+2640 WOMAN GETTING MASSAGE
💆‍♂️ - U+1F486 U+200D U+2642 MAN GETTING MASSAGE
💇 - U+1F487 PERSON GETTING HAIRCUT
💇‍♀️ - U+1F487 U+200D U+2640 WOMAN GETTING HAIRCUT
💇‍♂️ - U+1F487 U+200D U+2642 MAN GETTING HAIRCUT
🙅 - U+1F645 PERSON GESTURING NO
🙅‍♀️ - U+1F645 U+200D U+2640 WOMAN GESTURING NO
🙅‍♂️ - U+1F645 U+200D U+2642 MAN GESTURING NO
🙆 - U+1F646 PERSON GESTURING OK
🙆‍♀️ - U+1F646 U+200D U+2640 WOMAN GESTURING OK
🙆‍♂️ - U+1F646 U+200D U+2642 MAN GESTURING OK
🙇 - U+1F647 PERSON BOWING
🙇‍♀️ - U+1F647 U+200D U+2640 WOMAN BOWING
🙇‍♂️ - U+1F647 U+200D U+2642 MAN BOWING
🙋 - U+1F64B PERSON RAISING HAND
🙋‍♀️ - U+1F64B U+200D U+2640 WOMAN RAISING HAND
🙋‍♂️ - U+1F64B U+200D U+2642 MAN RAISING HAN
2023-10-22 14:08:03 +01:00
segfaultdev
c7baea5d29 Base: Add more emoji
🧑‍💻 - U+1F9D1 U+200D U+1F4BB TECHNOLOGIST
🧑‍💼 - U+1F9D1 U+200D U+1F4BC OFFICE WORKER
🧑‍🔧 - U+1F9D1 U+200D U+1F527 MECHANIC
🧑‍🔬 - U+1F9D1 U+200D U+1F52C SCIENTIST
🧑‍🚀 - U+1F9D1 U+200D U+1F680 ASTRONAUT
🧑‍🚒 - U+1F9D1 U+200D U+1F692 FIREFIGHTER
2023-10-22 14:08:03 +01:00
segfaultdev
ea25865d89 Base: Add more emoji
👨‍⚕️ - U+1F468 U+200D U+2695 MAN HEALTH WORKER
👨‍⚖️ - U+1F468 U+200D U+2696 MAN JUDGE
👩‍⚕️ - U+1F469 U+200D U+2695 WOMAN HEALTH WORKER
👩‍⚖️ - U+1F469 U+200D U+2696 WOMAN JUDGE
👳 - U+1F473 PERSON WEARING TURBAN
👳‍♀️ - U+1F473 U+200D U+2640 WOMAN WEARING TURBAN
👳‍♂️ - U+1F473 U+200D U+2642 MAN WEARING TURBAN
🧑‍⚕️ - U+1F9D1 U+200D U+2695 HEALTH WORKER
🧑‍⚖️ - U+1F9D1 U+200D U+2696 JUDGE
2023-10-22 14:08:03 +01:00
segfaultdev
c65f19186d Base: Add more emoji
👨 - U+1F468 MAN
👨‍🦰 - U+1F468 U+200D U+1F9B0 MAN RED HAIR
👨‍🦱 - U+1F468 U+200D U+1F9B1 MAN CURLY HAIR
👨‍🦲 - U+1F468 U+200D U+1F9B2 MAN BALD
👨‍🦳 - U+1F468 U+200D U+1F9B3 MAN WHITE HAIR
👩 - U+1F469 WOMAN
👩‍🦰 - U+1F469 U+200D U+1F9B0 WOMAN RED HAIR
👩‍🦱 - U+1F469 U+200D U+1F9B1 WOMAN CURLY HAIR
👩‍🦲 - U+1F469 U+200D U+1F9B2 WOMAN BALD
👩‍🦳 - U+1F469 U+200D U+1F9B3 WOMAN WHITE HAIR
👱 - U+1F471 PERSON BLOND HAIR
👱‍♀️ - U+1F471 U+200D U+2640 WOMAN BLOND HAIR
👱‍♂️ - U+1F471 U+200D U+2642 MAN BLOND HAIR
🧑 - U+1F9D1 PERSON
🧑‍🦰 - U+1F9D1 U+200D U+1F9B0 PERSON RED HAIR
🧑‍🦱 - U+1F9D1 U+200D U+1F9B1 PERSON CURLY HAIR
🧑‍🦲 - U+1F9D1 U+200D U+1F9B2 PERSON BALD
🧑‍🦳 - U+1F9D1 U+200D U+1F9B3 PERSON WHITE HAIR
2023-10-22 14:08:03 +01:00
segfaultdev
eb07a08178 Base: Add more emoji
👨‍💻 - U+1F468 U+200D U+1F4BB MAN TECHNOLOGIST
👨‍💼 - U+1F468 U+200D U+1F4BC MAN OFFICE WORKER
👨‍🔧 - U+1F468 U+200D U+1F527 MAN MECHANIC
👨‍🔬 - U+1F468 U+200D U+1F52C MAN SCIENTIST
👨‍🚀 - U+1F468 U+200D U+1F680 MAN ASTRONAUT
👨‍🚒 - U+1F468 U+200D U+1F692 MAN FIREFIGHTER
👩‍💻 - U+1F469 U+200D U+1F4BB WOMAN TECHNOLOGIST
👩‍💼 - U+1F469 U+200D U+1F4BC WOMAN OFFICE WORKER
👩‍🔧 - U+1F469 U+200D U+1F527 WOMAN MECHANIC
👩‍🔬 - U+1F469 U+200D U+1F52C WOMAN SCIENTIST
👩‍🚀 - U+1F469 U+200D U+1F680 WOMAN ASTRONAUT
👩‍🚒 - U+1F469 U+200D U+1F692 WOMAN FIREFIGHTER
2023-10-22 14:08:03 +01:00
Bastiaan van der Plaat
b640747116 LibWeb: Add canvas context2d roundRect 2023-10-20 07:20:29 +02:00
Cubic Love
bd5296d6bb Base: Rename and update card backs
CobyCat has very kindly remastered their card backs to fit the new card
back dimensions of 72 x 102px with 3px rounded corners. This gives
cards 3px of inner border which looks much neater.

Also, all card names have been capitalized and the suffix '-deck'
removed to improve their appearance in GamesSettings.

Co-authored-by: Tom L <lemtom@users.noreply.github.com>
2023-10-15 07:25:20 +02:00
Gabriel Nava Marino
f97c4d20fa Base: Add 201 Hangul syllables to font Katica Regular 10
Adds most commonly used Hangul syllables in range AC00–D7AF
https://www.unicode.org/charts/PDF/UAC00.pdf

U+AC00 U+AC01 U+AC04 U+AC1C U+AC70 U+AC74 U+AC83 U+AC8C U+ACA9
U+ACB0 U+ACBD U+ACC1 U+ACC4 U+ACE0 U+ACF5 U+ACFC U+AD00 U+AD50
U+AD6C U+AD6D U+ACE0 U+AD8C U+ADDC U+ADF8 U+ADFC U+AE08 U+AE30
U+B098 U+B0B4 U+B108 U+B140 U+B150 U+B155 U+B178 U+B204 U+B290
U+B294 U+B298 U+B2C8 U+B2E4 U+B2E8 U+B2EC U+B2F9 U+B300 U+B3C4
U+B3C5 U+B3D9 U+B418 U+B41C U+B420 U+B450 U+B4E0 U+B4E4 U+B4EC
U+B4F1 U+B530 U+B5A4 U+B610 U+B73B U+B77C U+B78C U+B791 U+B798
U+B7EC U+B825 U+B85C U+B85D U+B958 U+B974 U+B978 U+B97C U+B9AC
U+B9C8 U+B9CC U+B9D0 U+BA70 U+BA85 U+BAA8 U+BAA9 U+BB34 U+BB38
U+BB3C U+BBF8 U+BBFC U+BC0F U+BC14 U+BC18 U+BC1B U+BC1C U+BC29
U+BC30 U+BC95 U+BCC4 U+BCF4 U+BCF8 U+BD80 U+BD84 U+BE0C U+BE44
U+C0AC U+C0B0 U+C0C1 U+C0DD U+C11C U+C120 U+C131 U+C138 U+C18C
U+C18D U+C218 U+C2DC U+C2DD U+C2E0 U+C2E4 U+C2EC U+C2F6 U+C544
U+C548 U+C57C U+C57D U+C591 U+C5B4 U+C5B8 U+C5C4 U+C5C5 U+C5C6
U+C5D0 U+C5D8 U+C5EC U+C5F0 U+C600 U+C601 U+C608 U+C624 U+C640
U+C644 U+C694 U+C6B0 U+C6D0 U+C704 U+C720 U+C721 U+C73C U+C740
U+C744 U+C74C U+C758 U+C774 U+C778 U+C77C U+C788 U+C790 U+C791
U+C7A5 U+C7AC U+C801 U+C804 U+C815 U+C81C U+C870 U+C874 U+C885
U+C8C4 U+C8FC U+C900 U+C911 U+C99D U+C9C0 U+C9C1 U+C9C4 U+C9C8
U+CC28 U+CC38 U+CC9C U+CCB4 U+CD08 U+CE58 U+D07C U+D0C0 U+D0DC
U+D130 U+D1B5 U+D3B8 U+D3C9 U+D3EC U+D45C U+D544 U+D558 U+D559
U+D55C U+D560 U+D568 U+D569 U+D56D U+D574 U+D589 U+D604 U+D615
U+D638 U+D63C U+D654 U+D65C U+D68C U+D788

These cover about 78% of syllables in the top 1000 most common
Korean words as well as 94% of syllables in the Universal
Declaration of Human Rights.
2023-10-13 11:02:28 -06:00
Xexxa
61b6146d5e Base: Modify emoji
👨‍❤️‍👨 - U+1F468 U+200D U+2764 U+200D U+1F468
COUPLE WITH HEART: MAN, MAN
👩‍❤️‍👩 - U+1F469 U+200D U+2764 U+200D U+1F469
COUPLE WITH HEART: WOMAN, WOMAN
👨‍👨‍👦 - U+1F468 U+200D U+1F468 U+200D U+1F466
FAMILY: MAN, MAN, BOY
👨‍👨‍👧 - U+1F468 U+200D U+1F468 U+200D U+1F467
FAMILY: MAN, MAN, GIRL
👨‍👨‍👧‍👦 - U+1F468 U+200D U+1F468 U+200D U+1F467 U+200D U+1F466
FAMILY: MAN, MAN, GIRL, BOY
👨‍👨‍👦‍👦 - U+1F468 U+200D U+1F468 U+200D U+1F466 U+200D U+1F466
FAMILY: MAN, MAN, BOY, BOY
👨‍👨‍👧‍👧 - U+1F468 U+200D U+1F468 U+200D U+1F467 U+200D U+1F467
FAMILY: MAN, MAN, GIRL, GIRL
👩‍👩‍👦 - U+1F469 U+200D U+1F469 U+200D U+1F466
FAMILY: WOMAN, WOMAN, BOY
👩‍👩‍👧 - U+1F469 U+200D U+1F469 U+200D U+1F467
FAMILY: WOMAN, WOMAN, GIRL
👩‍👩‍👧‍👦 - U+1F469 U+200D U+1F469 U+200D U+1F467 U+200D U+1F466
FAMILY: WOMAN, WOMAN, GIRL, BOY
👩‍👩‍👦‍👦 - U+1F469 U+200D U+1F469 U+200D U+1F466 U+200D U+1F466
FAMILY: WOMAN, WOMAN, BOY, BOY
👩‍👩‍👧‍👧 - U+1F469 U+200D U+1F469 U+200D U+1F467 U+200D U+1F467
FAMILY: WOMAN, WOMAN, GIRL, GIRL
👨‍👦 - U+1F468 U+200D U+1F466
FAMILY: MAN, BOY
👨‍👦‍👦 - U+1F468 U+200D U+1F466 U+200D U+1F466
FAMILY: MAN, BOY, BOY
👨‍👧 - U+1F468 U+200D U+1F467
FAMILY: MAN, GIRL
👨‍👧‍👦 - U+1F468 U+200D U+1F467 U+200D U+1F466
FAMILY: MAN, GIRL, BOY
2023-10-07 15:40:47 -04:00
Xexxa
c1f655dfa9 Base: Add more emoji
🦮 - U+1F9AE GUIDE DOG
🐪 - U+1F42A CAMEL
🐫 - U+1F42B TWO-HUMP CAMEL
🦪 - U+1F9AA OYSTER
👘 - U+1F458 KIMONO
🖇️ - U+1F587 LINKED PAPERCLIPS
2023-10-07 15:40:47 -04:00
Cubic Love
be4579b771 Base: Add ‘Classic’ face cards
Hand-drawn face/court cards for traditional French-suited playing cards.
For each of the four suits (Clubs, Hearts, Diamonds & Spades) there is a
corresponding King, Queen, Jack and a standalone symbol which can be
used for the numeral card patterns, including Ace. There is a special
Ace of Spades card. Also included is a Joker card.
2023-10-04 13:46:49 +01:00
kleines Filmröllchen
3296fb0189 Base: Add an ISO C++-compliant quote to the fortunes database
CC @alimpfard
2023-09-30 20:28:27 +02:00
Tim Ledbetter
b4e134cb52 Userland: Use non-fallible EventReceiver::add() where possible 2023-09-25 10:58:31 +02:00
Bastiaan van der Plaat
04ee15a5ad Ladybird+LibWeb: Use old error.html template for navigation errors again 2023-09-24 19:59:00 -06:00
Tim Ledbetter
3aa49f268c Userland: Make Window::set_main_widget() non-fallible 2023-09-21 10:20:23 +02:00
Bastiaan van der Plaat
aed25991e6 Maps: Add MapsSettings with multiple tile providers options 2023-09-18 12:46:41 -06:00
Tim Ledbetter
0d7b13edac Userland: Make GUI::Window construction non-fallible 2023-09-17 16:47:28 -06:00
Tim Ledbetter
e7a5a2e146 Base: Update serenity-application template so that it compiles 2023-09-15 17:26:17 -04:00
Bastiaan van der Plaat
e267f8e68f LibWeb: Add modifier keys to MouseEvent 2023-09-15 22:12:56 +02:00
Bastiaan van der Plaat
836a7b00dd Ladybird+LibWeb: Add MouseEvent screenX and screenY support 2023-09-15 22:12:56 +02:00
Bastiaan van der Plaat
d63fb8fa61 Maps: Add show SerenityOS users feature 2023-09-13 21:41:37 +02:00
Bastiaan van der Plaat
dfb54083ee Maps: Add markers to map widget 2023-09-13 21:41:37 +02:00
Cubic Love
8eb10b135d Maps: Add Application Icons
Add 16px and 32px application icons for Maps
2023-09-05 14:13:32 +02:00
Bastiaan van der Plaat
f9f9c38de3 Maps: Add new basic maps application and map widget 2023-09-03 18:10:58 +02:00
Cubic Love
0b66656ca9 FlappyBug: Improve Application Icons
Add new 16px and 32px application icons for Flappy Bug
2023-09-02 07:25:53 +02:00
Cubic Love
6fa1a5c7d2 FlappyBug: Improve Character Assets
Add new sprites of Flappy Bug falling and flapping
2023-09-02 07:25:53 +02:00
Xexxa
7d313ff83d Base: Add more emoji
🙈 - U+1F648 SEE-NO-EVIL MONKEY
🙉 - U+1F649 HEAR-NO-EVIL MONKEY
🙊 - U+1F64A SPEAK-NO-EVIL MONKEY
🚉 - U+1F689 STATION
🛩️ - U+1F6E9 SMALL AIRPLANE
🛫 - U+1F6EB AIRPLANE DEPARTURE
🛬 - U+1F6EC AIRPLANE ARRIVAL
2023-08-31 11:16:44 -04:00
Cubic Love
b5ed86ab68 Base: Improve the King piece in Classic chess set
Make the King's crown more rounded.
2023-08-29 10:28:24 +02:00
Cubic Love
91269a8064 Chess: Capitalize chess set names + Rename 'stelar7' to 'Classic'
Now when selecting a chess set in Games Settings, the names of the sets
are capitalized which looks much neater.

The default set 'stelar7' has been renamed to 'Classic' to reflect its
default vanilla design, as opposed to more stylized sets.
This commit also updates any code references to this set.
2023-08-29 10:28:24 +02:00
Cubic Love
2b8a9ff2ae Base: Improve Hearts Icon
Before the Hearts icon was quite angular, now it is a more rounded
heart with a subtle gradient.
2023-08-23 05:25:28 +02:00
Shannon Booth
7690f76f92 LibWeb/Tests: Move unresolvable % width on inline-block to layout test
Removing the last test fomr Base/res/html/tests :^)
2023-08-21 13:51:12 +02:00
Shannon Booth
ed03dd0f99 LibWeb/Tests: Port two DOM cloneNode() test cases to text tests 2023-08-21 13:51:12 +02:00
Shannon Booth
a5fb0b4243 LibWeb/Tests: Port height:auto abspos flex container test to layout test
This test was written before we had layout test functionality.
2023-08-21 13:51:12 +02:00
Shannon Booth
6cee028ecc LibWeb/Tests: Port HTMLCollection [[SameObject]] test to a text test
This test was written before we had the facility to write text tests -
port this test to a text test so that we test against it in CI.
2023-08-21 13:51:12 +02:00
Xexxa
b3a295a5bd Base: Improve emoji
Change width to 10px, make emoji more consistent with
Base/res/icons/16x16/filetype-folder-open.png

📂 - U+1F4C2 OPEN FILE FOLDER
2023-08-21 08:27:04 +01:00
Xexxa
de46c59c23 Base: Improve emoji
Change width to 10px, make emoji more consistent with
Base/res/icons/16x16/filetype-folder.png and

📁 - U+1F4C1 FILE FOLDER
2023-08-21 08:27:04 +01:00
Xexxa
7a8ac67d52 Base: Improve emoji
Align emoji to bottom to match other left or right moving vehicles
🚒 - U+1F692 FIRE ENGINE
🚜 - U+1F69C TRACTOR
2023-08-21 08:27:04 +01:00
Xexxa
762a6674c2 Base: Improve emoji
Our emoji was 7px wide earlier. Now when we can use up to 10px some
emoji deserve a little more width.

🥩 - U+1F969 CUT OF MEAT
🧊 - U+1F9CA ICE
2023-08-21 08:27:04 +01:00
Xexxa
77f307f1b1 Base: Improve emoji
Add shadow and remove unnecessary padding

🪓 - U+1FA93 AXE
2023-08-21 08:27:04 +01:00
Xexxa
4153f35c31 Base: Improve emoji
Change bottom padding to match 🚖 U+1F696 and 🚘 U+1F698

🚔 - U+1F694 ONCOMING POLICE CAR
2023-08-21 08:27:04 +01:00
Xexxa
72bb740982 Base: Improve emoji
Make U+1F4A9 look more like a shit...

💩 - U+1F4A9 PILE OF POO
2023-08-21 08:27:04 +01:00
Xexxa
885563ea9c Base: Add emoji
🦾 - U+1F9BE MECHANICAL ARM
🦿 - U+1F9BF MECHANICAL LEG
🧑‍🔧 - U+1F9D1 U+200D U+1F527 MECHANIC
🧑‍🚀 - U+1F9D1 U+200D U+1F680 ASTRONAUT
🚤 - U+1F6A4 SPEEDBOAT
🚠 - U+1F6A0 MOUNTAIN CABLEWAY
🚡 - U+1F6A1 AERIAL TRAMWAY
🪅 - U+1FA85 PIÑATA
🧣 - U+1F9E3 SCARF
2023-08-21 08:27:04 +01:00
MacDue
a93ba23e10 Base: Add some examples of SVG gradients with different spreadMethods
The radial gradients here are rendered correctly as focal radius is
zero, so the focal point is the center of the start circle.
2023-08-20 20:04:10 +02:00
Nicolas Ramz
fda5590313 LibGfx/ILBM: Add an IFF-ILBM decoder :)
IFF was a generic container fileformat that was popular on the Amiga
since it was the only file format supported by Deluxe Paint.

ILBM is an image format popular in the late eighties/nineties
that uses the IFF container.

This is a very first version of the decoder that only supports
(byterun) compressed files with bpp <= 8.

Only the minimal chunks are decoded: CMAP, BODY, BMHD.

I am planning to add support for the following variants:

- EHB (32 colours + lighter 32 colours)
- HAM6 / HAM8 (special mode that allowed to display the whole Amiga
4096 colours / 262 144 colours palette)
- TrueColor (24bit)

Things that could be fun to do:

- Still images could be animated using color cycle information
2023-08-15 18:36:11 +01:00
Bastiaan van der Plaat
eafdb06d87 LibWeb: Add directory entries page when visiting a local directory 2023-08-15 10:41:54 +01:00
Bastiaan van der Plaat
e4c3a52cfa LibWeb: Add resource_directory_url for internal HTML pages
The error.html page now uses the resource_directory_url this
variable contains the relative path to /Base/res/ on the host
system as a file:// url. This is needed for future pages to load
resource files like icons. For the error.html page this was not
really needed because it lies over this own URL in FrameLoader.cpp.
2023-08-15 10:41:54 +01:00
Xexxa
8d17ede197 Base: Improve emoji
Remove unnecessary left/right padding

❣️ - U+2763 HEART EXCLAMATION
🚶 - U+1F6B6 PERSON WALKING
🚴 - U+1F6B4 PERSON BIKING
🌻 - U+1F33B SUNFLOWER
🪻 - U+1FABB HYACINTH
🍉 - U+1F349 WATERMELON
🍍 - U+1F34D PINEAPPLE
🫒 - U+1FAD2 OLIVE
🌽 - U+1F33D EAR OF CORN
🌯 - U+1F32F BURRITO
🍘 - U+1F358 RICE CRACKER
🧁 - U+1F9C1 CUPCAKE
🍫 - U+1F36B CHOCOLATE BAR
🍭 - U+1F36D LOLLIPOP
🍼 - U+1F37C BABY BOTTLE
🧋 - U+1F9CB BUBBLE TEA
🧃 - U+1F9C3 BEVERAGE BOX
🥢 - U+1F962 CHOPSTICKS
💈 - U+1F488 BARBER POLE
🌛 - U+1F31B FIRST QUARTER MOON FACE
🌜 - U+1F31C LAST QUARTER MOON FACE
🌡️ - U+1F321 THERMOMETER
🪐 - U+1FA90 RINGED PLANET
 - U+26A1 HIGH VOLTAGE
💧 - U+1F4A7 DROPLET
🧨 - U+1F9E8 FIRECRACKER
🥇 - U+1F947 1ST PLACE MEDAL
🥈 - U+1F948 2ND PLACE MEDAL
🥉 - U+1F949 3RD PLACE MEDAL
🏓 - U+1F3D3 PING PONG
🪀 - U+1FA80 YO-YO
♟️ - U+265F CHESS PAWN
🧦 - U+1F9E6 SOCKS
💄 - U+1F484 LIPSTICK
📱 - U+1F4F1 MOBILE PHONE
🔌 - U+1F50C ELECTRIC PLUG
💡 - U+1F4A1 LIGHT BULB
📍 - U+1F4CD ROUND PUSHPIN
🔩 - U+1F529 NUT AND BOLT
🪝 - U+1FA9D HOOK
🧪 - U+1F9EA TEST TUBE
🔭 - U+1F52D TELESCOPE
🩸 - U+1FA78 DROP OF BLOOD
💊 - U+1F48A PILL
🩹 - U+1FA79 ADHESIVE BANDAGE
🧼 - U+1F9FC SOAP
🪥 - U+1FAA5 TOOTHBRUSH
♀️ - U+2640 FEMALE SIGN
♂️ - U+2642 MALE SIGN
 - U+2795 PLUS
 - U+2797 DIVIDE
 - U+2753 RED QUESTION MARK
 - U+2754 WHITE QUESTION MARK
 - U+2755 WHITE EXCLAMATION MARK
 - U+2757 RED EXCLAMATION MARK
◼️ - U+25FC BLACK MEDIUM SQUARE
◻️ - U+25FB WHITE MEDIUM SQUARE
 - U+25FE BLACK MEDIUM-SMALL SQUARE
 - U+25FD WHITE MEDIUM-SMALL SQUARE
▪️ - U+25AA BLACK SMALL SQUARE
▫️ - U+25AB WHITE SMALL SQUARE
🚩 - U+1F6A9 TRIANGULAR FLAG
2023-08-10 07:52:36 -04:00
Xexxa
5b0b063d9b Base: Add emoji
🧑‍🌾 - U+1F9D1 U+200D U+1F33E FARMER
🏇 - U+1F3C7 HORSE RACING
🚵 - U+1F6B5 PERSON MOUNTAIN BIKING
🚵‍♂️ - U+1F6B5 U+200D U+2642 MAN MOUNTAIN BIKING
🚵‍♀️ - U+1F6B5 U+200D U+2640 WOMAN MOUNTAIN BIKING
🐺 - U+1F43A WOLF
🏟️ - U+1F3DF STADIUM
🏚️ - U+1F3DA DERELICT HOUSE
🏢 - U+1F3E2 OFFICE BUILDING
🏤 - U+1F3E4 POST OFFICE
🎠 - U+1F3A0 CAROUSEL HORSE
🚝 - U+1F69D MONORAIL
🚕 - U+1F695 TAXI
🏎️ - U+1F3CE RACING CAR
🧳 - U+1F9F3 LUGGAGE
🪁 - U+1FA81 KITE
👚 - U+1F45A WOMAN’S CLOTHES
🎒 - U+1F392 BACKPACK
🥾 - U+1F97E HIKING BOOT
🎻 - U+1F3BB VIOLIN
🎦 - U+1F3A6 CINEMA
2023-08-10 07:52:36 -04:00
Jelle Raaijmakers
bf927344fb Base: Teach ImageViewer and PixelPaint to open JXL, TGA images 2023-08-09 14:40:26 +02:00
Bastiaan van der Plaat
bba14f6014 LibWeb: Add Canvas Context2D basic font property support 2023-08-09 05:48:32 +02:00
Timothy Flynn
27fa029537 Base: Remove FrogFind from the new tab page
Search queries no longer work for this engine, and FireFox even issues a
security warning on their home page.
2023-08-09 05:33:24 +02:00
Tom L
325d1553ca Base+LibCards: Add basic set of playing card backs 2023-08-08 14:56:25 +01:00
Monroe Clinton
1b5b1e4153 Calendar: Implement saving, loading, and displaying of calendars
The user can now save, load, and view calendars. A calendar is made up
of an array of events which are saved in a JSON file. In the future we
should implement the iCalendar standard instead of using a custom
format.
2023-08-07 13:14:58 -06:00
Bastiaan van der Plaat
220e34b69d LibWeb: Add Canvas Context2D basic text align and text baseline support
Add the CanvasTextDrawingStyles mixin with the textAlign and
textBaseline attributes. Update fill_text in CanvasRenderingContext2D
to move the text rect by the text align and text baseline attributes.
Wrote a simple HTML example to showcase the new features.
2023-08-05 17:17:08 +02:00
Sam Atkins
73fa58da34 LibWeb: Implement the CSS outline-offset property
This allows you to push the outline a certain distance away from the
border (or inside it, if the offset is negative).
2023-08-03 05:25:48 +02:00
Sam Atkins
fe7e797483 LibWeb: Implement the CSS outline property :^)
...along with `outline-color`, `outline-style`, and `outline-width`.

This re-uses the existing border-painting code, which seems to work well
enough!

This replaces the previous code for drawing focus-outlines, with generic
outline painting for any elements that want it. Focus outlines are now
instead supported by this code in Default.css:

```css
:focus-visible {
    outline: auto;
}
```
2023-08-03 05:25:48 +02:00
Linus Groh
d923c2dd1b Base: Add a quote to the fortunes database 2023-08-02 13:08:59 +01:00
zhiyuang
94491ead67 LibWeb: Fix border painting with border-radius and zero-width sides
When joined border width is zero width, then the midpoint
of the joined corner is no longer need to be computed
anymore. Just set the mid point to be the endpoint of the
corner.
2023-07-26 08:38:54 +02:00
Xexxa
ea88242d1c Base: Add more emoji
🐹 - U+1F439 HAMSTER
🦂 - U+1F982 SCORPION
🥐 - U+1F950 CROISSANT
🫕 - U+1FAD5 FONDUE
🏫 - U+1F3EB SCHOOL
🚑 - U+1F691 AMBULANCE
🛺 - U+1F6FA AUTO RICKSHAW
🧧 - U+1F9E7 RED ENVELOPE
🥍 - U+1F94D LACROSSE
🤿 - U+1F93F DIVING MASK
🥽 - U+1F97D GOGGLES
🩺 - U+1FA7A STETHOSCOPE
2023-07-22 08:50:46 -04:00
Xexxa
ad645c7103 Base: Add more emoji
🏵️ - U+1F3F5 ROSETTE
🦠 - U+1F9A0 MICROBE
🪽 - U+1FABD WING

Co-authored-by: Ryan Liptak <squeek502@hotmail.com>
2023-07-22 08:50:46 -04:00
zhiyuang
97130a4e66 LibWeb: More correctly paint joins between borders
The refactor of the border painting mainly to handle:
1. Single border with minor border radius.
2. Different border widths and border colors joined situations.
This refactor only apply to solid border.

The main differece is to use Path.fill to paint each border,
not fill_rect anymore. There's a special case need to consider.
The Path.fill will leave shared edge blank between two borders.
To handle this, we decide to combine the borders with same color
to paint together.
2023-07-18 14:51:13 +01:00
Alan Kemp
3fd870a429 LibWeb: Create EdgeStyleValue for BackgroundPositionXY with no offset
When specifying either `background-position-x: right` or
`background-position-y: bottom` without an offset value no
EdgeStyleValue was created.

However, the spec says the offset should be optional.

Now, if you do not provide an offset, it creates the EdgeStyleValue
with a default offset of 0 pixels.
2023-07-17 14:53:52 +01:00
Ryan Liptak
074ea60bb6 Base: Add 2 new emojis
⚱️ U+26B1 - Funeral Urn
👼 U+1F47C - Baby Angel
2023-07-17 06:31:54 +01:00
Xexxa
ed67acb16d Base: Add more emoji
👣 - U+1F463 FOOTPRINTS
👕 - U+1F455 T-SHIRT
👝 - U+1F45D CLUTCH BAG
👒 - U+1F452 WOMAN’S HAT
🎸 - U+1F3B8 GUITAR
2023-07-15 09:33:54 +02:00
Xexxa
c03b788892 Base: Add more emoji
🧑‍🎓 - U+1F9D1 U+200D U+1F393 STUDENT
🏯 - U+1F3EF JAPANESE CASTLE
🏙️ - U+1F3D9 CITYSCAPE
🚓 - U+1F693 POLICE CAR
🚙 - U+1F699 SPORT UTILITY VEHICLE
2023-07-14 15:42:48 -04:00
Ali Mohammad Pur
0c14698028 LibWeb: Fully implement CSS animation-timing-function
This implements all the timing functions, and hopefully all their
quirks.
Also changes the animation demo to use some funny cubic timing
functions.
2023-07-13 05:10:41 +02:00
Xexxa
318a3a0822 Base: Add more emoji
🧑‍🦽 - U+1F9D1 U+200D U+1F9BD PERSON IN MANUAL WHEELCHAIR
👨‍🦽 - U+1F468 U+200D U+1F9BD MAN IN MANUAL WHEELCHAIR
👩‍🦽 - U+1F469 U+200D U+1F9BD WOMAN IN MANUAL WHEELCHAIR
🕺 - U+1F57A MAN DANCING
🤹 - U+1F939 PERSON JUGGLING
🤹‍♂️ - U+1F939 U+200D U+2642 MAN JUGGLING
🤹‍♀️ - U+1F939 U+200D U+2640 WOMAN JUGGLING
🦣 - U+1F9A3 MAMMOTH
🎡 - U+1F3A1 FERRIS WHEEL
🛵 - U+1F6F5 MOTOR SCOOTER
💺 - U+1F4BA SEAT
🚳 - U+1F6B3 NO BICYCLES
🚯 - U+1F6AF NO LITTERING
2023-07-13 00:03:24 +02:00
Xexxa
deb0c53779 Base: Add more emoji
🧎🏻 - U+1F9CE U+1F3FB PERSON KNEELING: LIGHT SKIN TONE
🧎🏼 - U+1F9CE U+1F3FC PERSON KNEELING: MEDIUM-LIGHT SKIN TONE
🧎🏽 - U+1F9CE U+1F3FD PERSON KNEELING: MEDIUM SKIN TONE
🧎🏾 - U+1F9CE U+1F3FE PERSON KNEELING: MEDIUM-DARK SKIN TONE
🧎🏿 - U+1F9CE U+1F3FF PERSON KNEELING: DARK SKIN TONE
🧎🏻‍♂️ - U+1F9CE U+1F3FB U+200D U+2642
MAN KNEELING: LIGHT SKIN TONE
🧎🏼‍♂️ - U+1F9CE U+1F3FC U+200D U+2642
MAN KNEELING: MEDIUM-LIGHT SKIN TONE
🧎🏽‍♂️ - U+1F9CE U+1F3FD U+200D U+2642
MAN KNEELING: MEDIUM SKIN TONE
🧎🏾‍♂️ - U+1F9CE U+1F3FE U+200D U+2642
MAN KNEELING: MEDIUM-DARK SKIN TONE
🧎🏿‍♂️ - U+1F9CE U+1F3FF U+200D U+2642
MAN KNEELING: DARK SKIN TONE
🧎🏻‍♀️ - U+1F9CE U+1F3FB U+200D U+2640
WOMAN KNEELING: LIGHT SKIN TONE
🧎🏼‍♀️ - U+1F9CE U+1F3FC U+200D U+2640
WOMAN KNEELING: MEDIUM-LIGHT SKIN TONE
🧎🏽‍♀️ - U+1F9CE U+1F3FD U+200D U+2640
WOMAN KNEELING: MEDIUM SKIN TONE
🧎🏾‍♀️ - U+1F9CE U+1F3FE U+200D U+2640
WOMAN KNEELING: MEDIUM-DARK SKIN TONE
🧎🏿‍♀️ - U+1F9CE U+1F3FF U+200D U+2640
WOMAN KNEELING: DARK SKIN TONE
🦫 - U+1F9AB BEAVER
2023-07-12 06:26:21 +02:00
Xexxa
d2637d54e5 Base: Add more emoji
🐏 - U+1F40F RAM
🐦‍⬛ - U+1F426 U+200D U+2B1B BLACK BIRD
📟 - U+1F4DF PAGER
🚻 - U+1F6BB RESTROOM
🚼 - U+1F6BC BABY SYMBOL
2023-07-10 19:47:19 -04:00
Timothy Flynn
af5eaf5edf Base: Add a test page to log KeyboardEvent data
This page prepends a row to a table with the last-received
KeyboardEvent.
2023-07-09 06:32:20 +02:00
Xexxa
c0528d4188 Base: Add more emoji
🫃 - U+1FAC3 PREGNANT MAN
🫄 - U+1FAC4 PREGNANT PERSON
🤺 - U+1F93A PERSON FENCING
🤾 - U+1F93E PERSON PLAYING HANDBALL
🤾‍♂️ - U+1F93E U+200D U+2642 MAN PLAYING HANDBALL
🤾‍♀️ - U+1F93E U+200D U+2640 WOMAN PLAYING HANDBALL
🧁 - U+1F9C1 CUPCAKE
🗼 - U+1F5FC TOKYO
🪈 - U+1FA88 FLUTE
2023-07-08 22:51:42 +01:00
Xexxa
74e77c205d Base: Adjust emoji
Align U+1F451 and U+1F450 vertically to better align with other emoji

👐 - U+1F450 OPEN HANDS
👑 - U+1F451 CROWN
2023-07-08 22:51:42 +01:00
Xexxa
6303285b1c Base: Adjust emoji
Make clothes color of U+1F930 match other emoji better

🤰 - U+1F930 PREGNANT WOMAN
2023-07-08 22:51:42 +01:00
Xexxa
c09bcc2f16 Base: Add more emoji
🦸 - U+1F9B8 SUPERHERO
🦹 - U+1F9B9 SUPERVILLAIN
🧍 - U+1F9CD PERSON STANDING
🧍‍♂️ - U+1F9CD U+200D U+2642 MAN STANDING
🧍‍♀️ - U+1F9CD U+200D U+2640 WOMAN STANDING
🦰 - U+1F9B0 RED HAIR (component)
🦱 - U+1F9B1 CURLY HAIR (component)
🦳 - U+1F9B3 WHITE HAIR (component)
🦲 - U+1F9B2 BALD (component)
🥯 - U+1F96F BAGEL
🚜 - U+1F69C TRACTOR
🪪 - U+1FAAA IDENTIFICATION CARD
2023-07-08 18:48:42 +01:00
MacDue
c63d66e32f Base: Add high-quality vectorized Buggie .tvg file
I could not find a vector graphic of Buggie, so I've now made one
and am adding it exclusively as a .tvg :^)

Should be easy to convert to an SVG too :)
2023-07-03 23:54:51 +02:00
MacDue
7a0e3474d6 Base: Setup file associations for .tvg 2023-07-03 23:54:51 +02:00
Kim Kulak
cfb6baf973 Base: Add Wiby Search To New Tab Page 2023-07-02 13:20:04 +01:00
kleines Filmröllchen
e7b7d1b347 Base: Add a new quote to the fortunes database 2023-06-24 19:13:42 +03:30
Simon Danner
45f86466bb LibWeb: Add initial implementation of CRC2D.globalAlpha
Works for fills and strokes (using colors, gradients, or patterns),
along with images.

fill_rect() has been updated to use fill_path(), which allows it to
easily transform the rect, and already supports opacity.

Co-authored-by: MacDue <macdue@dueutil.tech>
2023-06-18 20:31:11 +02:00
MacDue
a910c4d984 LibWeb: Fix end position for objectBoundingBox SVG <radialGradient>s
The translation to the bounding box location is handled by the gradient
transform, also doing it here breaks things.

This fixes the MDN <radialGradient> example.
2023-06-17 22:25:26 +01:00
Nico Weber
7302f8838c Base: Remove unused png file
See here: https://github.com/SerenityOS/serenity/pull/15234#issuecomment-1591477603
2023-06-15 17:44:44 -04:00
Nico Weber
31c9fe5c32 Base: Rename Cupertino window-close-modified-hover.jpg to .png
It's a png file, not a jpeg file, so give it the correct name.
If I read WindowFrame.cpp right, the hover bitmap only works if
the file is named .png, too.

(Noticed by running `find Base/res/icons -name '*.jpg'`.)
2023-06-14 06:40:44 +02:00
MacDue
e27081a8ca Base: Add an SVG fill-rule example page 2023-06-11 19:34:24 +02:00
MacDue
30c316a2bf LibWeb+LibGfx: Allow stroking with a paint style and opacity 2023-06-11 16:15:56 +02:00
MacDue
eb4a58528e LibWeb+LibGfx: Allow filling with a paint style and opacity 2023-06-11 16:15:56 +02:00
Timothy Flynn
e7faca4431 Base: Use a relative path to load the new tab page's browser icon
Similar to 59a1a3f463, this is to allow
using this page outside of Serenity.
2023-06-08 07:22:00 +02:00
MacDue
d259421b69 LibWeb: Allow paint style fills for CRC2D strokes 2023-06-08 07:17:43 +02:00
Luke Wilde
42a183720b LibWeb/SVG: Support url() in the stroke attribute
This allows you to draw gradients in strokes, for example.
2023-06-07 06:29:46 +02:00
Simon Danner
d41e6a0451 Base: Add Unicode arrows to Katica Italic 10
2190-4
2023-06-07 00:47:22 +02:00
Karol Kosek
6e5457d9e0 Base: Add .mkv file association to Video Player
Video Player can play VP9 videos inside Matroska. Double-clicking on
such files in File Manager will now open this application.
2023-06-05 06:56:06 +02:00
Ben Wiederhake
189af20294 Base: Remove unlicensed copy of BMFW
The creator of this site is most definitely not going to enforce his
copyright, yes, but it's still a bad idea to keep around an unlicensed
copy of someone else's work. We no longer use it to 'test' anything, so
let's just remove it entirely.
2023-06-03 14:29:19 +02:00
Ben Wiederhake
38f107685c Base: Replace GPL bmpsuite by link to original
bmpsuite on GitHub is licensed under the GPLv3:
https://github.com/jsummers/bmpsuite/blob/master/COPYING.txt

However, we did not "conspicuously and appropriately publish on each
copy an appropriate copyright notice", therefore we probably were in
violation with GPLv3 paragraph 4, "Conveying Verbatim Copies".

Let's just remove this entirely, because Ladybird can just access
the original pages instead.

At the time of writing, `bmpsuite.html` and the HTML response from the
linked URL are byte-identical.
2023-06-03 14:29:19 +02:00
Oskar Skog
a05f610278 Base: Extend the Finnish keymap and make capital Å type what it should 2023-05-31 16:42:09 +02:00
Ali Mohammad Pur
e90752cc21 LibWeb: Add preliminary support for CSS animations
This partially implements CSS-Animations-1 (though there are references
to CSS-Animations-2).
Current limitations:
- Multi-selector keyframes are not supported.
- Most animation properties are ignored.
- Timing functions are not applied.
- Non-absolute values are not interpolated unless the target is also of
  the same non-absolute type (e.g. 10% -> 25%, but not 10% -> 20px).
- The JavaScript interface is left as an exercise for the next poor soul
  looking at this code.

With those said, this commit implements:
- Interpolation for most common types
- Proper keyframe resolution (including the synthetic from-keyframe
  containing the initial state)
- Properly driven animations, and proper style invalidation

Co-Authored-By: Andreas Kling <kling@serenityos.org>
2023-05-29 05:35:41 +02:00
thankyouverycool
02d94a303c Base+Userland: Apply Human Interface Guidelines to Object text
Corrects a slew of titles, buttons, labels, menu items and status bars
for capitalization, ellipses and punctuation.

Rewords a few actions and dialogs to use uniform language and
punctuation.
2023-05-23 05:59:49 +02:00
MacDue
ac104f7845 Base: Use fill-opacity and stroke-opacity in SVG example 2023-05-20 08:52:19 +02:00
MacDue
1d91a56242 Base: Use stop-opacity in SVG gradients example 2023-05-20 08:52:19 +02:00
Fabian Dellwing
b01fcccbbd Userland+Base: Don't run NetworkSettings in elevated mode 2023-05-13 17:59:37 -06:00
Timothy Flynn
2b269cf425 Base: Add a test page to load a video element with <source> children
This verifies we cycle through the source children until we land on one
with a video we can play.
2023-05-13 15:51:44 +02:00
Cubic Love
c7e08c3266 Base: Add some Arrows & General Punctuation to Csilla Regular 12
Csilla Regular 12 is used for inline code in LibMarkdown. It was
missing basic arrows and ellipsis needed by man pages referencing menu
items. I have added these and some extras.

General Punctuation
https://www.unicode.org/charts/PDF/U2000.pdf
2010, 2012-2026, 2032-203A, 203F-2040, 2044, 2047-2048, 204B

Arrows
https://www.unicode.org/charts/PDF/U2190.pdf
2190-2193
2023-05-09 06:18:30 +02:00
Andreas Kling
15211cd753 Userland: Show "Ladybird" instead of "Browser" in titles, menus, etc
While the binary is still called "Browser" for now, let's make it clear
that we're converging on a single name for this application.
2023-05-09 06:12:09 +02:00
Cubic Love
18d527fce1 Base: Improve Assistant App Icon (16px)
I've been unsatisfied with the current Assistant app icon (16px).
After trying many variations, I have ended-up with this. The changes
may be slight, but the bow tie now has a more natural shape including
a more prominent knot, bringing it more inline with the 32px version.
Plus the shading has been tweaked.
2023-05-07 06:33:13 +02:00
Cubic Love
a7600caea1 Base+Snake: Capitalize snake skin names
In Snake, the menu for choosing a skin looked messy due to
inconsistent capitalization. Two skins names were entirely lowercase.
For the sprite-based skins, the menu takes the name of each skin's
directory, so I have capitalized these.

Capitalizing the original snake skin required more change than simply
renaming a directory.
2023-05-06 22:19:41 +02:00
Lucas CHOLLET
1a97382305 LibGUI: Make Application's construction fallible
The pattern to construct `Application` was to use the `try_create`
method from the `C_OBJECT` macro. While being safe from an OOM
perspective, this method doesn't propagate errors from the constructor.
This patch make `Application` use the `C_OBJECT_ABSTRACT` and manually
define a `create` method that can bubble up errors from the
construction stage.

This commit also removes the ability to use `argc` and `argv` to
create an `Application`, only `Main`'s `Arguments` can be used.

From a user point of view, the patch renames `try_create` => `create`,
hence the huge number of modified files.
2023-05-05 16:41:21 +01:00
Cubic Love
0d808f6dcb Base+Minesweeper: Move assets from /icons/ to /graphics/
The graphics directory is a more suitable home for game assets.
2023-05-05 11:52:33 +01:00
Cubic Love
9c8385c605 Base+FlappyBug: Move assets from /icons/ to /graphics/
The graphics directory is a more suitable home for game assets.
2023-05-05 11:52:33 +01:00
Cubic Love
c6454d37c0 Base+ColorLines: Move assets from /icons/ to /graphics/
The graphics directory is a more suitable home for game assets.
2023-05-05 11:52:33 +01:00
Cubic Love
248542535d Base+LibChess: Move assets from /icons/ to /graphics/
The graphics directory is a more suitable home for game assets.
2023-05-05 11:52:33 +01:00
Cubic Love
240a56d9ce Base+CatDog: Move assets from /icons/ to /graphics/
The graphics directory is a more suitable home for demo assets.
Also, update the example presenter file which uses a CatDog sprite.
2023-05-05 11:52:33 +01:00
Cubic Love
1d6f2e5608 Base+LibCards: Move card backs from /icons/ to /graphics/
The graphics directory is a more suitable home for game assets.
Also, move card backs into their own subfolder in preparation for a
themes subfolder for card fronts.
2023-05-05 11:52:33 +01:00
kleines Filmröllchen
876f00e635 Base: Demonstrate ArgsParser and format strings in cli project template
This demonstrates both an option and an optional positional argument, as
well as some simple format string printing with {}.
2023-05-05 02:15:43 +03:30
kleines Filmröllchen
fd68e9f1ac Base: Split out cpp-library template files into actual files
These were part of the postcreate script previously, but with the new
powers of sed, we can text-replace the library name and make changing
them much more convenient.
2023-05-05 02:15:43 +03:30
kleines Filmröllchen
2451e97a11 Base: Adjust serenity-application template with some cpp-gui pieces
Namely, the window title and size are carried over, since a larger
window with a more readable "Example Application" title is better to
understand. I also took the opportunity to add a missing trailing
newline to the generated CMake file.
2023-05-05 02:15:43 +03:30
kleines Filmröllchen
7a0fae7be1 Base: Remove the cpp-gui HackStudio template
This template is essentially an older version of the
serenity-application template, it does not compile anymore and is
therefore entirely redundant.
2023-05-05 02:15:43 +03:30
MacDue
390ade3cf4 Base: Add some SVG <radialGradient> examples 2023-05-04 16:50:01 +02:00
MacDue
77a5f40736 Base: Fix incorrectly closed tag in welcome.html 2023-04-29 05:42:57 +02:00
MacDue
8ff6239d4f Base: Add SVG gradients test page 2023-04-28 09:42:28 +02:00
Andreas Kling
c756e021a7 Userland: Remove "Inspector" program and related utilities
This program has never lived up to its original idea, and has been
broken for years (property editing, etc). It's also unmaintained and
off-by-default since forever.

At this point, Inspector is more of a maintenance burden than a feature,
so this commit removes it from the system, along with the mechanism in
Core::EventLoop that enables it.

If we decide we want the feature again in the future, it can be
reimplemented better. :^)
2023-04-25 14:48:40 +02:00
Jelle Raaijmakers
6601ff9d65 LibSQL: Redesign heap storage to support arbitrary amounts of data
Previously, `Heap` would store serialized data in blocks of 1024 bytes
regardless of the actual length. Data longer than 1024 bytes was
silently truncated causing database corruption.

This changes the heap storage to prefix every block with two new fields:
the total data size in bytes, and the next block to retrieve if the data
is longer than what can be stored inside a single block. By chaining
blocks together, we can store arbitrary amounts of data without needing
to change anything of the logic in the rest of LibSQL.

As part of these changes, the "free list" is also removed from the heap
awaiting an actual implementation: it was never used.

Note that this bumps the database version from 3 to 4, and as such
invalidates (deletes) any database opened with LibSQL that is not
version 4.
2023-04-23 18:08:17 -04:00
Timothy Flynn
59a1a3f463 Base: Add options to the video test page to change its attributes
This is to allow testing autoplay, poster images, etc. without having to
stash local changes to the page. This also changes the URLs used on the
page to be relative to the page itself, to allow the page to load both
on Serenity and Lagom.
2023-04-21 07:54:36 +02:00
Timothy Flynn
229cc67fee LibWeb: Implement HTMLMediaElement's autoplay attribute 2023-04-18 16:30:02 +02:00
MacDue
71ed1e3e50 Base: Add SVG preserveAspectRatio demo page 2023-04-17 07:32:31 +02:00
Cubic Love
d82b9553b5 Base: Complete Mathematical Operators in Katica Regular 10
https://www.unicode.org/charts/PDF/U2190.pdf
21E7

https://www.unicode.org/charts/PDF/U2200.pdf
2201, 2203-4, 2208-220E, 2213-221D, 221F-2226, 222D-223F, 2241-224F,
225D-225F, 2262, 226D-228E, 22A2-22A8, 22AC-22AF, 22B2-22B9, 22BB-22BD,
22C4-22C5, 22C8-22CA, 22CE-22D4, 22D6-22FE
2023-04-14 21:43:40 +02:00
Cubic Love
fb47b988ca Base: Add US English Apple Macintosh keymap
Add the full alt + shift-alt keymap for the EN-US Apple Keyboard Layout
2023-04-14 10:00:06 +02:00
Srikavin Ramkumar
04198a29a8 Base: Fix typo in cursor test page 2023-04-14 09:57:49 +02:00