Commit Graph

2229 Commits

Author SHA1 Message Date
Terseus
696924f5ac Added missing xx pointer check 2014-04-04 14:02:36 +02:00
Terseus
1c02d467ef Added test for vertical lines.
The behavior is consistent with horizontal lines, see previous commit
for details.
2014-04-04 12:45:47 +02:00
Terseus
fee2faa8dc Added test for horizontal lines
Notice that the expansion of the line width depends on the order of the
points:
  * If the bigger axis value is provided as the *second* point the line
    expand first to the *positive* side of the axis.
  * If the bigger axis value is provided as the *first* point the line
    expand first to the *negative* side of the axis.
  * If the line's width is odd this doesn't matter, as the line will
    expand the same amount to both sides.

This behavior should be consistent in both horizontal and vertical lines.
2014-04-04 12:35:26 +02:00
Terseus
e2cb2195eb Added test for a simple right triangle
The diagonals of the right angled edges must be perfect and the bottom
vertice should be drawn.
2014-04-04 11:46:58 +02:00
Terseus
ec74779b19 Added test for a simple square 2014-04-04 11:28:41 +02:00
Alex Clark ☺
52189030b8 Merge pull request #600 from wiredfool/readthedocs
Readthedocs
2014-04-04 04:51:41 -04:00
Terseus
7de14a51dd Added base method and constants to test_imagedraw
The method `create_base_image_draw` will be used in all the new draw
tests.
2014-04-04 10:47:22 +02:00
wiredfool
8ca2cfe75c Use an import error instead of a plain exception 2014-04-03 16:05:02 -07:00
wiredfool
ab3687e10f Tests correctly check for the core object 2014-04-03 16:04:29 -07:00
wiredfool
688c8dd538 comment ->autodoc transform 2014-04-03 15:47:57 -07:00
Terseus
dbe3db6fc5 Oops, fixed typo in comments 2014-04-03 11:15:21 +02:00
wiredfool
90bbd9ff3e Delayed import error for doc use 2014-04-02 20:09:04 -07:00
Alex Clark
72758c54c4 Fix manifest 2014-04-02 18:41:03 -04:00
Alex Clark ☺
c7fae0b040 Merge pull request #599 from wiredfool/version
Bump all the version numbers
2014-04-02 18:29:53 -04:00
wiredfool
b6955fcf15 Merge branch 'readthedocs' of github.com:wiredfool/Pillow into readthedocs 2014-04-02 15:27:04 -07:00
wiredfool
7b4768a9fa Bump all the version numbers 2014-04-02 15:25:46 -07:00
wiredfool
66a468d4ae current version... 2014-04-02 13:52:23 -07:00
Terseus
be09da6507 Rewrite of the ImagingDrawWideLine function
The previous version of the function didn't generate correct wide lines
of even width.

The most notable changes are:
  * Make variable names far more descriptive about the process.
  * Corrected the width calculation; we should deduct one pixel from the
    width because the pixels at the center of the line doesn't count for
    the triangles.
  * Now we calculate *two* ratios, one for left/top displacement (dxmin)
    and one for right/bottom (dxmax), this fix the behavior with lines
    of even width.

It can probably be optimized.
2014-04-02 21:30:42 +02:00
Terseus
cd332fc38a Rewrite of the polygon_generic function
The (previously refactored) polygon_generic function didn't draw
consistent polygons (equilateral polygons were not equilateral nor
symmetrical).

The most notable changes are:
  * The horizontal edges are searched for when finding the polygon
    boundaries, drawn and discarded from the edge list used to detect
    intersections.
  * The intersections are now checked and calculated from the current value
    of the scan line (ymin) instead of in the middle (ymin + 0.5).
  * Because the change in the scan line behavior, we should duplicate
    the intersections in the maximum Y value of an edge or there will be
    draw errors with concave and complex polygons.
  * The rounds of the X coordinates in the hline function calls are
    switched to draw the inner pixels.
  * Removed the ugly micro-optimization of qsort at the end.

