summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-01-04Base: Add keymap for Norwegian Macintosh keyboardsJean-Paul Balabanian
There is a significant difference between the PC keyboard mapping and the Macintosh mapping in Norwegian.
2022-01-04PixelPaint: Add a Bloom filterTobias Christiansen
A bloom filter creates fringes around bright areas in the image mimicking the behavior of real-world cameras. It gets its own category "Artistic" in the Filter Gallery since its not one filter per se but a combination of multiple. The filter works as follows: - Get only the light areas (above a threshold) of the image - Blur that image - Compose onto the original image
2022-01-04LibGfx: Add LumaFilterTobias Christiansen
This allows you to specify a luminosity range, all pixels that fall outside this range are set to black, the others are untouched.
2022-01-04LibGfx: Add BitmapMixerTobias Christiansen
With this BitmapMixer one can draw one Bitmap onto another with different modes. For now the only supported mixing methods implemented are Add and Lightest (which is very naive).
2022-01-04PixelPaint: Add the FastBoxBlurFilter with configurable parameters :^)Tobias Christiansen
The FastBoxBlurFilter has been living in LibGfx for a while and now it's accessible in PixelPaint. The parameters for the filter are exposed via the new Filter Gallery.
2022-01-04LibGfx: Add BitmapFormat::BGRx8888 support to the FastBoxBlurFilterTobias Christiansen
1268b39ba introduced template specialization when reading/writing to/from the bitmap that increased the speed of the filter. To keep that while supporting more than one BitmapFormat, the appropriate {get,set}_pixel<>() functions are detemined and stored in Function<>s.
2022-01-04Calendar: Port to LibMain and TRY all the thingsRummskartoffel
2022-01-04Kernel: Update key_code_countAatos Majava
This was not updated when the Menu button was added.
2022-01-04LibSoftGPU: Shift U/V coordinates just once in `Sampler`Jelle Raaijmakers
2022-01-04LibSoftGPU: Use `AK::mix` instead of manual interpolationJelle Raaijmakers
2022-01-04AK: Add `mix`Jelle Raaijmakers
2022-01-04Kernel: Scan ACPI memory ranges for the RSDP tableTom
On some systems the ACPI RSDP table may be located in ACPI reserved memory ranges rather than in the EBDA or BIOS areas.
2022-01-04Kernel: Fix possible buffer overrun when scanning a MappedROMTom
If the length of the prefix was less than the chunk_size argument we were potentionally reading past the mapped memory region.
2022-01-04Kernel: Fix determining EBDA sizeTom
The first byte of the EBDA structure contains the size of the EBDA in 1 KiB units. We were incorrectly using the word at offset 0x413 of the BDA which specifies the number of KiB before the EBDA structure.
2022-01-04Toolchain: Fix building the aarch64 toolchainDaniel Bertalan
The `aarch64/t-aarch64` makefile fragment needs to be included for the aarch64-specific parts of GCC to be built. Before 738e52da5, this was done implicitly, but now it is not. This caused the following error when building the toolchain: "aarch64-builtins.o: No such file or directory".
2022-01-04Kernel: Include correct header for DistinctNumeric in DeviceFileTypes.hDaniel Bertalan
Fixes an aarch64 build failure.
2022-01-04Kernel: Align GDT to the size of a DescriptorIdan Horowitz
This is not actually required by the specification, but it means we will take the aligned fast-path in QEMU.
2022-01-04Kernel: Replace incorrect loop condition in write_raw_gdt_entryIdan Horowitz
Contradictory to the comment above it, this while loop was actually clearing the selectors above or equal to the edited one (instead of the selectors that were skipped when the gdt was extended), this wasn't really an issue so far, as all calls to this function did extend the GDT, which meant this condition was always false, but future calls to this function that will try to edit an existing entry would fail.
2022-01-04Kernel: Use enum instead of magic numbers for GDT descriptor typesIdan Horowitz
Some of the enum members were also renamed to reflect the fact that the segment sizes are not necessarily 32bit (64bit on x86_64).
2022-01-04LibC: Use NULL instead of nullptr in serenity.hIdan Horowitz
nullptr is a c++ keyword that can not be used in LibC headers.
2022-01-04Kernel: Make Thread::m_kernel_stack_region a NonnullOwnPtrIdan Horowitz
This OwnPtr is always non-null, so let's enforce it statically.
2022-01-04PixelPaint: Fix crash on applying with no filter selectedTobias Christiansen
The wrong conception that done() would stop the program flow right there lead to the lambda not properly aborting when no filter was selected. The ExecAborted would be processed and then the nullptr that was m_selected_filter would be happily dereferenced. This patch fixes that.
2022-01-04PixelPaint: Use the wrapped filters for the Filter GalleryTobias Christiansen
Now, the filters can supply the Filter Gallery with a GUI::Widget such that the user can interact with the filter. The Filter Gallery in turn only calls apply() on the filter once it should be run. This decouples the PixelPaint filters a lot from the ones supported by LibGfx and paves the way to filters with settings. For now there still are just the plain LibGfx filters so this change feels like introducing a lot of boilerplate, but in the future there will be a lot more to see.
2022-01-04PixelPaint: Create wrappers for all supported filtersTobias Christiansen
2022-01-04PixelPaint: Create Filter base classTobias Christiansen
All the filters will need a wrapper around them, and this is going to be their base class
2022-01-04PixelPaint: Add filter iconTobias Christiansen
I created this icon for a previous PR, but somehow didn't commit it.
2022-01-04PixelPaint: Extend Filter Gallery dialog to accommodate settingsTobias Christiansen
For now, the space is empty, but it's there.
2022-01-04LibJS: Implement Number.prototype.toExponentialTimothy Flynn
2022-01-04LibJS: Implement Number.prototype.toPrecisionTimothy Flynn
As noted in the prototype comments, this implementation becomes less accurate as the precision approaches the limit of 100. For example: (3).toPrecision(100) Should result in "3." followed by 99 "0"s. However, due to the loss of accuracy in the floating point computations, we currently result in "2.9999999...".
2022-01-04Kernel: Replace divide_rounded_up uses with ceil_div in Ext2FileSystemOwen Smith
This function was duplicated with ceil_div in AK.
2022-01-04unzip: Port to LibMainmjz19910
2022-01-04zip: Port to LibMain :^)mjz19910
2022-01-04LibCore: Impliment ErrorOr wrapper for chdirmjz19910
2022-01-04profile: Specify the /proc/profile path in the help messageMathieu PATUREL
2022-01-04profile: Don't print anything when disabling profilingMathieu PATUREL
Just like when enabling profiling. Plus it's more unixy to not print anything on success
2022-01-04Meta: Remove clang warnings with no violationsAndrew Kaster
At some point we probably needed these, but no code complains about them with the current state of the codebase.
2022-01-04SystemMonitor: Remove unused functions and enable warning globallyAndrew Kaster
These two helpers were the only unused functions clang could detect in the entire codebase. Now that's commitment to no dead code :^)
2022-01-04Userland: Resolve unused-but-set-varaible warningsAndrew Kaster
These are almost always bugs, so enable globally. Remove unused counter variables in SystemMonitor and disk_benchmark.
2022-01-04Userland: Resolve tautological-constant-out-of-range-compare warningsAndrew Kaster
Stop comparing platform-specific sized integer types to max() values of other interger types. Enable the warning everywhere.
2022-01-04Userland: Locally suppress -Wc99-designator and re-enable globallyAndrew Kaster
There's only two places where we're using the C99 feature of array designated initalizers. This feature seemingly wasn't included with C++20 designated initalizers for classes and structs. The only two places we were using this feature are suitably old and isolated that it makes sense to just suppress the warning at the usage sites while discouraging future array designated intializers in new code.
2022-01-04Userland: Resolve -Woverloaded-virtual in LibGUI and SoundPlayerAndrew Kaster
Enable the warning project-wide. It catches when a non-virtual method creates an overload set with a virtual method. This might cause surprising overload resolution depending on how the method is invoked.
2022-01-04Meta: Enable -Wexpansion-to-defined warning for ClangAndrew Kaster
The Clang implementation of this warning protects against some undefined pre-processor behavior while ignoring function-like macros. The gcc implementation also warns on function-like macros, and is therefore noisy.
2022-01-04Meta: Re-enable toolchain version checksAndrew Kaster
These were removed in the Superbuild conversion. Re-add the checks that make sure that if there's a toolchain update, developers re-build their toolchain.
2022-01-04Userland: Fail Core::find_executable_in_path on empty inputsAndrew Kaster
Before this patch, `which ""` or `type ""` would say that the empty string is `/usr/local/bin/`. Convert callers to consistently call is_empty() on the returned string while we're at it, to support eventually removing the is_null() String state in the future.
2022-01-04wc: Port to LibMainmjz19910
2022-01-04which: Port to LibMainmjz19910
2022-01-04wsctl: Port to LibMainmjz19910
2022-01-04xargs: Port to LibMainmjz19910
2022-01-04yes: Port to LibMainmjz19910
2022-01-04uname: Port to LibMainmjz19910