ladybird/UI/Qt
InvalidUsernameException 7c315ef67f Everywhere: Unify naming of RGBA-like colors
The `Bitmap` type was referring to to its internal pixel format by a
name that represents the order of the color components as they are layed
out in memory. Contrary, the `Color` type was using a naming that where
the name represents the order of the components from most to least
significant byte when viewed as a unsigned 32bit integer. This is
confusing as you have to keep remembering which mental model to use
depending on which code you work with.

To unify the two, the naming of RGBA-like colors in the `Color` type has
been adjusted to match the one from the Bitmap type. This seems to be
generally in line with how web APIs think about these types:
* `ImageData.pixelFormat` can be `rgba-8unorm` backed by a
  `Uint8ClamedArray`, but there is no pixel format backed by a 32bit
  unsigned type.
* WebGL can use format `RGBA` with type `UNSIGNED_BYTE`, but there is no
  such format with type `UNSIGNED_INT`.

Additionally, it appears that other browsers and browser-adjacent
libraries also think similarly about these types:
* Firefox:
  https://github.com/mozilla-firefox/firefox/blob/main/gfx/2d/Types.h
* WebKit:
  https://github.com/WebKit/WebKit/blob/main/Source/WebCore/platform/graphics/PixelFormat.h
* Skia:
  https://chromium.googlesource.com/skia/+/refs/heads/main/include/core/SkColorType.h

This has the not so nice side effect that APIs that interact with these
types through 32bit unsigned integers now have the component order
inverted due to little-endian byte order. E.g. specifying a color as hex
constant needs to be done as `0xAABBGGRR` if it is to be treated as
RGBA8888.

We could alleviate this by providing endian-independent APIs to callers.
But I suspect long-term we might want to think differently about bitmap
data anyway, e.g. to better support HDR in the future. However, such
changes would be more involved than just unifying the naming as done
here. So I considered that out of scope for now.
2025-11-28 18:32:48 +01:00
..
Application.cpp LibWebView+UI: Pass RequestServerOptions to Application implementations 2025-11-20 09:33:49 +01:00
Application.h LibWebView+UI: Pass RequestServerOptions to Application implementations 2025-11-20 09:33:49 +01:00
Autocomplete.cpp UI/Qt: Migrate to LibWebView's autocomplete engine 2025-04-02 08:52:45 -04:00
Autocomplete.h UI/Qt: Migrate to LibWebView's autocomplete engine 2025-04-02 08:52:45 -04:00
BrowserWindow.cpp LibWebView+UI: Generate the entire Inspect menu 2025-09-18 07:27:24 -04:00
BrowserWindow.h LibWebView+UI: Generate action to enable/disable DevTools 2025-09-18 07:27:24 -04:00
CMakeLists.txt CMake: Specify no translations for Qt deploy script on Windows 2025-11-03 13:23:47 -05:00
FindInPageWidget.cpp Everywhere: Move the Ladybird folder to UI 2024-11-10 12:50:45 +01:00
FindInPageWidget.h UI/Qt: Clean up some manual forward declarations 2025-09-11 14:23:45 -04:00
Icon.cpp Everywhere: Unify naming of RGBA-like colors 2025-11-28 18:32:48 +01:00
Icon.h Everywhere: Move the Ladybird folder to UI 2024-11-10 12:50:45 +01:00
ladybird.qrc Everywhere: Move the Ladybird folder to UI 2024-11-10 12:50:45 +01:00
LocationEdit.cpp LibWebView: Do not use AK::format to format search engine URLs 2025-04-06 13:45:10 +02:00
LocationEdit.h UI/Qt: Migrate to LibWebView's autocomplete engine 2025-04-02 08:52:45 -04:00
main.cpp Everywhere: Rename serenity_main to ladybird_main 2025-07-08 09:17:16 -04:00
Menu.cpp LibWebView+UI: Remove some now-superfluous debug menu items 2025-11-12 09:06:21 -05:00
Menu.h LibWebView+UI: Add structures to hold context menu and action data 2025-09-11 14:23:45 -04:00
Settings.cpp LibWeb+LibWebView+UI: Migrate to LibWebView's language settings 2025-04-04 10:16:32 +02:00
Settings.h UI/Qt: Remove unused/undefined declaration from Qt settings 2025-09-16 10:38:20 +02:00
StringUtils.cpp LibWeb+LibWebView+WebContent+UI: Port the document title to UTF-16 2025-08-02 10:10:14 -07:00
StringUtils.h LibWeb+LibWebView+WebContent+UI: Port the document title to UTF-16 2025-08-02 10:10:14 -07:00
Tab.cpp LibWebView+UI: Move clipboard handling from the WebView to the App 2025-09-19 06:38:52 -04:00
Tab.h LibWebView+UI: Generate the zoom menu 2025-09-11 14:23:45 -04:00
TabBar.cpp UI/Qt: Add a couple of missing includes 2025-04-02 08:52:45 -04:00
TabBar.h Everywhere: Move the Ladybird folder to UI 2024-11-10 12:50:45 +01:00
TVGIconEngine.cpp LibGfx: Let Painter care about TinyVG transforms 2024-12-14 23:29:43 +01:00
TVGIconEngine.h UI/Qt: Store TVG Image Data in a RefPtr to const 2025-04-16 10:41:44 -06:00
WebContentView.cpp Everywhere: Unify naming of RGBA-like colors 2025-11-28 18:32:48 +01:00
WebContentView.h LibWebView+UI: Add an Application method to open a URL in a new tab 2025-09-18 07:27:24 -04:00