summaryrefslogtreecommitdiff
path: root/Userland/Libraries
AgeCommit message (Collapse)Author
2023-01-06LibGfx: Make ScaledFont::glyph_height() return the pixel heightAndreas Kling
This was returning the point height which didn't match BitmapFont and led to bogus line heights in GUI::TextEditor.
2023-01-06LibGfx: Remove unused Font::point_size()Andreas Kling
2023-01-06LibGfx: Make Font::preferred_line_height() more correctAndreas Kling
Return a float, and fix a bogus calculation of ascender + descender.
2023-01-06LibGfx: Remove bogus rounding in FontPixelMetrics::line_spacing()Andreas Kling
2023-01-06LibGfx/OpenType: Use typographic metrics when asked to by the OS/2 tableAndreas Kling
2023-01-06LibVT: Simplify TerminalWidget::widget_size_for_font()Andreas Kling
Reuse the base size calculation from compute_base_size() instead of duplicating it.
2023-01-06LibVT: Use font pixel height (pixel_size) when calculating line heightsAndreas Kling
2023-01-06LibVT: Compute the font metrics once and cache themAndreas Kling
The height of a line or column doesn't change unless the font changes, and we were already caching the line height. This patch extends it so we also cache the column width.
2023-01-06LibVT: Fix bug where terminal size got lost on font size changeAndreas Kling
When changing the font size, we now resize the terminal widget *before* setting the font. This ensures that we keep the same logical terminal size after the font change.
2023-01-06LibCards+Solitaire: Elevate card highlight management to the card stackTimothy Flynn
Instead of indicating which individual cards should be highlighted, card games now indicate which stack is highlighted. This lets the stack draw empty stacks with a highlight (e.g. the Foundation stack in Solitaire). If the stack is non-empty, the stack can delegate highlighting to the top-most card.
2023-01-06LibCards: Draw the inside of card highlight rects with rounded cornersTimothy Flynn
Currently, the outside of the card highlight has rounded corners, but the inside has square corners. It looks a bit more polished if they are both rounded.
2023-01-06LibWeb: Consider percent and fixed widths in table column distributionAliaksandr Kalenik
Change column distribution to take in account is_length() and is_percentage() width values instead of treating all cells like they have auto width by implementing it in the way described in CSS Tables 3 spec: https://www.w3.org/TR/css-tables-3/#width-distribution-algorithm distribute_width_to_column() is structured to follow schema: w3.org/TR/css-tables-3/images/CSS-Tables-Column-Width-Assignment.svg
2023-01-06LibWeb: Use available space to resolve table cells widthAliaksandr Kalenik
It is not possible to use width of containing block to resolve cells width because by the time compute_table_measures() is called row width is not known yet.
2023-01-06LibJS: Rename ToIntegerThrowOnInfinity to ToIntegerWithTruncationBodilessSleeper
This commit ticks away two of the boxes in #15525 Temporal commits: tc39/proposal-temporal@f274678 and tc39/proposal-temporal@a63a0fb
2023-01-06LibJS: Replace "is not zero" language in Temporal commentsBodilessSleeper
This commit ticks away one of the boxes in #15525 Temporal commit: tc39/proposal-temporal@9cd448a
2023-01-05LibJS: Add and begin using a completion-compatible string builderTimothy Flynn
ThrowableStringBuilder is a thin wrapper around StringBuilder to map results from the try_* methods to a throw completion. This will let us try to throw on OOM conditions rather than just blowing up.
2023-01-05LibWeb: Pass FloatRect to Painter::draw_text in fill_textVayuDev
Don't round float values to int values in CanvasRenderingContext2D::fill_text when passing them to Painter::draw_text. This also fixes a fixme.
2023-01-05LibWeb: Return floats from color stop resolution functionsMacDue
These don't deal with pixels so should not return CSSPixels. This removes one suspicious looking cast.
2023-01-05LibJS: Convert calendar operation results to floatsBodilessSleeper
This commit ticks away one of the boxes in #15525 Temporal commit: tc39/proposal-temporal@11aad40
2023-01-05LibWeb: Use CSS Pixels for viewport rectsSam Atkins
2023-01-05LibWeb: Resolve Lengths to CSSPixelsSam Atkins
2023-01-05LibWeb: Replace all px Length creation with Length::make_px(CSSPixels)Sam Atkins
2023-01-05LibWeb: Convert AbstractImageStyleValue to new pixel unitsSam Atkins
2023-01-05LibWeb+Browser+WebContent: Convert BoxModelMetrics to new pixel unitsSam Atkins
2023-01-05LibWeb: Convert Layout::Node to new pixel unitsSam Atkins
2023-01-05LibWeb: Convert Layout Boxes to new pixel unitsSam Atkins
2023-01-05LibWeb: Convert LayoutState to new pixel unitsSam Atkins
2023-01-05LibWeb: Convert InlineLevelIterator/LineBox/LineBuilder to new px unitsSam Atkins
2023-01-05LibWeb: Convert TableFormattingContext to new pixel unitsSam Atkins
2023-01-05LibWeb: Convert SVGFormattingContext to new pixel unitsSam Atkins
This is a tiny change but I'm doing it now for the sake of completeness.
2023-01-05LibWeb: Convert InlineFormattingContext to new pixel unitsSam Atkins
2023-01-05LibWeb: Convert GridFormattingContext to new pixel unitsSam Atkins
2023-01-05LibWeb: Convert FlexFormattingContext to new pixel unitsSam Atkins
2023-01-05LibWeb: Convert BlockFormattingContext to new pixel unitsSam Atkins
2023-01-05LibWeb: Convert FormattingContext to new pixel unitsSam Atkins
Just FormattingContext and AvailableSpace, and the minor adjustments to make everything else work.
2023-01-05LibWeb: Create CSS::Sizes from CSSPixelsSam Atkins
2023-01-05LibWeb+WebContent: Convert BrowsingContext to new pixel unitsSam Atkins
This fixes a few glitches. We no longer give the page double the width it should have, and we mark the correct area of the page as needing repainting.
2023-01-05LibCards: Add a helper to create an action to open Cards SettingsTimothy Flynn
This is a useful shortcut to open the settings from within the game rather than having to go through the system menu.
2023-01-05LibCards: Support highlighting cards of interestTimothy Flynn
For example, in Solitaire, when dragging a card around, it's common for other implementations to highlight the card underneath the dragged card if that other card is a valid drop target. This implementation will draw a rounded rectangle within the edges of the highlighted card, using a rudimentary complementary color of the board background color.
2023-01-05LibGfx+LibPDF: Apply subpixel offset in affine transformationMacDue
2023-01-05LibPDF: Use subpixel accurate text renderingMacDue
This just enables the new tricks from LibGfx with the same nice improvements :^)
2023-01-05LibGfx: Enable subpixel accurate text rendering in Painter::draw_text()MacDue
This improves kerning and alignment jittering quite a bit :^)
2023-01-05LibGfx: Add ability to request glyphs at subpixel offsets to fontsMacDue
This adds the option to pass a subpixel offset when fetching a glyph from a font, this offset is currently snapped to thirds of a pixel (i.e. 0, 0.33, 0.66). This is then used when rasterizing the glyph, which is then cached like usual. Note that when using subpixel offsets you're trading a bit of space for accuracy. With the current third of a pixel offsets you can end up with up to 9 bitmaps per glyph.
2023-01-05LibGfx: Avoid rounding/truncating glyph positions till blittingMacDue
This keeps some overloads that accept ints to avoid adding calls to .to_type<float>() all over the place.
2023-01-05LibGfx+icc: Print if profile id is validNico Weber
2023-01-05LibCrypto: Add equality operators for Crypto::Hash::Digest<>Nico Weber
2023-01-05LibGfx: Remove useless name from try_load_from_externally_owned_memory()Nico Weber
2023-01-05LibGfx: East-const-ify ICCProfile::pcs_illuminant()Nico Weber
2023-01-05LibGfx: Store profile id MD5 in ICCProfileNico Weber
2023-01-05LibCrypto: Add a Formatter for Crypto::Hash::Digest<>Nico Weber