Commit graph

450 commits

Author SHA1 Message Date
Timothy Slater 3d542b0c38 PixelPaint: Add lasso selection tool
Lasso selection works by allowing the user to draw an arbitrary shape
much like the pen tool and ensuring the shape is closed by connecting
the start/end points when the user is done drawing. Everything inside
the shape becomes the selection.

Selection is determined via an outer flood fill. We begin a flood fill
from a point that is guaranteed to be outside of the drawn shape, and
anything the fill doesn't touch is determined to be the selection
region.
2022-11-25 22:52:45 +01:00
Slimey e00b16460c Base+VideoPlayer: Add an icon for video player
Co-authored-by: TreuKS <ks2225@protonmail.com>
2022-11-06 22:27:22 -08:00
Slimey ce75a04908 Base+Ports: Rename 'Sound' category to 'Media' 2022-11-06 16:27:18 +01:00
Oleg Kosenkov 46c6176fad Games: Add BrickGame 2022-11-05 16:35:13 -06:00
implicitfield 7eca8f7e62 Games: Add Flood 2022-11-03 01:02:56 -06:00
Xexxa d87e2287dc Snake: Use emoji for in-game food graphics 2022-10-20 10:27:00 +02:00
Timothy Slater 038a833f0c PixelPaint: Add Polygonal Select Tool
Polygonal selection tool allows for the drawing of any arbitrary
polygonal shape. It tracks clicked points in a vector, upon double
clicking we finalize the polygon and generate the selection mask. The
user can press the escape key during selection to cancel.

The mask is generated as follows:

- First we calculate the size of the bounding rect needed to hold the
  polygon
- We add 2 pixels to height/width to allow us a 1 pixel border, the
  polygon will be centered in this bitmap
- Draw the polygon into the bitmap via Gfx::Painter, making sure to
  connect final polygon point to the first to ensure an enclosed shape
- Generate a selection mask the size of the bitmap, with all pixels
  initially selected
- Perform a flood fill from (0,0) which is guaranteed to be outside the
  polygon
- For every pixel reached by the flood fill, we clear the selected pixel
  from the selection mask
- Finally we merge the selection mask like other selection tools.
2022-10-19 23:04:07 +02:00
snooze6214 d3353ee0e7 PixelPaint: Add action to invert selection 2022-10-18 18:57:12 +02:00
ne0ndrag0n b4456ecdbb Escalator: Add new method to privilege escalate within GUI 2022-10-14 11:23:06 +02:00
Gunnar Beutner be80ac619f Browser: Add a custom icon for the "New Window" action 2022-10-06 20:51:04 +02:00
Marco Santos a0598aaef7 Icons: Add icon to represent text color changes 2022-09-27 13:38:11 +03:30
hashem78 69d86a60e5 Base: Remove extraneous pixels from msgbox-question.png 2022-09-24 20:57:19 +02:00
djwisdom 378f004a28 Base: Update Durrque theme for a better look and feel 2022-09-17 10:08:59 +01:00
Jelle Raaijmakers 9dfe50170e Demos: Add Tubes :^) 2022-09-11 22:45:49 +01:00
electrikmilk 6a09d89329 Base+LibGUI: Add insert emoji common action
This adds a common action to invoke the emoji picker.
2022-09-08 23:08:54 +01:00
electrikmilk 56a719daf8 Base: Add Assembly file type icon
This adds 16x16 and 32x32 file type icons for assembly files.
2022-09-08 10:06:55 +01:00
electrikmilk 6675865582 Browser: Add context menu icons
This adds two new icons for browser context menu items "Close Other
Tabs" and "Download".

This adds existing icons where they were missing in context menu items.
2022-09-08 10:02:37 +01:00
electrikmilk 325a8a3d9b Base: Match colors for C++ file type icons
Update the color of the 16x16 version of the C++ file icon to match the
new colors in the 32x32 version of the icon.
2022-09-06 18:44:02 +00:00
electrikmilk a0e3289cf3 Base: Add CMakeLists file type icon
This adds a file icon for CMakeLists.txt files.
2022-09-06 18:06:57 +01:00
electrikmilk 1ab510c4bb Base+LibGUI: Add Git folder icons
This adds icons for folder paths ending in ".git". This adds 16x16 and
32x32 versions of a folder with a Git logo for both the closed and open
versions of the folder icon.
2022-09-06 07:38:09 +01:00
electrikmilk ce166785d7 Base: Add Git file type icons
This adds 16x16 and 32x32 Git file icons for files like .gitignore, etc.
2022-09-06 07:38:09 +01:00
electrikmilk 98fb0727a4 Base: Make open folder icons consistent
This changes the open parent directory, open recent, and open folder
16x16 icons to be more consistent with the other folder icons. This
also improves the other elements on these icons by adding tinting
and shading.
2022-09-05 21:40:16 +01:00
electrikmilk 67eee46319 Base: Add shell script file type icon
This adds a file type icon for shell scripts.
2022-09-05 20:34:42 +01:00
electrikmilk 6247bbc65b Base: Add Ruby File Type Icon
This adds a file type icon for Ruby (.rb) files.
2022-09-05 09:24:15 +01:00
Timothy Slater fcf86b07a5 PixelPaint: Add Wand Select Tool
Wand Selection tool uses similar logic to the Bucket Tool. Flood filling
and threshold calculations to determine the affected area just in this
case we do not set the pixels of the selected area, instead we use
those pixels to alter the selection mask.

