summaryrefslogtreecommitdiff
path: root/src/cairo-mesh-pattern-rasterizer.c
Commit message (Collapse)AuthorAgeFilesLines
* s/the the/the/Adrian Johnson2023-01-311-1/+1
|
* image: prevent invalid ptr access for > 4GB imagesAdrian Johnson2017-11-071-1/+1
| | | | | | | | | | | | Image data is often accessed using: image->data + y * image->stride On 64-bit achitectures if the image data is > 4GB, this computation will overflow since both y and stride are 32-bit types. Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=98165 Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
* mesh-rasterize: Fix number of iterationsUli Schlachter2014-03-211-0/+1
| | | | | | | | | | | | | Commit 44a09f462c fixed a compiler warning, but changed the result of this code. This is because the old 'for' loop did one more iteration than the new 'while' loop. Fix this by incrementing the loop counter once before the loop. Fixes: mesh-pattern mesh-pattern-accuracy mesh-pattern-conical mesh-pattern-control-points mesh-pattern-fold mesh-pattern-overlap mesh-pattern-transformed record-mesh Signed-off-by: Uli Schlachter <psychon@znc.in> Tested-by: Bryce Harrington <b.harrington@samsung.com>
* mesh: Avoid theoretical infinite loopsBryce Harrington2014-02-251-5/+5
| | | | | | | | | | | | This quells this warning: src/cairo-mesh-pattern-rasterizer.c:731:5: warning: cannot optimize possibly infinite loops I guess the compiler's complaining because if vsteps were negative or equal to UINT_MAX the loop could cycle infinitely. Silly compiler. Fix as suggested by Chris Wilson <chris@chris-wilson.co.uk>
* doc: fix a few typos found by codespellNis Martensen2012-03-101-1/+1
| | | | Signed-off-by: Uli Schlachter <psychon@znc.in>
* Introduce a new compositor architectureChris Wilson2011-09-121-0/+1
| | | | | | | | | | | | | | | | | | Having spent the last dev cycle looking at how we could specialize the compositors for various backends, we once again look for the commonalities in order to reduce the duplication. In part this is motivated by the idea that spans is a good interface for both the existent GL backend and pixman, and so they deserve a dedicated compositor. xcb/xlib target an identical rendering system and so they should be using the same compositor, and it should be possible to run that same compositor locally against pixman to generate reference tests. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> P.S. This brings massive upheaval (read breakage) I've tried delaying in order to fix as many things as possible but now this one patch does far, far, far too much. Apologies in advance for breaking your favourite backend, but trust me in that the end result will be much better. :)
* pattern: Add observer hooksChris Wilson2011-07-151-0/+2
| | | | | | | | | In order for custom context to automatically track when a pattern is modify after being set on the context (and before it is used in an operator), we need for there to be a callback when the pattern is modified. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
* mesh: Do not declare min and max functionsAndrea Canciani2011-01-171-31/+25
| | | | | | | Using the names "min" and "max" is likely to cause collisions. Instead of them, use the MIN and MAX macros provided by cairoint.h Reviewed-by: Uli Schlachter <psychon@znc.in>
* Add mesh gradient rasterizerAndrea Canciani2011-01-011-0/+943
Add an implementation of a fast and reasonably accurate non-antialiased mesh gradient rasterizer.