Mehran Kamal
6ba60188b4
LibWeb+LibGfx: Paint dash array and offset for SVG and Canvas
2025-04-14 18:00:38 +01:00
Mehran Kamal
a64902ba25
LibWeb+LibGfx: Paint miter_limit for SVG and Canvas
2025-04-14 18:00:38 +01:00
Mehran Kamal
bb87de58a0
LibWeb+LibGfx: Paint line_cap, line_join for Canvas Strokes
2025-03-15 14:02:27 +01:00
Glenn Skrzypczak
8575bddfe6
LibWeb/Canvas: Support globalCompositionOperation
...
Canvas now supports compositing and various blending modes via the
`globalCompositeOperation` attribute.
2025-02-05 11:26:58 +00:00
Lucien Fiorini
a6ef6550f3
LibWeb+LibGfx: Implement Canvas2D filters
2024-12-18 18:54:20 +01:00
Lucien Fiorini
e8cc0dc998
LibWeb+LibGfx: Implement shadowBlur for Canvas2D
2024-12-05 17:07:13 +01:00
Timothy Flynn
93712b24bf
Everywhere: Hoist the Libraries folder to the top-level
2024-11-10 12:50:45 +01:00
Andreas Kling
13d7c09125
Libraries: Move to Userland/Libraries/
2021-01-12 12:17:46 +01:00
Andreas Kling
3ec19ae4b6
LibGUI+LibGfx+WindowServer: Auto-generate disabled action icons :^)
...
This patch adds a simple filter that makes button and menu item icons
have that "'90s disabled" look when disabled. It's pretty awesome.
2020-10-27 21:25:40 +01:00
Andreas Kling
b7dfa83223
LibGUI+LibGfx: Improve focus rect appearance
...
Draw a dotted focus rect to make it stand out more. Also make it much
larger on regular text-only GUI::Buttons.
2020-10-26 21:01:45 +01:00
Tom
f239fbaa58
LibGfx: Reduce code duplication in Painter::draw_text
...
Use the same logic for all variants for Painter::draw_text. Also,
add an overload that allows taking a callback function for custom
gylph drawing. This allows drawing some glyphs differently in the
correct location when drawing more complex strings (e.g. multi-line,
elisions, etc).
2020-10-22 15:23:45 +02:00
Tom
607c78336b
LibGfx: Add ability to draw inverted rectangles
2020-09-08 10:45:35 +02:00
Andreas Kling
03c576acc5
LibGUI+LibGfx: Implement upside-down appearance for bottom-side tabs
...
GUI::TabWidget has long has a TabPosition::Bottom option, but we still
rendered the tab buttons the same as TabPosition::Top.
This patch implements a custom look for bottom-side tabs. I've done my
best to match the look of the top-side ones, but there might be some
improvements we can make here. :^)
2020-08-23 23:53:45 +02:00
Nico Weber
ce95628b7f
Unicode: Try s/codepoint/code_point/g again
...
This time, without trailing 's'. Ran:
git grep -l 'codepoint' | xargs sed -ie 's/codepoint/code_point/g
2020-08-05 22:33:42 +02:00
Nico Weber
19ac1f6368
Revert "Unicode: s/codepoint/code_point/g"
...
This reverts commit ea9ac3155d
.
It replaced "codepoint" with "code_points", not "code_point".
2020-08-05 22:33:42 +02:00
Andreas Kling
ea9ac3155d
Unicode: s/codepoint/code_point/g
...
Unicode calls them "code points" so let's follow their style.
2020-08-03 19:06:41 +02:00
Matthew Olsson
1cffde7635
LibGfx: Add elliptical curves to Path
2020-07-26 14:53:43 +02:00
Andreas Kling
d7be3faab5
LibGfx: Add an "opacity" argument to Painter::draw_scaled_bitmap()
...
This API is not super perfect as it merely overrides the source alpha
on all source pixels instead of blending the alpha values. There is
room for improvement here for sure.
2020-07-23 20:32:39 +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
Sergey Bugaev
8520d3a425
LibGfx: Add Painter::fill_ellipse()
2020-05-24 23:30:12 +02:00
Hüseyin ASLITÜRK
840a64e2f9
LibGfx: Painter, extend fonts to 384 character to support LatinExtendedA
...
Replace codepoint variable type from char to u32.
2020-05-21 01:19:42 +02:00
Andreas Kling
0272bbb4fb
LibGfx: Add UTF-32 version of the text painting code paths
...
There's a large amount of code duplication here right now, which will
need to be reduced.
2020-05-17 22:35:25 +02:00
Linus Groh
0669dbcf5d
LibGfx: Add support for dashed lines
...
Non-configurable for now.
2020-05-10 19:41:00 +02:00
Linus Groh
59d00e5df6
LibGfx: Replace 'bool dotted' with a LineStyle::{Solid,Dotted} enum
...
Just a bool is insufficient as we'll have to support dashed lines as well.
2020-05-10 13:34:59 +02:00
Andreas Kling
9e74793ce2
LibGUI+LibGfx: Paint scollbar tracks with a dithered pattern
...
Instead of a solid color, we now paint the track/gutter of scrollbars
using a 2-color dither pattern for a pleasant millennium feel. :^)
2020-05-10 01:02:06 +02:00
AnotherTest
f54b41f748
LibGfx: Implement filling paths
...
There are some imperfections with intersecting edges (because the main
algorithm used is scanline, and that is not geared towards drawing
complex shapes), however, it behaves mostly fine for normal use :^)
2020-05-06 14:50:29 +02:00
AnotherTest
9f3f98d4c0
LibGfx: Add Painter::draw_quadratic_bezier_curve()
...
Also adds a QuadraticBezierCurveTo mode to Gfx::Path
2020-05-05 09:21:07 +02:00
Stephan Unverwerth
acd4676803
LibGfx: Add draw_triangle() for drawing filled triangles
2020-04-18 12:28:54 +02:00
Andreas Kling
60c2e41079
LibGfx: Add Gfx::Path, a basic 2D path with <canvas> semantics
...
This will be used to implement painting of 2D paths. This first patch
adds support for line_to(), move_to() and close().
It will try to have the same semantics as the HTML <canvas> element.
To stroke a Path, simply pass it to Painter::stroke_path().
2020-04-16 21:04:46 +02:00
Tibor Nagy
e14d27867c
LibGfx: Implement checkerboard drawing for Gfx::Painter
2020-04-05 15:30:53 +02:00
Andreas Kling
7976ef7a79
LibGfx: Add Painter::blit_filtered() and blit_brightened()
...
blit_filtered() can be used to easily implement per-pixel filtered blit
functions. All you need to do is provide a callback that can compute
the Color for each pixel based on the original Color.
2020-03-30 19:39:37 +02:00
Andreas Kling
cbd7effd3b
LibGfx: Support vertical gradient fill (not just horizontal) :^)
2020-03-30 17:00:12 +02:00
Andreas Kling
34b5ff7c29
LibGfx: Move a bunch of LogStream::operator<< to cpp files
2020-02-15 00:58:54 +01:00
Andreas Kling
08cae2773d
LibGfx: More work on header dependency reduction
2020-02-14 23:33:21 +01:00
Andreas Kling
3bbf4610d2
AK: Add a forward declaration header
...
You can now #include <AK/Forward.h> to get most of the AK types as
forward declarations.
Header dependency explosion is one of the main contributors to compile
times at the moment, so this is a step towards smaller include graphs.
2020-02-14 23:31:18 +01:00
Andreas Kling
9ac94d393e
LibGfx: Rename from LibDraw :^)
2020-02-06 12:04:00 +01:00