In the future we can probably abstract out the shared flood logic so
both tools can share the code.
2022-08-31 16:30:23 +02:00
crpz1 3d5300a25e Base: Horizontally center socket and remove pixel from CrashReporter 2022-08-28 16:38:57 +01:00
electrikmilk 1a9d4ffecf PixelPaint: Add more icons
This adds menu item icons for Add Mask, Flatten Image, Fit Image To
View, and Generic 5x5 Convolution.

This modifies the menu item icon for Swap Colors to make the action more
obvious and improve accessibility.
2022-08-24 12:01:19 +02:00
Sam Atkins deeef8c412 GamesSettings: Add a setting for the card-back image
And also add a couple of images so there's more than one option. :^)

(My yak silhouette isn't very good, so please replace that, artists!)
2022-08-22 12:50:41 +02:00
Sam Atkins 0737d217cb Base: Add a 32x32 version of the Games icon 2022-08-22 12:50:41 +02:00
thankyouverycool 2d706ba753 Base: Add 32x32 workspaces settings icon 2022-08-16 16:41:47 +02:00
electrikmilk a5cef2c41a Base: Add Icon for Partition Editor
This adds a 16x16 and 32x32 icon that is missing for the Partition
Editor.
2022-08-14 00:52:56 +01:00
thankyouverycool 8b5280b5dd Base: Add icons for animation and theming options 2022-08-09 12:08:21 +02:00
thankyouverycool 6891bfa965 Base: Add an overflow-menu icon 2022-08-04 02:56:17 +02:00
thankyouverycool de9452e14b Base: Update window-close-modified icon for Redmond themes 2022-08-02 16:33:02 +02:00
Andreas Kling 44cdca04d3 LibGfx+Base: Draw radio buttons programmatically
Remove the static PNG bitmaps we've been using for GUI radio buttons
and replace them with on-the-fly pixel painting.

This fixes a long-standing issue where radio buttons always looked the
same, regardless of system theme settings. :^)
2022-07-25 16:32:52 +02:00
Linus Groh cc4bb59a7e Playground: Rename the application to GMLPlayground
Just "Playground" is too generic and doesn't match the general rule of
"application name equals display name minus spaces".
2022-06-28 21:10:10 +01:00
Torstennator 5aeb6552f0 PixelPaint: Add level sliders for brightness, contrast and gamma
This patch adds a basic dialog to change brightness, contrast and gamma
correction for the selected layer.
2022-06-21 18:23:01 +01:00
kleines Filmröllchen bca0e31cba Base: Optimize a bunch of PNGs
These all save at least a couple of kilobytes.
2022-06-18 21:58:43 +04:30
Andreas Kling 45de16f195 Userland+Base: Remove Breakout and Pong games
These games were not very playable and definitely not fun.
2022-06-15 17:15:04 +02:00
djwisdom b47fbea9ad Base: Update Chillychilly Theme for better aesthetics 2022-06-15 13:20:52 +01:00
djwisdom 0daf5cc434 Base: Update Redmond 2000 Theme use Redmond Theme's metrics 2022-06-11 12:20:23 +01:00
redsnout ae3b9ad69f Calculator: Fix Broken Euler's Number icon
In #14248 a new image was added to represent Euler's Number. Running
optipng on the image results in a smaller file size but causes
calculator to throw the following error message:
Calculator(39:39): Exiting with runtime error: PNGImageDecoderPlugin:
Palette index out of range.

This commit provides a fixed image file.
2022-06-10 22:09:20 +01:00
redsnout fd641f6f17 Calculator: Replace "Euler's Constant" with "Euler's Number" in menu
This is meant to address #14234 by renaming the "Euler's Constant"
menu item to "Euler's Number". This commit removes the existing
"eulers.png" and replaces with a new "eulers_number.png" for clarity.
2022-06-10 20:03:37 +01:00
Andrew Dykema 8c37e508f2 Calculator: Add Phi constant 2022-06-09 19:17:43 +01:00
djwisdom cf68e01970 Base: Make kill process icon using hand as gun gesture
This was suggested by dither8 on Discord https://bit.ly/3ynR3sb
2022-05-27 22:18:26 +01:00
MacDue bdac8c53ea Base: Add hover icons to Cupertino theme
Simple hover effect with slight brightening + glow.
2022-05-21 18:11:36 +02:00
adoni 67c8adb561 Base: Add Contrast theme 2022-05-13 09:59:45 +02:00
Joel Hansen d017e9f2c7 Base: Add hover variants for Light theme 2022-05-07 20:06:47 +02:00
Joel Hansen afa490de0c Base: Add hover variants for the Silver theme 2022-05-07 20:06:47 +02:00
VAN BOSSUYT Nicolas 020235a841 Base: Improve icons consistency 2022-05-07 13:45:33 +02:00