summaryrefslogtreecommitdiff
path: root/Userland/Applications/PixelPaint
AgeCommit message (Collapse)Author
2022-01-01PixelPaint: Move all filters into the Filter GalleryTobias Christiansen
2022-01-01PixelPaint: Expand Filter Gallery to know how to apply filtersTobias Christiansen
2022-01-01PixelPaint: Make the ImageEditor known throughout the Filter GalleryTobias Christiansen
2022-01-01PixelPaint: Add Filter Gallery Dialog to the Filter MenuTobias Christiansen
This patch adds the bare bones of the new Filter Gallery. For now, only the gml and the basic layout got added, a fairly boringw indow pops up when "Filter Gallery" is called. The code for the Model used by the TreeView is taken in large parts from HackStudio's VariableModel.
2021-12-30Everywhere: Use 'decrease_slider_by()' method from AbstractSliderElyse
The same idea as 'increase_slider_by()', it helps us to avoid repeating the pattern 'set_value(value() - delta)'.
2021-12-30Everywhere: Use 'increase_slider_by()' method from AbstractSliderElyse
This method help us to avoid repeating the pattern 'set_value(value() + delta)'.
2021-12-21PixelPaint: Refactor falloff computation and extend hardness ranger00ster91
2021-12-12Userland: Use File::lines() range-based for loop where appropriateSahan Fernando
2021-11-28Everywhere: Use default execpromises argument for Core::System::pledgeBrian Gianforcaro
2021-11-27PixelPaint: Keep a RefPtr to offset_text_box in EditGuideDialogMarcus Nilsson
Keep a RefPtr to offset_text_box in EditGuideDialog instead of using a local pointer. Previously the lambda in ok_button.on_click() would outlive the local variable causing a crash.
2021-11-23LibCore+AK: Move MappedFile from AK to LibCoreAndreas Kling
MappedFile is strictly a userspace thing, so it doesn't belong in AK (which is supposed to be user/kernel agnostic.)
2021-11-23LibCore+LibSystem: Move syscall wrappers from LibSystem to LibCoreAndreas Kling
With this change, System::foo() becomes Core::System::foo(). Since LibCore builds on other systems than SerenityOS, we now have to make sure that wrappers work with just a standard C library underneath.
2021-11-22Everywhere: Use Application::construct() with Main::Arguments directlyMustafa Quraish
Use the updated API everywhere we are currently manually passing in `arguments.argc` and `arguments.argv`.
2021-11-22Everywhere: Use ArgsParser::parse() with Main::Arguments directlyMustafa Quraish
Use the updated API everywhere we are currently manually passing in `arguments.argc` and `arguments.argv`.
2021-11-22PixelPaint: Port to LibMainPascal Puffke
2021-11-22PixelPaint: Use better-fitting image sizeBen Wiederhake
This makes the default image fit perfectly into the default viewport, which means the first fit_image_to_view call will end up with a scale of exactly 1. This scale level has no visual artifacts, which is the more intuitive 'default' behavior. Fixes #10975.
2021-11-22PixelPaint: Add interactive zoom ComboBox to toolbarBen Wiederhake
Before, there was nothing that tells the user the current zoom level, which is unknown after a 'fit to image' (the initial state).
2021-11-22PixelPaint: Add ability to fit to either width, height, or imageBen Wiederhake
2021-11-22PixelPaint: Allow setting ImageEditor scale and listening for changesBen Wiederhake
2021-11-22PixelPaint: Floor effective viewport size to whole integersBen Wiederhake
We don't have fractional pixels available, so don't attempt to use them.
2021-11-21LibGUI+Everywhere: Make sync requests to Clipboard server more obviousBen Wiederhake
2021-11-21LibGUI: Make clipboard-as-bitmap parsing less data-race-yBen Wiederhake
This encourages the caller to first fetch data and type atomically, and then parse that, instead of potentially making multiple requests.
2021-11-20PixelPaint: Allow toggling the active layer boundary display rectAndreas Kling
Let the user opt out of painting a rectangle around the currently active layer.
2021-11-17AK: Make JSON parser return ErrorOr<JsonValue> (instead of Optional)Andreas Kling
Also add slightly richer parse errors now that we can include a string literal with returned errors. This will allow us to use TRY() when working with JSON data.
2021-11-11Everywhere: Pass AK::StringView by valueAndreas Kling
2021-11-08PixelPaint: Use ErrorOr<T> for Image and Layer creation helpersAndreas Kling
2021-11-08PixelPaint: Use ErrorOr<T> for Image::try_compose_bitmap()Andreas Kling
2021-11-08PixelPaint: Use ErrorOr<T> for Image writing/exporting functionsAndreas Kling
2021-11-08LibCore: Use ErrorOr<T> for Core::File::open()Andreas Kling
2021-11-08AK: Use ErrorOr<T> for MappedFile factoriesAndreas Kling
Replace Result<T, E> with ErrorOr<T> and propagate the error to callers.
2021-11-08LibGfx: Use ErrorOr<T> for Bitmap::try_create()Andreas Kling
Another one that was used in a fajillion places.
2021-11-08LibGfx: Use ErrorOr<T> for Bitmap::try_load_from_file()Andreas Kling
This was used in a lot of places, so this patch makes liberal use of ErrorOr<T>::release_value_but_fixme_should_propagate_errors().
2021-11-08LibGfx: Use ErrorOr<T> for Bitmap::cropped()Andreas Kling
2021-11-08LibGfx: Use ErrorOr<T> for Bitmap::flipped()Andreas Kling
2021-11-08LibGfx: Use ErrorOr<T> for Bitmap::rotated()Andreas Kling
2021-11-08LibGfx: Use ErrorOr<T> for Bitmap::clone()Andreas Kling
2021-11-03Applications: Remove border from GroupBox marginsFrHun
2021-11-02Applications: Fix visibility of Object-derivative constructorsBen Wiederhake
Derivatives of Core::Object should be constructed through ClassName::construct(), to avoid handling ref-counted objects with refcount zero. Fixing the visibility means that misuses like this are more difficult.
2021-11-02PixelPaint: Map color_distance_squared from 0 to 1Musab Kılıç
2021-10-31PixelPaint: Use a bucket cursor for the Bucket toolMarco Cutecchia
2021-10-31PixelPaint: Support using a bitmap as a tool's cursorMarco Cutecchia
2021-10-27Everywhere: Rename left/right-click to primary/secondaryFiliph Sandström
This resolves #10641.
2021-10-24PixelPaint: Move Mask::{get, set, to_index} to the header fileIdan Horowitz
They were previously taking up 9% of samples in a profile of PixelPaint while selecting a mask, and as a result of moving them to the header they were inlined, which effectively eliminated them from the profile.
2021-10-23AK+Everywhere: Make Base64 decoding fallibleBen Wiederhake
2021-10-16PixelPaint: Create an empty layer when the last layer is removedFelix Rauch
Previously, when the last layer got deleted, the active layer was set to nullptr, causing a crash. Now, we create a new transparent background layer with the image dimensions instead.
2021-10-07PixelPaint: Close tab now prompts for a saveAlex Major
2021-10-07PixelPaint: Use reorderable tabsLuke Wilde
2021-10-05PixelPaint: Fix first undo action not workingMarco Cutecchia
2021-10-05PixelPaint: Ensure a layer is selected when restoring a snapshotMarco Cutecchia
Previously when restoring the starting snapshot in the UndoStack we would end up with no layer selected, which was kinda annoying
2021-10-02PixelPaint: Correctly offset stroke position for even thicknessesGal Horowitz