Andreas Kling
984683cf34
Revert "LibM: Always include <math.h> instead of <LibM/math.h>"
...
This reverts commit dc12cbca41
.
Sadly this broke the build due to some confusion about <new>.
Reverting until this can be solved fully.
2020-08-04 21:17:43 +02:00
Andreas Kling
dc12cbca41
LibM: Always include <math.h> instead of <LibM/math.h>
...
This makes Lagom pick up the host math.h, which is what we want.
2020-08-04 19:06:27 +02:00
AnotherTest
d366ad8232
PixelPaint: Make GenericConvolutionFilterInputDialog
cancellable
...
Also tweaks the GUI to look a bit less...bad.
2020-08-01 17:44:40 +02:00
Peter Elliott
4bf4a071a6
Applications: Stop setting initial window location
...
This will let the WindowManager choose the location of the window
2020-08-01 08:06:48 +02:00
Matthew Olsson
335916d8db
LibGfx: Templatize Point, Size, and Rect
2020-07-27 01:06:26 +02:00
AnotherTest
9685080bd4
PixelPaint: Add a bunch of spatial filters
...
This patchset adds a generic convolution matrix spatial filter, and a
few named derivatives such as BoxBlur, Laplacian, Sharpen and
GaussianBlur.
2020-07-25 02:13:43 +02:00
Andreas Kling
65ec655b0d
PixelPaint: Add GUI for editing layer names :^)
2020-07-23 20:48:28 +02:00
Andreas Kling
955d3c22c7
PixelPaint: Tidy up the LayerPropertiesWidget GUI layout a bit :^)
2020-07-23 20:43:52 +02:00
Andreas Kling
3a4351b2b5
PixelPaint: Don't hit test non-visible layers
2020-07-23 20:36:07 +02:00
Andreas Kling
b560445c84
PixelPaint: Add a GUI for editing opacity and visibility of layers
...
Also, make the layer stack rendering respect opacity and visibility.
2020-07-23 20:33:38 +02:00
Andreas Kling
7973f76790
PixelPaint: Scope tool actions to the containing window
...
We achieve this by deferring the construction of the tool buttons until
the toolbox widget has been added to a window.
2020-07-23 19:53:48 +02:00
Tom
27bd2eab22
LibWeb: Require parent window argument for MessageBox
...
Since the vast majority of message boxes should be modal, require
the parent window to be passed in, which can be nullptr for the
rare case that they don't. By it being the first argument, the
default arguments also don't need to be explicitly stated in most
cases, and it encourages passing in a parent window handle.
Fix up several message boxes that should have been modal.
2020-07-16 16:10:21 +02:00
Tom
6568765e8f
LibGUI: Add parent window argument to FilePicker functions
...
Since FilePicker almost always should be modal, add the parent
window as mandatory first argument.
2020-07-16 16:10:21 +02:00
Andreas Kling
ca93c22ae2
LibGUI: Turn GUI::Application::the() into a pointer
...
During app teardown, the Application object may be destroyed before
something else, and so having Application::the() return a reference was
obscuring the truth about its lifetime.
This patch makes the API more honest by returning a pointer. While
this makes call sites look a bit more sketchy, do note that the global
Application pointer only becomes null during app teardown.
2020-07-04 16:54:55 +02:00
Andreas Kling
1dd1595043
LibGUI: Make GUI::Application a Core::Object
...
Having this on the stack makes whole-program teardown iffy. Turning it
into a Core::Object allows anyone who needs it to extends its lifetime.
2020-07-04 14:05:57 +02:00
Andreas Kling
116cf92156
LibGfx: Rename Rect,Point,Size => IntRect,IntPoint,IntSize
...
This fits nicer with FloatRect,FloatPoint,FloatSize and gives a much
better visual clue about what type of metric is being used.
2020-06-10 10:59:04 +02:00
Hüseyin ASLITÜRK
d315281d56
PixelPaint: Use new app-pixel-paint.png for app icon
2020-06-04 12:34:31 +02:00
Gabriel Mihalache
8e151ff33e
PixelPaint: Set active layer to nullptr after its removal ( #2433 )
...
This prevents a crash if removal was called twice, without setting a
new active layer in the meanwhile.
2020-05-29 07:58:22 +02:00
Andreas Kling
b5788594f9
PixelPaint: Let Layer track whether it's selected or not
...
This will simplify a lot of code that keeps getting more confusing.
2020-05-26 10:18:03 +02:00
Andreas Kling
18d68c8c94
PixelPaint: Add selection functionality to the LayerListWidget
...
Now we can get rid of the old table view and with it the LayerModel.
2020-05-26 10:18:03 +02:00
Andreas Kling
e4b11a23b7
PixelPaint: Allow reordering layer by dragging them in LayerListWidget
...
This is rather cool! :^)
2020-05-26 10:18:03 +02:00
Andreas Kling
dc3de47b03
PixelPaint: Have layers and images send out notifications on changes
...
We use this to automatically update the thumbnail in LayerListWidget
when you draw into a layer. We also use it to repaint the ImageEditor
when the image changes somehow. :^)
2020-05-26 10:18:03 +02:00
Andreas Kling
de85cd0907
PixelPaint: Start working on a custom layer list widget
...
Instead of using a TableView to show the layer stack, let's build a new
custom widget for this purpose and give it some neat features!
This patch also introduces an ImageClient interface for Image to notify
interested parties about things happening. The LayerListWidget is the
first ImageClient and listens for "layer added" and "layer removed"
notifications. :^)
2020-05-26 10:18:03 +02:00
Andreas Kling
9fc4ad2a52
PixelPaint: Make the EllipseTool previews work while zoomed in
2020-05-22 15:57:04 +02:00
Andreas Kling
d12cce76a7
PixelPaint: Make the RectangleTool previews work while zoomed in
2020-05-22 14:57:10 +02:00
Andreas Kling
f57df29724
PixelPaint: Make the LineTool previews work while zoomed in
2020-05-22 14:45:14 +02:00
Andreas Kling
84b508befa
PixelPaint: Rename original_event => image_event
...
These events are in image coordinates, not really original coordinates.
2020-05-21 22:56:32 +02:00
Andreas Kling
2adb0a07e5
LibGUI: Get rid of Model::ColumnMetadata and always use auto-sizing
...
Auto-sizing of view columns is now enabled by default. This removes the
last remaining need for ColumnMetadata, so this patch gets rid of it.
2020-05-21 19:55:44 +02:00
Andreas Kling
bf9e190533
PixelPaint: Support panning and scaling the image we're working on :^)
...
ImageEditor now supports panning (Ctrl+MiddleMouse) and scaling (Wheel)
the image. This took a lot of unpleasant coordinate math, but now it
actually kinda works and feels awesome! :^)
2020-05-20 22:30:42 +02:00
Andreas Kling
58fa9c6e89
PixelPaint: Rename from PaintBrush :^)
2020-05-20 20:35:35 +02:00