summaryrefslogtreecommitdiffstats
path: root/libdimension/png.c
Commit message (Collapse)AuthorAgeFilesLines
* png: Fix a trivial bug found by the last commit.Tavian Barnes2014-05-061-1/+1
|
* malloc: New DMNSN_MALLOC() macro to save a sizeof().Tavian Barnes2014-05-061-5/+3
|
* gl: Make drawing faster by using a better pixel format.Tavian Barnes2014-04-271-16/+14
|
* Fix some warnings found by higher warning levels than -Wall.Tavian Barnes2014-03-011-2/+2
|
* Re-think colors.Tavian Barnes2011-12-141-29/+29
| | | | | | | | | Color is a property of light, and thus doesn't include information about transparency. But canvas pixels and object pigments represent a color and a degree of transparency. The new type dmnsn_tcolor/ TColor encapsulates that information. Also, fix the transparent shadow implementation.
* Fix reading of 8-bit PNG files.Tavian Barnes2011-12-061-7/+7
|
* Make PNG and GL share the same optimizer.Tavian Barnes2011-10-301-39/+2
|
* Make API more consistent.Tavian Barnes2011-10-301-4/+5
| | | | Object methods should be dmnsn_<object>_<fn>().
* Rename progress objects to future objects.Tavian Barnes2011-10-191-30/+30
|
* Round correctly when converting colors to integers.Tavian Barnes2011-09-181-11/+10
|
* Simplify canvas export functions a bit.Tavian Barnes2011-08-271-63/+8
|
* Rename dimension-impl.h to dimension-internal.hTavian Barnes2011-08-251-1/+1
|
* Fix dmnsn_png_read_canvas() error handling.Tavian Barnes2011-08-151-14/+9
|
* Handle sRGB gamma correctly.Tavian Barnes2011-05-281-1/+5
|
* Calculate alpha correctly for canvas exports.Tavian Barnes2011-05-201-1/+2
|
* Switch to Blender model of filtered transparency.Tavian Barnes2011-05-201-8/+6
|
* Fix typo in PNG reading.Tavian Barnes2011-05-161-4/+4
|
* Make colors less abstract.Tavian Barnes2011-04-221-94/+51
|
* Take into account color intensity for filtered transparency in canvas export.Tavian Barnes2011-04-221-1/+1
|
* Don't use awkward (*fptr)() syntax.Tavian Barnes2011-04-031-7/+7
|
* Update email address.Tavian Barnes2011-03-081-1/+1
|
* Fix license years.Tavian Barnes2011-02-171-1/+1
|
* Get rid of the unused multi-level loop crap in dmnsn_progress* objects.Tavian Barnes2011-02-171-2/+2
|
* Add dmnsn_[un]likely() macros and a profiling framework.Tavian Barnes2011-01-291-1/+0
|
* Document libdimension with Doxygen.Tavian Barnes2010-11-141-16/+22
|
* Missed some free() -> dmnsn_free() conversions.Tavian Barnes2010-10-181-1/+1
|
* Use __thread for TLS in png.c.Tavian Barnes2010-09-301-32/+3
|
* Make dmnsn_new_thread() bail out on errors.Tavian Barnes2010-09-291-10/+2
|
* Add dmnsn_free() to match dmnsn_malloc().Tavian Barnes2010-09-261-13/+13
|
* Rename dimension_impl.h to dimension-impl.h.Tavian Barnes2010-07-141-1/+1
|
* Move platform-specific stuff in libdimension into platform.c.Tavian Barnes2010-06-291-2/+1
|
* Fix some copyright dates.Tavian Barnes2010-05-101-1/+1
|
* New dmnsn_new_thread() function.Tavian Barnes2010-05-091-145/+117
| | | | | | | Two advantages: first, waiters are guaranteed to wake if a dmnsn_error() cancels a thread. Second, the thread library is fully abstracted over by threads.{c,h} and progress.{c,h} now, though raytrace.c is still using pthread_create() directly.
* Clean up some unused variables.Tavian Barnes2010-05-091-3/+1
|
* New DMNSN_ARRAY_FOREACH() macro, faster than iterating with dmnsn_array_get().Tavian Barnes2010-05-081-7/+5
|
* Use C99 for loop initializers.Tavian Barnes2010-05-051-19/+16
|
* New dmnsn_malloc() function, and friends.Tavian Barnes2010-04-071-83/+35
| | | | | | I'm tired of checking for malloc failures everywhere, considering it never happens. So just bail out whenever it does. A lot of stuff is guaranteed to succeed if it returns now.
* Set errno on failures.Tavian Barnes2010-04-011-8/+18
|
* Fix up license blurbs and copyright year.Tavian Barnes2010-01-271-1/+1
|
* Translucency support.Tavian Barnes2009-11-181-4/+16
|
* Don't flip optimized PNG writes.Tavian Barnes2009-10-301-2/+3
|
* Don't check if it's too late to add canvas optimizers.Tavian Barnes2009-10-261-5/+1
| | | | This fixes some errors displayed by concurrency checkers like helgrind and drd.
* Code formatting.Tavian Barnes2009-07-091-15/+29
|
* New interface for background progress bars in C++ tests.Tavian Barnes2009-07-091-1/+1
|
* Update license copyrights to 2009.Tavian Barnes2009-07-081-1/+1
|
* Make optimizer registration fail if a canvas has already been writtenTavian Barnes2009-07-051-1/+4
| | | | to.
* New interface for optimizing canvas conversions by registeringTavian Barnes2009-07-041-2/+96
| | | | dmnsn_set_pixel() callbacks.
* Add lots of comments, and some code fixes discovered in the process.Tavian Barnes2009-06-261-12/+24
|
* Finish asynchronous PNG interface, and test it in png test.Tavian Barnes2009-06-221-29/+95
|
* New asynchronous PNG interface.Tavian Barnes2009-06-221-3/+119
|