summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-02-24LibWeb: Allow Angle/Frequency/Resolution/Time values for CSS propertiesSam Atkins
2022-02-24LibWeb: Parse Angle/Frequency/Resolution/Time typesSam Atkins
2022-02-24LibWeb: Move length-unit-from-string code into LengthSam Atkins
This means the units are defined in a single place instead of two. Also removed the verify that we didn't produce a bogus % dimension token in the Tokenizer, since this has never happened and the parser is not a tokenizer test suite. :^)
2022-02-24LibWeb: Implement CSS Time classSam Atkins
This corresponds to `<time>` in the grammar.
2022-02-24LibWeb: Implement CSS Resolution classSam Atkins
This corresponds to `<resolution>` in the grammar.
2022-02-24LibWeb: Implement CSS Frequency classSam Atkins
This corresponds to `<frequency>` in the grammar.
2022-02-24LibWeb: Implement CSS Angle classSam Atkins
This corresponds to `<angle>` in the grammar.
2022-02-24LibWeb: Account for `Calculated` in Length methodsSam Atkins
We were ignoring this in a couple of places.
2022-02-24LibWeb: Alphabetize LibWeb CMakeLists.txtSam Atkins
2022-02-24Meta: Remove SB16 driver from the features list in README.mdLiav A
We no longer support this device, so just remove it from the kernel features list in README.md file.
2022-02-24Kernel/Audio: Remove the SB16 driverLiav A
This driver is not tested and probably not used on any modern hardware machine, because it is plugged into the ISA bus and not the PCI bus. Also, the run script doesn't utilize this device anymore, making it more hard to test this driver and to ensure it doesn't rot.
2022-02-23Shell: Use an opaque color for SyntaxErrorkperdlich
Use an opaque color for SyntaxError in Syntax Highlighter to avoid transparent errors.
2022-02-23LibGUI/EmojiInputDialog: Skip multi code point emojis for nowLinus Groh
These will require some tweaking here and elsewhere in LibGUI, to handle both rendering of the emojis as single glyphs consistently, and faking key events with multiple code points after selecting one.
2022-02-23LibGUI/EmojiInputDialog: Automatically calculate the dialog sizeLinus Groh
This was getting way too crowded again. Let's just fix the FIXME. :^)
2022-02-23Base: Add some regional indicator symbol emoji flags :^)Linus Groh
AQ, AT, CH, DE, DK, EU, FI, FR, GB, GR, HU, IL, IR, NL, NO, PL, RU, SE, TR, UA, UN, US. Picked by the location of various fellow Serenity contributors, and some random ones.
2022-02-23Base: Add ZWJ sequence emoji flags :^)Linus Groh
Rainbow flag, Transgender flag, Pirate flag.
2022-02-23LibGfx: Add basic variation selector and regional indicator support :^)Linus Groh
I'm sure there's a spec for this somewhere, but this is a first working approximation. Closes #3315.
2022-02-23LibGfx+LibGUI: Support multi code point emojis in text painting :^)Linus Groh
This necessitates switching from passing a single code point to the callback to passing a non-const Utf8CodePointIterator instead. Note that the text selection mechanisms in LibGUI and LibWeb don't handle this properly yet; they still assume that each code point renders as one glyph. Similarly, width calculations for text widths don't either, so a single such an emoji will require space for more than one glyph. It also doesn't work in LibVT's TerminalWidget, where each code point is handled and rendered separately, so LibGfx never gets a chance to check if subsequent code points could result in a combined emoji.
2022-02-23LibGfx: Add Emoji::emoji_for_code_point_iterator(Utf8CodePointIterator&)Linus Groh
In the common case of text rendering rather than getting the emoji bitmap for a fixed number of code points, we don't know how many code points make one emoji. As far as I can tell, the longest ones are up to ten code points, so we try to consume all of them and do a lookup during each iteration, and return the emoji for the longest chain of code points. Quite basic and definitely room for improvement, but it works!
2022-02-23LibGfx: Add Emoji::emoji_for_code_points(Span<u32> const&)Linus Groh
Not all emojis are just one code point, so the existing API is not sufficient: Emoji::emoji_for_code_point(u32). The file name for such emojis is simply each U+XXXX separated by an underscore.
2022-02-23AK: Add forward declaration for Utf8CodePointIteratorLinus Groh
2022-02-23AK: Add optional format string parameter to String{,Builder}::join()Linus Groh
Allow specifying a custom format string that's being used for each item instead of hardcoding "{}".
2022-02-23AK: Add Traits<Span<T>>::hash()Linus Groh
2022-02-23Base: Improve default WebServer pageselectrikmilk
Add some fancy stuff like semantic tags, styling and the ladyball to the default web server pages :^).
2022-02-23LibGUI+Apps: Adjust Splitter spacingsthankyouverycool
Different thread highlights between widgets lead to different visual weights between splitters, even when they have the same width or height. This means some splitters look best at odd sizes while others even. This sets the default spacing to the most commonly used, depending on orientation, and adjusts spacing for a few apps based on the new paint rect. The most consistent look across apps requires some manual tweaking occassionally. Knurlheads, use your discretion!
2022-02-23LibGUI+Apps: Prevent Splitter children from being unresizablethankyouverycool
Splitters could be resized in such an order that all their remaining children were fixed size, leading to unfillable gaps on resize events. HackStudio and TextEditor already had logic to handle this edge case, so this patch factors it into a general solution for all Splitters. At least one widget is now guaranteed to be resizeable after a child is removed.
2022-02-23LibGUI+Apps: Let Splitters select which resizee to set fixedthankyouverycool
This gives Splitters more versatility when the right resizee is intended to remain fixed or be toggled on and off.
2022-02-23LibGUI: Adjust grabbable rect between Splitter widgetsthankyouverycool
Previously, the rect began on the edge of the first widget instead of immediately after, causing an overpaint visible on hover.
2022-02-23Base: Add Mathematical Alphanumeric Symbols to font Katica Regular 10Lady Gegga
1D475, 1D4A6, 1D4A9, 1D4AA, 1D4AB, 1D4AC, 1D4AE, 1D4AF, 1D4B1, 1D4B3, 1D4B4, 1D4B5, 1D4B6, 1D538, 1D539, 1D53B, 1D53C, 1D53D, 1D53E, 1D540, 1D541, 1D542, 1D543, 1D544, 1D546, 1D54A, 1D54B, 1D54C, 1D54D, 1D54E, 1D54F, 1D550, 1D552, 1D553, 1D554, 1D555, 1D556, 1D557, 1D558, 1D559, 1D55A, 1D55B, 1D55C, 1D55D, 1D55E, 1D55F, 1D560, 1D561, 1D562, 1D563, 1D564, 1D565, 1D566, 1D569, 1D56A, 1D56B, 1D56F, 1D58B, 1D58D, 1D58E, 1D58F, 1D590, 1D591, 1D592, 1D594, 1D597, 1D670, 1D671, 1D672, 1D673, 1D674, 1D675, 1D676, 1D677, 1D678, 1D679, 1D67A, 1D67B, 1D67C, 1D67D, 1D67E, 1D67F, 1D680, 1D681, 1D682, 1D683, 1D684, 1D685, 1D686, 1D687, 1D688, 1D689, 1D68A, 1D68B, 1D68C, 1D68D, 1D68E, 1D68F, 1D690, 1D691, 1D692, 1D693, 1D694, 1D695, 1D696, 1D697, 1D698, 1D699, 1D69A, 1D69B, 1D69C, 1D69D, 1D69E, 1D69F, 1D6A0, 1D6A1, 1D6A2, 1D6A3, 1D7D8, 1D7D9, 1D7DA, 1D7DB, 1D7DC, 1D7DD, 1D7DE, 1D7DF, 1D7E0, 1D7E1 https://www.unicode.org/charts/PDF/U1D400.pdf
2022-02-23Base: Add Supplemental Arrows-C symbols to font Katica Regular 10Lady Gegga
1F850, 1F851, 1F852, 1F853, 1F854, 1F855, 1F856, 1F857, 1F858, 1F859, 1F860, 1F861, 1F862, 1F863, 1F864, 1F865, 1F866, 1F867, 1F894, 1F895, 1F896, 1F897, 1F8A0, 1F8A1, 1F8A2, 1F8A3, 1F8A4, 1F8A5, 1F8A6, 1F8A7 https://www.unicode.org/charts/PDF/U1F800.pdf
2022-02-23Base: Add Latin Extended Additional chrs to font Katica Regular 10Lady Gegga
1D97, 1E00, 1E02, 1E03, 1E04, 1E05, 1E06, 1E07, 1E38, 1E39, 1E3A, 1E3B, 1E59, 1E5B, 1E61, 1E63, 1E69, 1E6A, 1E6C, 1E6D, 1E6E, 1E6F, 1E8B, 1E8D, 1EFA https://www.unicode.org/charts/PDF/U1E00.pdf
2022-02-23Base: Add 2018 to font Csilla Regular 10Lady Gegga
2022-02-23Base: Adjust 1E9E in font Csilla Bold 10Lady Gegga
Changed to be 1px smaller
2022-02-23Base: Update the '4' in Csilla10thankyouverycool
2022-02-23Base: Make Katica10's numbers tabularthankyouverycool
Katica10's numbers 0-9 were originally monospaced but became proportional at some point. Tabular numbers greatly reduce the jitteriness of widgets that update often like status bars and the geometry overlay and of course line up properly in apps like Spreadsheet.
2022-02-23Ports: Add Bochs x86 PC emulatorPeter Ross
2022-02-23LibTLS: Add signature verification for DHE and ECDHE key exchangeMichiel Visser
This will verify that the signature of the ephemeral key used in the DHE and ECDHE key exchanges is actually generated by the server. This verification is done using the first certificate provided by the server, however the validity of this certificate is not checked here. Instead this code expects the validity to be checked earlier by `TLSv12::handle_certificate`.
2022-02-23LibCrypto: Add EMSA-PKCS1-V1_5 encoder and verificationMichiel Visser
This add an implementation for the EMSA-PKCS1-V1_5-ENCODE function from RFC8017 section 9.2. The verification of this encoding is implemented by simply encoding the message to be verified, and then comparing the two encoded string. The digest info for the different hash function is from RFC8017 section 9.2 notes 1. These byte sequences are actually ASN.1 encoded data, however these are always constant for a specific hash function and can be treated as opaque byte sequences.
2022-02-23LibTLS: ECDHE switch from FeatureNotSupported to NotUnderstood errorMichiel Visser
NotUnderstood will generate a TLS alert with an InternalError instead of crashing the RequestServer.
2022-02-23LibTLS: Add OutOfMemory error that will send an InternalError alertMichiel Visser
2022-02-23Libraries/LibCpp: Add parser test for out-of-line function definitionsItamar
2022-02-23LanguageServers/Cpp: Fix "complete_includes" language server testItamar
Previously the target result was only a partial completion.
2022-02-23LibCpp: Allow qualified names in AST Declaration nodesItamar
Previously, the names of declarations where stored as a simple StringView. Because of that, we couldn't parse out-of-line function definitions, which have qualified names. For example, we couldn't parse the following snippet: ``` void MyClass::foo(){} ``` To fix this, we now store the name of a declaration with a ASTNode::Name node, which represents a qualified named.
2022-02-23AK: Add the Fundamental conceptkleines Filmröllchen
2022-02-23AK: Prevent Atomic with complex typeskleines Filmröllchen
This would throw some really weird linker errors, so let's prevent it from happening instead!
2022-02-22LibGL: Set correct matrices in `glFrustum` and `glOrtho`Jelle Raaijmakers
We were erroneously setting the projection matrix when `GL_MODELVIEW` was supplied.
2022-02-22LibGL: Improve `glFrustum` precision and error handlingJelle Raaijmakers
Do not convert to float too early. Additionally, handle some error cases for the input parameters.
2022-02-22LibGL: Clamp color in `glClearColor` to 0..1Jelle Raaijmakers
2022-02-22LibGL: Implement `glClearDepthf` and store as floatJelle Raaijmakers
Our API still specifies it as a double, but internally we communicate a float to the rasterizer. Additionally, clamp the value to 0..1 as described in the spec.
2022-02-22LibGL: Ignore stack on projection and model view matrix retrievalJelle Raaijmakers
Our implementation keeps the top-most item on the matrix stacks in a member variable, so we can always use that instead of considering the actual stack. Additionally, the current matrix mode should not influence retrieving the projection or model view matrix.