Commit graph

40735 commits

Author SHA1 Message Date
Linus Groh
4abb4317aa Meta: Add frhun to the contributors list :^) 2022-09-04 20:05:04 +01:00
FrHun
00acf56e94 LibGUI: Add Widgets before the ResizeCorner by default in Statusbar
Before this, any Widgets added through e.g. GML appeared after the
ResizeCorner, which didn't make sense. (see FileManager)
2022-09-04 20:01:43 +01:00
Jesse Buhagiar
8df09f6e13 Utilities/lsusb: Fix uninitialized variable error
The variable `print_verbose` (which prints verbose information about the
USB devices connected to the system) was uninitialized in `lsusb`. This
was causing the verbose information to be printed if `-v` was NOT seen
on the command line.
2022-09-04 13:26:05 -04:00
Xexxa
7661b8ca02 Base: Add more emoji
👂 - U+1F442 EAR
👃 - U+1F443 NOSE
🎅 - U+1F385 SANTA CLAUS
🏃 - U+1F3C3 PERSON RUNNING
🏌️ - U+1F3CC PERSON GOLFING
🏊 - U+1F3CA PERSON SWIMMING
🏋️ - U+1F3CB PERSON LIFTING WEIGHTS
🐽 - U+1F43D PIG NOSE
🐾 - U+1F43E PAW PRINTS
🐳 - U+1F433 SPOUTING WHALE
🐋 - U+1F40B WHALE
🐬 - U+1F42C DOLPHIN
🐚 - U+1F41A SPIRAL SHELL
🐛 - U+1F41B BUG
🏭 - U+1F3ED FACTORY
🏰 - U+1F3F0 CASTLE
🏏 - U+1F3CF CRICKET GAME
🎿 - U+1F3BF SKIS
🎚️ - U+1F39A LEVEL SLIDER
🎛️ - U+1F39B CONTROL KNOBS
💿 - U+1F4BF OPTICAL DISK
📀 - U+1F4C0 DVD
🎞️ - U+1F39E FILM FRAMES
2022-09-04 08:00:07 +01:00
electrikmilk
6dd7a536c6 Base: Improve 1 emoji
 - U+264B CANCER
2022-09-03 21:10:05 +01:00
electrikmilk
f171cfaa0e Base: Add 24 new emojis
💟 - U+1F49F HEART DECORATION
🚺 - U+1F6BA WOMEN’S ROOM
🛐 - U+1F6D0 PLACE OF WORSHIP
⚛️ - U+269B ATOM SYMBOL
🕉 - U+1F549 OM (unqualified)
✡️ - U+2721 STAR OF DAVID
☸️ - U+2638 WHEEL OF DHARMA
☯️ - U+262F YIN YANG
✝️ - U+271D LATIN CROSS
☦️ - U+2626 ORTHODOX CROSS
☪️ - U+262A STAR AND CRESCENT
☮️ - U+262E PEACE SYMBOL
🔯 - U+1F52F DOTTED SIX-POINTED STAR
 - U+2648 ARIES
 - U+2649 TAURUS
 - U+264A GEMINI
 - U+264C LEO
 - U+264D VIRGO
 - U+264E LIBRA
 - U+264F SCORPIO
 - U+2650 SAGITTARIUS
 - U+2652 AQUARIUS
 - U+2653 PISCES
 - U+26CE OPHIUCHUS
2022-09-03 21:10:05 +01:00
Xexxa
dacd7baf0b Base: Add more emoji
🧞 - U+1F9DE GENIE
🐤 - U+1F424 BABY CHICK
🐢 - U+1F422 TURTLE
🎢 - U+1F3A2 ROLLER COASTER
🏀 - U+1F3C0 BASKETBALL
🎮 - U+1F3AE VIDEO GAME
🎥 - U+1F3A5 MOVIE CAMERA
🪙 - U+1FA99 COIN
🪃 - U+1FA83 BOOMERANG
🧯 - U+1F9EF FIRE EXTINGUISHER
2022-09-03 20:53:07 +01:00
Joel Hansen
9ff54648ca Base: Add 11 new emoji
🎱 - U+1F3B1 Pool 8 Ball
💭 - U+1F4AD Thought Balloon
🌼 - U+1F33C Blossom
🍚 - U+1F35A Cooked Rice
🍬 - U+1F36C Candy
🌐 - U+1F310 Globe with Meridians
🌸 - U+1F338 Cherry Blossom
🍁 - U+1F341 Maple Leaf
🍦 - U+1F366 Soft Ice Cream
🐦 - U+1F426 Bird
🥣 - U+1F963 Bowl with Spoon
2022-09-03 20:51:07 +01:00
kleines Filmröllchen
c1c2e6f7d7 PixelPaint: Introduce a vectorscope
Vectorscopes are a standard tool in professional video/film color
grading. *Very* simply, the Vectorscope shows image colors with hue as
the angle and saturation as the radius; brightness for each point in the
scope is determined by the number of "color vectors" at that point. More
specifically, the Vectorscope shows a 2D UV histogram of the image,
where U and V are the chroma ("color") channels of the image.

