Commit graph

37936 commits

Author SHA1 Message Date
stelar7
4359d4eb5d LibWeb: Note and fix Gfx related quirk in ColorStyleValue::to_string 2022-05-08 16:29:18 +02:00
stelar7
fa05c99b22 LibWeb: Commit transaction after parsing '+'?† n <signed-integer> 2022-05-08 16:29:06 +02:00
stelar7
469380d6bc LibWeb: Dont consider '-n-' a dashndashdigit-ident token 2022-05-08 16:29:06 +02:00
stelar7
2b3c07f4ad LibWeb: Include sign in token debug info, if the type has explicit sign 2022-05-08 16:29:06 +02:00
stelar7
5ca8e2a751 LibWeb: Dont try to fetch another token in an+b parsing
When parsing <ndash-dimension> <signless-integer>, we tried to parse
a new token from the stream instead of using the value we had already
extracted. This caused pages that used the syntax to crash.
2022-05-08 16:29:06 +02:00
stelar7
303b72d516 LibWeb: Make an+b pattern selector serialization spec compliant 2022-05-08 16:29:06 +02:00
Linus Groh
b751f80166 LibJS: Change internal slots of Duration to store mathematical values
This is a normative change in the Temporal spec.

See: 1f3fba8
2022-05-08 01:01:32 +02:00
Linus Groh
cc8f5151d7 LibJS: Refactor Temporal since/until to common AOs
This is an editorial change in the Temporal spec.

See: 85a9f57
2022-05-08 00:07:58 +02:00
Linus Groh
fc6cf3cb9d LibJS: Remove ToISODayOfWeek
This is an editorial change in the Temporal spec.

See: 3eab7e4
2022-05-08 00:07:58 +02:00
Linus Groh
cabcdd838b LibJS: Remove ToISODayOfYear
This is an editorial change in the Temporal spec.

See: 6117d90
2022-05-08 00:07:58 +02:00
Linus Groh
a216c0b6df LibJS: Remove IsISOLeapYear
This is an editorial change in the Temporal spec.

See: a36bdd4
2022-05-08 00:07:58 +02:00
Linus Groh
6d0d7c8fd0 LibJS: Remove ISODaysInYear
This is an editorial change in the Temporal spec.

See: f62e737
2022-05-08 00:07:58 +02:00
Linus Groh
ade7946217 LibJS: Simplify DifferenceISODate
This is an editorial change in the Temporal spec.

See: 76452d2
2022-05-08 00:07:58 +02:00
Linus Groh
6a2b73a4a9 LibJS: Simplify DaysUntil
This is an editorial change in the Temporal spec.

See: b2254b4
2022-05-08 00:07:58 +02:00
Linus Groh
de0ea331cd LibJS: Simplify BalanceISODate
This is an editorial change in the Temporal spec.

See: 9544573
2022-05-08 00:07:58 +02:00
Linus Groh
938e68d003 LibJS: Remove type assertion comment from IsValidISODate
This is an editorial change in the Temporal spec.

See: ddb5652
2022-05-08 00:07:58 +02:00
Linus Groh
15fe6297bc LibJS: Use "Completion" to emphasize completion record
This is an editorial change in the Temporal spec.

See: 31d9fc5
2022-05-08 00:07:58 +02:00
Linus Groh
f64b69955e LibJS: Fix numeric type in Date.prototype.toTemporalInstant()
This is an editorial change in the Temporal spec.

See: 435a111
2022-05-08 00:07:58 +02:00
Linus Groh
c6f7214a60 LibJS: Replace magic nanosecond numbers with constants
This is an editorial change in the Temporal spec.

See: 3fdbfda
2022-05-08 00:07:58 +02:00
Linus Groh
3729a910f6 LibJS: Refactor Temporal add/subtract to common AOs
This is an editorial change in the Temporal spec.

See:
- 2f96efc
- fbff635
2022-05-08 00:07:58 +02:00
MacDue
875093e6a9 DisplaySettings: Fix Clang build failure in ThemePreviewWidget 2022-05-07 23:46:41 +02:00
EWouters
6ea89c35fe AK: Use builtin versions of llrint{,l,f}
This fixes the build on M1 Macs.
2022-05-07 23:36:49 +02:00
Linus Groh
fbc1448eab Meta: Fix shellcheck errors in build-image-qemu.sh 2022-05-07 23:36:02 +02:00
Linus Groh
b9f1c44dbb Meta: Tweak default disk size calculation to not be as gratuitous
Instead of first doubling the required size for the determined inode
count and then _also_ tripling the sum of that and the determined disk
size, let's be a bit more reasonable and just double the sum of inode
count * size and disk size.

This results in a 1.4GB _disk_image, instead of the 2GB from before
(for < 800MB worth of files).
2022-05-07 23:36:02 +02:00
Linus Groh
3d5645f07d Meta: Allow overriding the default calculated _disk_image size
By providing SERENITY_DISK_SIZE_BYTES as an environment variable, the
calculation of default value considered suitable for the size of files
and number of inodes that will be included can be sidestepped.
2022-05-07 23:36:02 +02:00
Linus Groh
360e149c5c ThemeEditor: Fix Clang build failure in PreviewWidget 2022-05-07 23:33:00 +02:00
MacDue
cf5b6c5c8d Demos/Eyes: Render eyes antialiased
This looks good, and is a good way to test ellipse rendering is
working properly.
2022-05-07 22:59:02 +02:00
MacDue
89445b967d PixelPaint: Add antialiased ellipse option
Currently this option is only supported for filled ellipses as that
is all the AntiAliasingPainter supports.
2022-05-07 22:59:02 +02:00
MacDue
60aba4c9f3 LibGfx: Implement AntiAliasingPainter::draw_ellipse()
This commit adds draw_ellipse() and moves the shared code
for circles and ellipses to draw_ellipse_part().

