summaryrefslogtreecommitdiff
path: root/src/cairo-slope.c
Commit message (Collapse)AuthorAgeFilesLines
* Introduce a new compositor architectureChris Wilson2011-09-121-2/+2
| | | | | | | | | | | | | | | | | | 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. :)
* Update FSF addressAndrea Canciani2010-04-271-1/+1
| | | | | | | | | | | I updated the Free Software Foundation address using the following script. for i in $(git grep Temple | cut -d: -f1 ) do sed -e 's/59 Temple Place[, -]* Suite 330, Boston, MA *02111-1307[, ]* USA/51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA/' -i "$i" done Fixes http://bugs.freedesktop.org/show_bug.cgi?id=21356
* [slope] Inline _cairo_slope_init()Chris Wilson2009-08-291-8/+1
| | | | | Move the definition to a separate header file and allow callers to inline the simple function.
* Eliminate self-intersecting strokes.Chris Wilson2009-08-291-3/+1
| | | | | | | | | | | | | | | | | | | | We refactor the surface fallbacks to convert full strokes and fills to the intermediate polygon representation (as opposed to before where we returned the trapezoidal representation). This allow greater flexibility to choose how then to rasterize the polygon. Where possible we use the local spans rasteriser for its increased performance, but still have the option to use the tessellator instead (for example, with the current Render protocol which does not yet have a polygon image). In order to accommodate this, the spans interface is tweaked to accept whole polygons instead of a path and the tessellator is tweaked for speed. Performance Impact ================== ... Still measuring, expecting some severe regressions. ...
* [slope] Replace open-coding 64bit integer arithmetic.Chris Wilson2008-10-071-8/+6
| | | | | | Prefer to use the operations form cairo-wideint-private.h in order to improve readability and reduce our assumptions on the availability of 64bit integers.
* Simple perf tweaks for a rectilinear Hilbert curve.Chris Wilson2008-09-191-2/+4
| | | | | Some tweaks to avoid stack copies and branches that save ~25% in _cairo_traps_tessellate_convex_quad().
* Remove _cairo_slope_[counter_]clockwiseCarl Worth2008-02-201-23/+0
| | | | | | | | These two functions were hiding away some important details about strictness of inequalities. Also, the callers differ on the strictness they need. Everything is cleaner and more flexible by making the callers just call _cairo_slope_compare directly.
* Make _cairo_slope_compare return a non-zero result for slopes that differ by piCarl Worth2008-02-201-2/+28
| | | | | | | | | | | This was an initial attempt to fix the infinite loop bug described here: Infinite loop when scaling very small values using 24.8 http://bugs.freedesktop.org/show_bug.cgi?id=14280 This doesn't actually fix that bug, but having a more robust comparison function can only be a good thing.
* [doc] Replace 'NOTE' by 'Note' and add it to testBehdad Esfahbod2008-01-281-1/+1
|
* [cairo-slope] Make comparison stable if both vectors are zeroBehdad Esfahbod2007-03-131-1/+7
|
* Remove initial, final, and duplicate blank lines.Carl Worth2006-06-061-4/+0
| | | | | | This patch was produced by running git-stripspace on all *.[ch] files within cairo. Note that this script would have also created all the changes from the previous commits to remove trailing whitespace.
* Remove all remaining trailing whitespace.Carl Worth2006-06-061-1/+1
| | | | | | | | | | | This patch was produced with the following (GNU) sed script: sed -i -r -e 's/[ \t]+$//' run on all *.[ch] files within cairo. Note that the above script would have also created all the changes from the previous commits to remove trailing whitespace.
* Switch from broken cworth@isi.edu address to canonical cworth@cworth.org ↵Carl Worth2005-02-221-1/+1
| | | | address.
* Convert all files to utf-8. Add copyright information to cairo_png_surface.c.Carl Worth2004-10-211-1/+1
|
* Add the MPL as a new license option, in addition to the LGPL.Carl Worth2004-09-041-10/+27
|
* Fix to explicitly refer to GNU Lesser Public License 2.1 rather than the ↵Carl Worth2004-08-021-7/+5
| | | | Library Public License version 2 or 'any later version'
* Change from MIT license to LGPL.Carl Worth2004-08-021-20/+14
|
* Fixed copyright attribution to refer to "University of Southern CaliforniaCarl Worth2003-10-231-1/+1
|
* Generate convex hull of pen before stroking.Carl Worth2003-10-041-2/+38
|
* Made all changes necessary to abandon the Xc library, (sucking the ↵Carl Worth2003-07-301-0/+58
functionality up into cairo_surface_t instead). Eliminated most of the remaining X datatypes (XFixed, XPointFixed, XLineFixed, XTrapezoid). Fixed some numerical problems relating to pen initialization and intersection calculation.