1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-05 15:17:36 +00:00
serenity/Userland/Applications/PixelPaint/Tools
Aaron J Yoder 9a07f9cdac PixelPaint: Speed up and improve memory usage of bucket fill tool
This algorithm utilizes a modified scanline method that takes advantage
of the fact that if you are filling rows starting from the top left and
going right, you do not need to check pixels very often except in
certain cases such as at the beginning or end of a row.

There are some tests on top of this that ensure correct filling in all
other cases. This leads to much-improved speed compared to the
4-directional queue method, and no heap allocations.
2022-06-08 21:53:06 +01:00
..
BrushTool.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
BrushTool.h Applications: Use default constructors/destructors 2022-02-14 22:06:55 +00:00
BucketTool.cpp PixelPaint: Speed up and improve memory usage of bucket fill tool 2022-06-08 21:53:06 +01:00
BucketTool.h Applications: Use default constructors/destructors 2022-02-14 22:06:55 +00:00
CloneTool.cpp PixelPaint: Inherit from AbstractZoomPanWidget 2022-01-14 01:02:34 +01:00
CloneTool.h PixelPaint: Support using a bitmap as a tool's cursor 2021-10-31 12:37:49 +01:00
EllipseTool.cpp PixelPaint: Enable antialiased option for outline ellipsis 2022-06-01 19:33:45 +02:00
EllipseTool.h PixelPaint: Enable antialiased option for outline ellipsis 2022-06-01 19:33:45 +02:00
EraseTool.cpp Applications: Use default constructors/destructors 2022-02-14 22:06:55 +00:00
EraseTool.h Applications: Use default constructors/destructors 2022-02-14 22:06:55 +00:00
GuideTool.cpp LibGUI+Userland: Make Dialog::ExecResult an enum class 2022-05-13 16:27:43 +02:00
GuideTool.h Applications: Use default constructors/destructors 2022-02-14 22:06:55 +00:00
LineTool.cpp PixelPaint: Add option for antialiased lines 2022-06-02 13:20:27 +02:00
LineTool.h PixelPaint: Add option for antialiased lines 2022-06-02 13:20:27 +02:00
MoveTool.cpp Applications: Use default constructors/destructors 2022-02-14 22:06:55 +00:00
MoveTool.h Applications: Use default constructors/destructors 2022-02-14 22:06:55 +00:00
PenTool.cpp Applications: Use default constructors/destructors 2022-02-14 22:06:55 +00:00
PenTool.h Applications: Use default constructors/destructors 2022-02-14 22:06:55 +00:00
PickerTool.cpp PixelPaint: Use the currently_edited_bitmap in the Tools 2022-03-08 22:07:12 +01:00
PickerTool.h Applications: Use default constructors/destructors 2022-02-14 22:06:55 +00:00
RectangleSelectTool.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
RectangleSelectTool.h Applications: Use default constructors/destructors 2022-02-14 22:06:55 +00:00
RectangleTool.cpp PixelPaint: Add rounded rectangles (both with/without antialiasing) 2022-06-02 13:20:27 +02:00
RectangleTool.h PixelPaint: Add rounded rectangles (both with/without antialiasing) 2022-06-02 13:20:27 +02:00
SprayTool.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
SprayTool.h Applications: Use default constructors/destructors 2022-02-14 22:06:55 +00:00
Tool.cpp Applications: Use default constructors/destructors 2022-02-14 22:06:55 +00:00
Tool.h Applications: Use default constructors/destructors 2022-02-14 22:06:55 +00:00
ZoomTool.cpp Applications: Use default constructors/destructors 2022-02-14 22:06:55 +00:00
ZoomTool.h Applications: Use default constructors/destructors 2022-02-14 22:06:55 +00:00