Co-authored-by: MacDue <macdue@dueutil.tech>
2022-09-03 16:57:37 +01:00
MacDue
f9b08272db LibGfx: Add AntiAliasingPainter::fill_rect
This function is able to draw rectangles of floating-point pixel
precision.
2022-09-03 16:57:37 +01:00
kleines Filmröllchen
049c1a536c LibGfx: Add saturation modification functions to Color
This operates via the HSV color space; I'm not 100% sure whether the
conversions are lossless.
2022-09-03 16:57:37 +01:00
kleines Filmröllchen
5bb277d9ec LibGfx: Add YUV conversion functions to Color 2022-09-03 16:57:37 +01:00
kleines Filmröllchen
ac23b806a2 LibGfx: Make Color::set_alpha constexpr 2022-09-03 16:57:37 +01:00
kleines Filmröllchen
e6f20f27d8 PixelPaint: Invoke the modified_change callback when layers change
This propagates layer edits as well as undo stack operations to whoever
needs to perform updates when the image changes.
2022-09-03 16:57:37 +01:00
kleines Filmröllchen
fe88fd22fa PixelPaint: Extract common scope code into a generic ScopeWidget
When we add more scopes, this will facilitate code sharing.
2022-09-03 16:57:37 +01:00
kleines Filmröllchen
8b60305698 PixelPaint: Specify histogram height in GML
The histogram is perfectly fine with being drawn at any size, but the
code currently fixes its height to 65. Once the histogram is in a
subclass and several GML things around it change, the fixed height
breaks, so we move the height specification to GML. Additionally, the
container is specified to shrink as much as possible, alleviating a
hard-coded UI size. The user can now change histogram height in GML,
which is a lot more obvious.
2022-09-03 16:57:37 +01:00
Veronika Horáčků
b2203e6417 Keymaps: Improve cs-cz and cs-cz-qwertz keymaps
Fixes the semicolon button and AltGr+ů, which now outputs $.
2022-09-03 12:29:11 +01:00
kleines Filmröllchen
c91511b883 Meta+Tests: Allow running FLAC spec tests
The FLAC "spec tests", or rather the test suite by xiph that exercises
weird FLAC features and edge cases, can be found at
https://github.com/ietf-wg-cellar/flac-test-files and is a good
challenge for our FLAC decoder to become more spec compliant. Running
these tests is similar to LibWasm spec tests, you need to pass
INCLUDE_FLAC_SPEC_TESTS to CMake.

As of integrating these tests, 23 out of 63 fail. :yakplus:
2022-09-02 23:54:50 +01:00
Veronika Horáčků
6587638ffe Toolchain: Update Dockerfile to ubuntu:22.10 2022-09-02 23:50:49 +01:00
Andreas Kling
7fce5f102f LibJS: Don't use a Handle<Realm> in FinalizationRegistry
Instead just treat it like a normal GC cell edge.
2022-09-03 00:36:26 +02:00
Andreas Kling
63cc2650e3 LibJS: Make Handle<T> more user-friendly
Allow *handle, !handle, handle.ptr(), assignment from compatible
pointer types, etc. This is in preparation for using Handles in
more generated code.
2022-09-03 00:36:26 +02:00
Andreas Kling
01828edd37 LibJS: Add Cell::Visitor::visit(Cell&) 2022-09-03 00:36:26 +02:00
Andreas Kling
e34e21367e LibJS: Add GCPtr and NonnullGCPtr
These are two new smart pointers that are really just raw pointers under
the hood. The initial benefit is all in the names, they allow us to
declare that we're pointing at something in the GC heap.

