Commit graph

37865 commits

Author SHA1 Message Date
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
Karol Kosek
61dc489778 FileManager: Reduce scope of some variables related to context menu 2022-05-07 20:14:23 +02:00
Karol Kosek
4ef8bf53ba FileManager: Don't use bitwise OR operators on booleans 2022-05-07 20:14:23 +02:00
Karol Kosek
ec02d58b5b FileManager: Rename action_show_dotfiles to show_dotfiles_action
All actions are named that way.
2022-05-07 20:14:23 +02:00
Karol Kosek
ff6df9f27e FileManager: Use VERIFY() instead of if checks with VERIFY_NOT_REACHED
Besides micro simplifying the code, this will also show the failed
condition in the console, instead of vague 'ASSERTION FAILED: false'.
2022-05-07 20:14:23 +02:00
Rafał Babiarz
6463bc7eb3 Browser: Add option to filter entries in Storage Inspector 2022-05-07 20:09:53 +02:00
Rafał Babiarz
d1e6dcfbc2 LibGUI: Show column names when using FilteringProxyModel with TableView 2022-05-07 20:07:48 +02:00
Joel Hansen
b944e8f505 Base: Improve Silver theme colors
- HighlightWindow text and strip colors now dark blue.
- MovingWindowShadow color made lighter, so that it's more visible.
- RubberBand now has silver colors.
2022-05-07 20:06:47 +02:00
Joel Hansen
325e206e4e Base: Improve Desert theme colors
Improve HighlightWindowBorder colors for better visibility.
2022-05-07 20:06:47 +02:00
Joel Hansen
d017e9f2c7 Base: Add hover variants for Light theme 2022-05-07 20:06:47 +02:00
Joel Hansen
afa490de0c Base: Add hover variants for the Silver theme 2022-05-07 20:06:47 +02:00
Joel Hansen
eb3d289f00 Base: Improve Plum theme colors
- Make ruler lighter for visibility
- Make gutter same color as ruler for consistency
- Improve HighlightWindow colors
2022-05-07 20:06:47 +02:00
Joel Hansen
9c53be36d3 Base: Define WindowTitleShadow in Sunshine theme
Add *WindowTitleShadow values for the Sunshine theme. Make
InactiveWindowTitleShadow color lighter
2022-05-07 20:06:47 +02:00
Joel Hansen
54ff2a8ddd Base: Use lighter color for HoverHighlight on the ChillyChilly theme 2022-05-07 20:06:47 +02:00
Joel Hansen
7080fbff3d Base: Reorganize Silver theme 2022-05-07 20:06:47 +02:00
Karol Kosek
c6bcc0f96e LibGUI: Check if a property is a GML Object in ScrollableContainerWidget
Previously we couldn't set the content widget from GML because it was
looking for a GUI::Object, not a GML::Object.
2022-05-07 20:03:17 +02:00
Tim Schumacher
f8aea2a7e5 Profiler: Use absolute mmap paths as-is 2022-05-07 20:02:00 +02:00
Tim Schumacher
89da0f2da5 LibELF: Name library maps with the full file path 2022-05-07 20:02:00 +02:00
Tim Schumacher
2b7b7f2816 LibELF: Separate library resolving into a new function 2022-05-07 20:02:00 +02:00
EWouters
a07e12609e Ports/mrsh: Fix workdir, remove or upgrade patches
Also removes mrsh from the list of ports missing descriptions. I tried
to be descriptive about the patches, but as I picked this port up from
someone else, I'm not 100% sure how to best explain the patches.
2022-05-07 17:00:39 +02:00
VAN BOSSUYT Nicolas
020235a841 Base: Improve icons consistency 2022-05-07 13:45:33 +02:00
Luke Wilde
05748ed607 LibJS: Convert Console to use MarkedVector<Value>
Using a Vector<Value> is unsafe as GC cannot see the stored values.
This is then vended to outside users of ConsoleClient, e.g. LibWeb and
WebContent, which is then outside of LibJS's control.

An example issue is if the client stores it for later use and forgets
to visit the stored values, meaning they can be destroyed at any time.
We can save the client from this by vending a MarkedVector<Value> to
them.
2022-05-07 01:22:09 +02:00