summaryrefslogtreecommitdiff
path: root/Libraries/LibGfx
AgeCommit message (Collapse)Author
2020-04-19LibGfx: Let the PNG decoder fail if the header is missing or too shortAndreas Kling
2020-04-18LibGfx: Fix draw_triangle() clipping calculationsStephan Unverwerth
2020-04-18LibGfx: Add Vector3 and Matrix4x4 classesStephan Unverwerth
This adds two templated 3D math classes. They have already been typedf'd as FloatVector3, DoubleVector3, FloatMatrix4x4 and DoubleMatrix4x4
2020-04-18LibGfx: Add draw_triangle() for drawing filled trianglesStephan Unverwerth
2020-04-16LibGfx: Add FloatPoint::to_int_point()Andreas Kling
2020-04-16LibGfx: Add Gfx::Path, a basic 2D path with <canvas> semanticsAndreas Kling
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-15LibGfx: Use Checked::multiplication_would_overflow()Andreas Kling
2020-04-15LibGfx: Use Checked<T> when creating new bitmapsAndreas Kling
2020-04-15LibGfx: Don't allow creating bitmaps whose sizes would overflowAndreas Kling
If the area or size_in_bytes calculation for a Gfx::Bitmap would overflow, we now refuse to create such a bitmap and return nullptr. Thanks to @itamar8910 for finding this! :^)
2020-04-12LibGfx: Add a basic AffineTransform classAndreas Kling
We can now perform some basic 2D transforms through an affine matrix. This patch adds translate() and scale() :^)
2020-04-12LibGfx: Allow constructing Float{Rect,Point,Size} from integer buddiesAndreas Kling
2020-04-12LibGfx: Add Bitmap::rotated and Bitmap::flippedHüseyin ASLITÜRK
2020-04-06Meta: Add missing copyright headersAndreas Kling
2020-04-05LibGfx: Implement checkerboard drawing for Gfx::PainterTibor Nagy
2020-03-30LibGfx: Add Painter::blit_filtered() and blit_brightened()Andreas Kling
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-30LibGfx: Support vertical gradient fill (not just horizontal) :^)Andreas Kling
2020-03-29LibGfx+LibIPC: Add Gfx::ShareableBitmap, a bitmap for easy IPC usageAndreas Kling
With this patch, it's now possible to pass a Gfx::ShareableBitmap in an IPC message. As long as the message itself is synchronous, the bitmap will be adopted by the receiving end, and disowned by the sender nicely without any accounting effort like we've had to do in the past. Use this in NotificationServer to allow sending arbitrary bitmaps as icons instead of paths-to-icons.
2020-03-29LibIPC+LibGfx: Pass the IPC::Decoder to decoding helpersAndreas Kling
Instead of passing the BufferStream, pass the Decoder. I'd like to stop using BufferStream eventually anyway, so it's good to get it out of any API's where it's in currently.
2020-03-21LibGfx: Parse "rgb(r,g,b)" style color stringsAndreas Kling
This parser is not very lenient, but it does the basic job. :^)
2020-03-16LibGUI: Use themes for syntax highlightingOriko
2020-03-11LibGfx: Do not assert on failed font file loadsTibor Nagy
Return a nullptr to signal an error instead.
2020-03-08Userspace: Add missing #includes now that AK/StdLibExtras.h is smallerAndreas Kling
2020-02-28Kernel+LibC: Rename shared buffer syscalls to use a prefixAndreas Kling
This feels a lot more consistent and Unixy: create_shared_buffer() => shbuf_create() share_buffer_with() => shbuf_allow_pid() share_buffer_globally() => shbuf_allow_all() get_shared_buffer() => shbuf_get() release_shared_buffer() => shbuf_release() seal_shared_buffer() => shbuf_seal() get_shared_buffer_size() => shbuf_get_size() Also, "shared_buffer_id" is shortened to "shbuf_id" all around.
2020-02-25LibGfx: SystemTheme is a struct, not a classjoshua stein
SystemTheme.h:81:1: error: 'SystemTheme' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI
2020-02-25AK: Make Vector use size_t for its size and capacityAndreas Kling
2020-02-25AK, LibGfx, LibGUI: Initialize various variables to zero.Emanuel Sprung
The not initialized variables can lead to compiler warnings that become errors with the -Werror flag.
2020-02-23LibGfx: Fix accidentally hardcoded font height in Font::clone()Tibor Nagy
2020-02-23LibGfx: Add a way to construct an empty Font with arbitrary metricsAndreas Kling
2020-02-20LibGfx+LibGUI: Allow theming the focus outline of AbstractButtonTibor Nagy
2020-02-20LibGfx+LibGUI: Allow theming the text cursorTibor Nagy
2020-02-19LibGfx: Add ColorRoles for rulersTibor Nagy
2020-02-16LibGUI: Add forwarding headerAndreas Kling
This patch adds <LibGUI/Forward.h> and uses it a bunch. It also dragged various header dependency reduction changes into it.
2020-02-16LibGfx: Reduce header dependencies of StylePainterAndreas Kling
2020-02-15LibGfx: Add inactive selection colorsTibor Nagy
2020-02-15LibIPC+IPCCompiler: Add IPC::Decoder, let classes decode themselvesAndreas Kling
This shaves ~5 seconds off of a full build, not too bad. Also it just seems nicer to push this logic out to classes. It could be better but it's a start. :^)
2020-02-15LibGfx: Remove unused Bitmap::load_from_file() for loading raw RGBAAndreas Kling
This was not used anywhere but added unnecessary members to Bitmap.
2020-02-15LibGfx: Reduce header dependencies of Bitmap and FontAndreas Kling
2020-02-15LibGfx: Move a bunch of LogStream::operator<< to cpp filesAndreas Kling
2020-02-15LibGfx: Remove Utf8View.h dependency from Font.hAndreas Kling
2020-02-14LibGUI: Remove some header dependencies from Widget.hAndreas Kling
2020-02-14LibGfx: More work on header dependency reductionAndreas Kling
2020-02-14LibGfx: Add forward declaration headerAndreas Kling
This patch adds <LibGfx/Forward.h> with forward declarations for Gfx.
2020-02-14AK: Add a forward declaration headerAndreas Kling
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-11LibGfx: Add Rect::operator!=(Rect)Andreas Kling
2020-02-11LibGfx: Assert that an empty bitmap is not createdShannon Booth
2020-02-08LibGfx: Naive RGB/HSV conversionAndreas Kling
2020-02-06LibCore: Remove leading C from filenamesAndreas Kling
2020-02-06LibGfx: Unpublish FloatPoint from the global namespaceAndreas Kling
2020-02-06LibGfx: Unpublish FloatSize from the global namespaceAndreas Kling
2020-02-06LibGfx: Unpublish FloatRect from the global namespaceAndreas Kling