Later we may also find ways to add debugging logic or static analysis to
these types.
2022-09-03 00:36:26 +02:00
Andreas Kling
53c0038d2c AK: Make Weakable non-atomic
Let's not punish single-threaded workloads with the performance cost of
atomic weakables. The kernel keeps using LockWeakable.
2022-09-03 00:36:25 +02:00
Liav A
159f9688dc Meta: Use correct boot device selections when using GRUB images 2022-09-02 23:36:08 +01:00
Liav A
94e39308e3 Meta: Remove an unnecessary instance of AHCI controller in the Q35 setup
We don't need this AHCI controller to be present as we already have one
in the Q35 machine. This will help using the correct boot device in GRUB
setups later on.
2022-09-02 23:36:08 +01:00
demostanis
c56cbf8027 CMake: Quote all CMAKE_COMMAND occurences
Building might fail if the cmake command path contains
whitespace. See https://stackoverflow.com/a/35853080.
2022-09-02 23:34:47 +01:00
Laco Papay
65dff8656e Base: Add emoji flags for Slovakia and Slovenia
Doing these together since (like the names) the flags are similar,
especially at this 7x10 scale and I wanted to make sure they can be
disginguished. I hope our Slovenian friends will like it.

Made inside Serenity using pp :^)
2022-09-02 23:32:55 +01:00
Karol Kosek
652870c178 LibGfx: Ignore incorrect .font files when building the Font Database
Previously every GUI application would crash if we had an incorrect (or
empty) .font file in /res/fonts.
2022-09-03 00:07:53 +02:00
Jelle Raaijmakers
6af184b48b Ports: Support SDL_WINDOWEVENT_CLOSE in SDL2
This allows PrBoom+ to properly quit the application when closing the
main window.
2022-09-03 00:07:24 +02:00
Jelle Raaijmakers
180effa8ac Ports: Add PrBoom+
Music (MIDI) works through TiMidity++ and OpenGL support works, but is
still very buggy. Sometimes PrBoom+ fails to load its own configuration
file, which can be worked around by deleting it.
2022-09-03 00:07:24 +02:00
Jelle Raaijmakers
808e0c9b17 Ports: Add TiMidity++
Also add it as a dependency for the `SDL_mixer` and `SDL2_mixer` ports.

Eawpats GUS patches are installed as part of the port, because without
patches TiMidity++ is not able to generate any sound. The license for
these is "fameware", credit to Andrew Suffield:

  https://lists.debian.org/debian-legal/2002/09/msg00137.html
2022-09-03 00:07:24 +02:00
Jelle Raaijmakers
8ab410a536 LibGL: Implement glGetTexImage
The plumbing was already there in LibGPU, so all that was left was to
implement the API :^)
2022-09-03 00:07:24 +02:00
Jelle Raaijmakers
4f69022c32 LibGL: Correct GL_BLEND_*_ALPHA constant values
They were plain wrong; while we're here, also add the `*_EXT` variants.
2022-09-03 00:07:24 +02:00
Jelle Raaijmakers
f08411ba3f LibGL: Improve constants and types compatibility
When compiling with SDL_opengl, all kinds of differences between LibGL
and OpenGL constants and types popped up as redefinition warnings and
errors.

This fixes all LibGL-related warnings when compiling PrBoom+ :^)
2022-09-03 00:07:24 +02:00
thankyouverycool
4d090487ac LibGUI: Stop auto repeat timer for Buttons on EnabledChange events
Since 5064b58 SpinBox buttons are disabled if value reaches the
min or max allowed. Consequently this swallows the final MouseUp
event, leaving the repeat timer running. Fixes SpinBoxes
{dec,inc}rementing their value in perpetuity after min/max value
is reached through button clicking.
2022-09-03 00:07:06 +02:00
Linus Groh
486775f9fe LibJS: Fix incorrect check in ValidateAndApplyPropertyDescriptor
This is an editorial change in the ECMA-262 spec.

See: https://github.com/tc39/ecma262/commit/f0e4ae8
2022-09-02 22:47:28 +01:00
Linus Groh
455537d31d LibJS: Assert Proxy target is a function in [[Call]] and [[Construct]]
As the TODOs suggested for a long time. :^)
2022-09-02 22:44:44 +01:00
Humberto Alves
fb5a39498a Ports/python3: Make pip work
Add two patches to allow Python's package manager to work on Serenity:

- The first one enables zlib module, which is needed for `ensurepip`
  command;
- The second patch fixes pip downloads, so it's possible to install
  packages from the PyPI repository.
