Age | Commit message (Collapse) | Author |
|
There is a significant difference between the PC keyboard
mapping and the Macintosh mapping in Norwegian.
|
|
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
|
|
This allows you to specify a luminosity range, all pixels that fall
outside this range are set to black, the others are untouched.
|
|
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).
|
|
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.
|
|
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.
|
|
|
|
This was not updated when the Menu button was added.
|
|
|
|
|
|
|
|
On some systems the ACPI RSDP table may be located in ACPI reserved
memory ranges rather than in the EBDA or BIOS areas.
|
|
If the length of the prefix was less than the chunk_size argument
we were potentionally reading past the mapped memory region.
|
|
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.
|
|
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".
|
|
Fixes an aarch64 build failure.
|
|
This is not actually required by the specification, but it means we
will take the aligned fast-path in QEMU.
|
|
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.
|
|
Some of the enum members were also renamed to reflect the fact that the
segment sizes are not necessarily 32bit (64bit on x86_64).
|
|
nullptr is a c++ keyword that can not be used in LibC headers.
|
|
This OwnPtr is always non-null, so let's enforce it statically.
|
|
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.
|
|
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.
|
|
|
|
All the filters will need a wrapper around them, and this is going to be
their base class
|
|
I created this icon for a previous PR, but somehow didn't commit it.
|
|
For now, the space is empty, but it's there.
|
|
|
|
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...".
|
|
This function was duplicated with ceil_div in AK.
|
|
|
|
|
|
|
|
|
|
Just like when enabling profiling. Plus it's more unixy to not print
anything on success
|
|
At some point we probably needed these, but no code complains about them
with the current state of the codebase.
|
|
These two helpers were the only unused functions clang could detect in
the entire codebase. Now that's commitment to no dead code :^)
|
|
These are almost always bugs, so enable globally.
Remove unused counter variables in SystemMonitor and disk_benchmark.
|
|
Stop comparing platform-specific sized integer types to max() values of
other interger types. Enable the warning everywhere.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|