Use nullptr everywhere, now that we have C++11.
Rework PaddingEffect alpha handling, which also fixes a long-standing assertion failure.
Make the PaddingEffect border 1-pixel soft. Note that this is an API break; PaddingEffect now does something else from what it used to do before when it comes to fractional offsets. But I feel this is more useful; it allows PaddingEffect to be used more efficiently for moving things smoothly around. Also add a concept of border offset which moves the border around without changing the pixels; useful if you want the subpixel placement to be done by ResampleEffect (put the integral offset into top/left and then move the border by the fractional amount it missed).
Fix a comment.
Switch from using GLEW to epoxy. The main reason is that we would like to support GL 3.2+ core contexts, and then later quite possibly GLES.
Move everything into “namespace movit”. This is a pretty hard API break, but it's probably the last big API break before 1.0, and some of the names (e.g. Effect, Input ResourcePool) are really so generic that they should not be allowed to pollute the global namespace.
Another round of include-what-you-use.
Fix a bug where PaddingEffect could create assertion errors. The ratinale is explained in the comment, but in short, PaddingEffect could convert blank to premultiplied alpha without realizing that it then needed linear light (since premultiplied alpha in our case is defined as being in linear light). Also added a unit test. Reported by Christophe Thommeret.
Rename RGBATriplet to RGBATuple, to avoid silliness.
Run include-what-you-use over all of movit. Some hand tuning.
Rename the OutputAlphaFormat enums; they had gotten inconsistent after the last alpha-related rename.
Give the alpha enums somewhat better/more consistent names, and shuffle them around a bit.
Add missing unit test.