ladybird/Userland/Applications
Mustafa Quraish fbfa6543ab PixelPaint: Reoriganize drawing in BrushTool to allow more code reuse
The BrushTool is very cool, but it doesn't allow us to re-use any
of the code in other classes. Many of the other tools have duplicated
code for handling mouse events / keeping track of previous location,
etc.

This commit sets up BrushTool so that other tools can inherit from
it and override some virtual functions to allow similar behavior
without re-writing the code to keep track of mouse positions, etc.
In particular, we add public setters/getters for `size` and
`hardness` properties, and make `draw_point()` and `draw_line()`
virtual so that derived classes can override them.

Note: We still pass in `color` as a parameter for `draw_line()` and
`draw_point()` instead of using `color_for()` directly because it
doesn't really make sense to be constantly asking the ImageEditor
for the color when it's not really changing (for instance along all
the points of a line)
2021-09-09 11:35:50 +02:00
..
3DFileViewer 3DFileViewer: Use unveil and FileSystemAccessServer 2021-09-09 02:34:29 +02:00
About About: Display the full version 2021-09-02 16:17:18 +01:00
AnalogClock
Assistant Assistant: Fix lockfile logic 2021-09-08 10:53:49 +02:00
Browser LibWeb: Rename InitialContainingBlockBox => InitialContainingBlock 2021-09-08 11:27:46 +02:00
Calculator
Calendar
CrashReporter
Debugger Everywhere: Use OOM-safe ByteBuffer APIs where possible 2021-09-06 01:53:26 +02:00
DisplaySettings DisplaySettings: Add context menu for wallpapers 2021-09-03 23:15:47 +02:00
FileManager Everywhere: Use my shiny new serenityos.org email :^) 2021-09-03 12:22:36 +02:00
FontEditor FontEditor: Don't loop over all glyphs to find selected one 2021-09-06 14:01:24 +04:30
Help Userland: Migrate to argument-less deferred_invoke 2021-09-02 03:47:47 +04:30
HexEditor Everywhere: Make ByteBuffer::{create_*,copy}() OOM-safe 2021-09-06 01:53:26 +02:00
ImageViewer Everywhere: Make ByteBuffer::{create_*,copy}() OOM-safe 2021-09-06 01:53:26 +02:00
KeyboardMapper Keyboard Mapper: Better text color for buttons in dark theme 2021-09-06 17:38:59 +02:00
KeyboardSettings KeyboardSettings: Use LibConfig intead of Core::ConfigFile 2021-08-31 17:00:41 +02:00
Magnifier Magnifier: Remove unnecessary global cursor tracking 2021-09-08 10:53:49 +02:00
Mail LibIMAP: Stop leaking a Core::Promise<bool> in IMAP::Client::connect() 2021-09-01 23:02:18 +02:00
MailSettings
MouseSettings Userland: Use Rect::centered_within() where useful 2021-08-31 01:35:08 +02:00
PDFViewer PDFViewer: Use FileSystemAccessClient to open files 2021-09-04 03:32:30 +02:00
Piano Piano: Format slider values when initially set 2021-09-04 03:24:03 +02:00
PixelPaint PixelPaint: Reoriganize drawing in BrushTool to allow more code reuse 2021-09-09 11:35:50 +02:00
Run
Settings
SoundPlayer SoundPlayer: Convert to double before calculating 2021-09-04 22:52:02 +02:00
SpaceAnalyzer SpaceAnalyzer: Enable icons within the breadcrumbbar 2021-09-01 23:00:28 +02:00
Spreadsheet Everywhere: Behaviour => Behavior 2021-09-07 13:53:14 +02:00
SystemMonitor SystemMonitor: West Const to East Const refactor 2021-09-08 15:48:02 +04:30
Terminal
TextEditor TextEditor: Stop calling window->set_modified(false) on file save 2021-09-02 09:12:51 +02:00
ThemeEditor ThemeEditor: Make the model derived from ItemListModel 2021-09-06 14:05:10 +04:30
VideoPlayer
Welcome Welcome: Replace rand()/srand() with AK::get_random_uniform() 2021-09-02 00:39:12 +02:00
CMakeLists.txt