draw_ellipse_part() can draw an entire circle in one call using
8-way symmetry and an ellipse in two calls using 4-way symmetry.
2022-05-07 22:59:02 +02:00
MacDue
6e52e6b554 DisplaySettings: Center preview with center_window_group_within() 2022-05-07 22:58:55 +02:00
MacDue
e924aa338c ThemeEditor: Center preview with center_window_group_within() 2022-05-07 22:58:55 +02:00
MacDue
21c647dd75 LibGUI: Add center_window_group_within() to AbstractThemePreview
This method will center a group of window rects, within some
bounds, accounting for the properties of the currently selected theme
(i.e. border width, title height, etc).
2022-05-07 22:58:55 +02:00
Andrew Kaster
28241f25dc CI: Ensure that Azure nightly pipeline doesn't run on CI or PR triggers
GitHub YAML pipelines have both of these on by default, so we need to
explicitly disable them.
2022-05-07 20:49:13 +02:00
Andrew Kaster
d0e002d122 CI: Use proper paths to template files in nightly-pipeline.yml
Azure paths are relative to the pipeline file.
Addtionally, pipeline stages can't have spaces or parentheses in them
2022-05-07 20:38:18 +02:00
offtkp
d24ec130bf FileManager: Don't show new dotfiles if the option is disabled 2022-05-07 20:31:40 +02:00
Hendiadyoin1
d4fe02152a AK: Add an SSE2 specific implementation of sqrt(double) 2022-05-07 20:27:05 +02:00
Hendiadyoin1
6c41267dcf UserspaceEmulator: Delegate rounding to the actual hardware
This also makes us a bit more accurate, due to better rounding of
intermediate results.

This also gives us the flush-to-zero and denormals-are-zero SSE settings
for free! (Assuming UE is build with SSE)
2022-05-07 20:27:05 +02:00
Hendiadyoin1
56a31ab376 LibM: Delegate rounding to fully to the FRNDINT instruction
This is only enabled for clang right now, because it does not seem to
work on GCC.

Also fixes the types of two intermediate results

Co-authored-by: kleines Filmröllchen <filmroellchen@serenityos.org>
2022-05-07 20:27:05 +02:00
Hendiadyoin1
6d9bc87903 AK: Add a cpp-y, more fine grained version of fenv.h: FPControl.h
This allows direct inlining and hides away some assembly and
bit-fiddling when manipulating the floating point environment.

This only implements the x87/SSE versions, as of now.
2022-05-07 20:27:05 +02:00
Hendiadyoin1
9aa4958234 LibGfx: Use round_to<int> in Painter::draw_text_line 2022-05-07 20:25:39 +02:00
Hendiadyoin1
d866637074 LibSoftGPU: Use round_to<int> in Device::get_rasterization_rect_of_size 2022-05-07 20:25:39 +02:00
Hendiadyoin1
db0ba9f647 LibGfx: Use some AK/Math helpers in AffineTransform
This makes us use AK::sincos and AK::hypot
2022-05-07 20:25:39 +02:00
Hendiadyoin1
5fd49b9d9f LibGfx: Avoid some unnecessary Rounding in AffineTransform and Color
Casts suffice in these cases.
(Assuming standard rounding mode)
2022-05-07 20:25:39 +02:00
Hendiadyoin1
65f57efb5b LibGfx: Specialize Rect::to_rounded a bit more
We were always calling llround[fd], even for floating point targets.
Also for rounding to integer, we don't need to have C99's rounding rules
and can just cast, assuming the standard rounding mode.
2022-05-07 20:25:39 +02:00
Hendiadyoin1
37ff2b9bd2 AK: Add an helper for quick hardware based rounding
This uses the `fistp` and `cvts[sd]2si` respectively, to potentially
round floating point values with just one instruction.

This falls back to `llrint[fl]?` on aarch64 for now.
2022-05-07 20:25:39 +02:00
kleines Filmröllchen
71b175d4ed Profiler: Use ProfileModel rounding constant for the status bar text
This way, we can change the constant in one place. Note that this
requires the use of nested format strings, which is slightly ugly but
safe to do in this instance.
2022-05-07 20:21:51 +02:00
kleines Filmröllchen
6368ef41f8 Profiler: Round sample percentages to a constant number of digits
This constant is currently 3 but can be changed easily or integrated
into a user setting. Note that the results are not ideal because during
pretty-printing we're not using any nice rounding rules, so many
percentage values will actually appear as 0.399999 even though they were
rounded to three digits.
2022-05-07 20:21:51 +02:00
kleines Filmröllchen
d9decfbbf3 Profiler: Show percentages with three decimal points
This is great when the percentages are very low.
2022-05-07 20:21:51 +02:00
kleines Filmröllchen
19a4b820c4 LibAudio+LibDSP: Switch samples to 32-bit float instead of 64-bit float
This has been overkill from the start, and it has been bugging me for a
long time. With this change, we're probably a bit slower on most
platforms but save huge amounts of space with all in-memory sample
datastructures.
2022-05-07 20:20:16 +02:00
Karol Kosek
39c0f31009 FileManager: Remove unused lstat() call 2022-05-07 20:14:23 +02:00