2022-09-02 14:03:24 +01:00
electrikmilk
723a22fa5d Base: Improve and correct emojis
🐞 - U+1F41E LADY BEETLE
🧪 - U+1F9EA TEST TUBE
🇮🇶 - U+1F1EE U+1F1F6 FLAG: IRAQ
2022-09-02 11:40:50 +01:00
electrikmilk
4de722eb9e Base: Add 13 new emojis
🧠 - U+1F9E0 BRAIN
🧇 - U+1F9C7 WAFFLE
🧂 - U+1F9C2 SALT
🥧 - U+1F967 PIE
🧊 - U+1F9CA ICE
🧭 - U+1F9ED COMPASS
⛩ - U+26E9 SHINTO SHRINE
🛢 - U+1F6E2 OIL DRUM
🪄 - U+1FA84 MAGIC WAND
🩻 - U+1FA7B X-RAY
🪞 - U+1FA9E MIRROR
🇦🇺 - U+1F1E6 U+1F1FA FLAG: AUSTRALIA
🇮🇹 - U+1F1EE U+1F1F9 FLAG: ITALY
2022-09-02 11:40:50 +01:00
Xexxa
72a812a0c3 Base: Add more emoji
💫 - U+1F4AB DIZZY
💨 - U+1F4A8 DASHING AWAY
👤 - U+1F464 BUST IN SILHOUETTE
👥 - U+1F465 BUSTS IN SILHOUETTE
🦇 - U+1F987 BAT
🦈 - U+1F988 SHARK
🐝 - U+1F41D HONEYBEE
🥀 - U+1F940 WILTED FLOWER
🦀 - U+1F980 CRAB
🦑 - U+1F991 SQUID
🥂 - U+1F942 CLINKING GLASSES
🚒 - U+1F692 FIRE ENGINE
🚔 - U+1F694 ONCOMING POLICE CAR
 - U+26F5 SAILBOAT
🛎️ - U+1F6CE BELLHOP BELL
 - U+231A WATCH
🌠 - U+1F320 SHOOTING STAR
🥉 - U+1F949 3RD PLACE MEDAL
🥊 - U+1F94A BOXING GLOVE
👔 - U+1F454 NECKTIE
🧦 - U+1F9E6 SOCKS
💄 - U+1F484 LIPSTICK
🥁 - U+1F941 DRUM
📠 - U+1F4E0 FAX MACHINE
 - U+2753 RED QUESTION MARK
 - U+2754 WHITE QUESTION MARK
 - U+2755 WHITE EXCLAMATION MARK
 - U+2757 RED EXCLAMATION MARK
2022-09-02 02:11:58 +01:00
Xexxa
24e7a6eca8 Base: Improve emoji
More similar in style to U+203C:
⁉️ - U+2049 EXCLAMATION QUESTION MARK

Add transparency:
📧 - U+1F4E7 E-MAIL
📨 - U+1F4E8 INCOMING ENVELOPE
📩 - U+1F4E9 ENVELOPE WITH ARROW

No joy in a joystick without an action-button!
🕹️ - U+1F579 JOYSTICK
2022-09-02 02:11:58 +01:00
davidot
9f661d20f7 LibJS: Allow anonymous functions as default exports
This requires a special case with names as the default function is
supposed to have a unique name ("*default*" in our case) but when
checked should have name "default".
2022-09-02 02:07:37 +01:00
davidot
0fc67ffd62 LibJS: Make indirect bindings of module behave like normal bindings
Before this we attempted to hack around this by only overriding
has_binding. However this did not cover all cases, for example when
assigning to variables before their declaration it didn't throw.
By using the new find_binding_and_index virtual method we can just
pretend the indirect bindings are real.

Since indirect binding do come from a normal environment we need to
ensure you cannot modify the binding and that properties like mutable
are false as expected by the spec for such an indirect binding.
2022-09-02 02:07:37 +01:00
davidot
2484bbc4e0 LibJS: Make DeclarativeEnvironment based on bindings instead of indices
This will allow other environments which extend DeclarativeEnvironment
to provide their own custom bindings.
2022-09-02 02:07:37 +01:00
davidot
faf1430ce4 LibJS: Allow exporting any imported bindings 2022-09-02 02:07:37 +01:00
davidot
462c6df24b LibJS: Only check for duplicate exports if they have a name
Together with removing an incorrect VERIFY this allows multiple star
imports in a single module.
2022-09-02 02:07:37 +01:00
davidot
3b56043612 LibJS: Put exports before symbols in keys of module namespace object 2022-09-02 02:07:37 +01:00
davidot
fb61e9274a LibJS: Call resolve instead of reject in AsyncFromSyncIteratorPrototype 2022-09-02 02:07:37 +01:00