This implementation of the scan line algorithm may not be technically
correct, it's not optimized and it have problems with some edge cases,
like a wide line from (x0, y) to (x1, y + 1), therefore it should be
reviewed in the future.
2014-04-02 21:05:13 +02:00
wiredfool
120915411c Updated Changes.rst [ci skip]
Release date.
2014-04-02 10:05:46 -07:00
wiredfool
47cd405c12 Merge pull request #598 from cgohlke/patch-1
Update platform support
2014-04-02 10:04:05 -07:00
cgohlke
d43a0ce133 Update platform support 2014-04-02 09:53:30 -07:00
hugovk
4474917fc2 Re-enable notifications 2014-04-02 13:53:34 +03:00
hugovk
ec0c933a3c Include PIL/*.py for coverage to see if it includes unexecuted code 2014-04-02 12:12:47 +03:00
hugovk
b6d44fe31c Only measure coverage of code in the PIL directory, but includes all those files, even those unexecuted 2014-04-02 11:57:02 +03:00
Alex Clark ☺
12398f632d Merge pull request #593 from wiredfool/docs
Doc updates
2014-04-02 04:50:44 -04:00
hugovk
cd98729436 Omit library modules from coverage 2014-04-02 11:40:40 +03:00
hugovk
d514c1fb64 Add coverage report 2014-04-02 11:00:43 +03:00
wiredfool
24d14c6d48 added webp 0.4.0, reworded openjpeg dependency 2014-04-01 22:21:50 -07:00
wiredfool
e55c6c5471 added version added 2014-04-01 22:21:01 -07:00
wiredfool
e2c1c41ce1 removing old references to the handbook 2014-04-01 22:20:44 -07:00
Alex Clark ☺
1e53f1ad96 Merge pull request #591 from cgohlke/patch-2
DOC: Add openjpeg to external libraries
2014-04-01 13:59:46 -04:00
cgohlke
974ba7800b DOC: Add openjpeg to external libraries 2014-04-01 10:52:52 -07:00
Terseus
8739613cfb Implementation of rounds around zero
The rounds used in the library are towards positive/negative infinity.
Since we're in a cartesian plane, rounds around zero are much more
convenient, so we can use positive and negative values with consistent
results.
2014-04-01 13:08:15 +02:00
Terseus
deecd8a137 Refactored polygon functions to unify logic
The functions `polygon8`, `polygon32` and `polygon32rgba` all have exactly
the same logic in code, only changes the hline function called inside.

Now all the logic is contained in `polygon_generic` which gets a
function pointer to the hline handler, so there is no duplicated code
anymore.
2014-04-01 13:01:03 +02:00
wiredfool
6e2075e25d Merge pull request #574 from wiredfool/convert_trns
Indexed Transparency handled for conversions between L, RGB, and P modes
2014-03-31 21:40:22 -07:00
Alex Clark ☺
dc1664500b Merge pull request #590 from wiredfool/ppc-setup
Rearrange lib directory detection, fixes #587
2014-03-31 16:10:07 -04:00
Eric Soroos
cde7e3e279 Rearrange lib directory detection, fixes #587 2014-03-31 18:59:29 +00:00
wiredfool
182e7782fa Trapping warnings 2014-03-30 09:26:03 -07:00
wiredfool
4877d52cf4 warn category defaults to UserWarning 2014-03-30 09:25:52 -07:00
wiredfool
0d7115a5a4 Merge from master 2014-03-30 09:14:04 -07:00
Alex Clark
cc8677e0df Add history 2014-03-30 07:30:53 -04:00
Alex Clark ☺
6e6bc21ba1 Merge pull request #565 from al45tair/icns-support
Improved icns support
2014-03-30 07:30:14 -04:00
Alex Clark
6efe503123 Add history 2014-03-29 18:26:33 -04:00
Alex Clark ☺
0baa82ac69 Merge pull request #580 from wiredfool/libtiff-fd-leak
Fixes libtiff leaking open files
2014-03-29 18:25:57 -04:00
wiredfool
d09637bc55 Merge pull request #583 from cgohlke/patch-1
Link openjpeg2 statically on Windows
2014-03-29 08:55:47 -07:00
cgohlke
e7e103b1a5 Link openjpeg2 statically on Windows 2014-03-28 20:29:58 -07:00
wiredfool
65c17d4176 Removed warning import, stray im=None, and moved os import to top 2014-03-28 08:35:18 -07:00
Alastair Houghton
172e46def8 Fixed a silly mistake. 2014-03-28 09:30:16 +00:00
Alastair Houghton
5dd67abd71 Merge branch 'master' into icns-support 2014-03-28 09:15:20 +00:00