summaryrefslogtreecommitdiffstats
path: root/libdimension/canvas.c
Commit message (Collapse)AuthorAgeFilesLines
* Add debugging tests for NaN values.Tavian Barnes2012-02-061-0/+1
|
* Use macros to initialize refcounts.Tavian Barnes2011-12-241-3/+1
|
* Re-think colors.Tavian Barnes2011-12-141-6/+6
| | | | | | | | | 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.
* Make API more consistent.Tavian Barnes2011-10-301-6/+6
| | | | Object methods should be dmnsn_<object>_<fn>().
* Update copyright years.Tavian Barnes2011-08-311-1/+1
|
* Vast libdimension API and internals improvements.Tavian Barnes2011-06-131-2/+2
| | | | | Couldn't really do these while I was trying to be POV-Ray compatible, 'cause they would've broken compatibility.
* Don't allocate reference counts on the heap.Tavian Barnes2011-05-281-3/+1
|
* Add a refcount to canvases.Tavian Barnes2011-05-201-10/+7
|
* Don't use awkward (*fptr)() syntax.Tavian Barnes2011-04-031-2/+2
|
* Update email address.Tavian Barnes2011-03-081-1/+1
|
* Document libdimension with Doxygen.Tavian Barnes2010-11-141-7/+15
|
* Add dmnsn_free() to match dmnsn_malloc().Tavian Barnes2010-09-261-3/+3
|
* Don't expose the contents of struct dmnsn_progress.Tavian Barnes2010-07-141-1/+0
|
* Fix some copyright dates.Tavian Barnes2010-05-101-1/+1
|
* Write some more docs, and fix a couple things noticed while writing them.Tavian Barnes2010-05-101-1/+1
|
* New DMNSN_ARRAY_FOREACH() macro, faster than iterating with dmnsn_array_get().Tavian Barnes2010-05-081-10/+5
|
* Use C99 for loop initializers.Tavian Barnes2010-05-051-12/+7
|
* Remove a bunch of errno.h includes.Tavian Barnes2010-04-131-1/+0
|
* New dmnsn_malloc() function, and friends.Tavian Barnes2010-04-071-18/+9
| | | | | | 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-0/+4
|
* New dmnsn_clear_canvas() function.Tavian Barnes2010-03-241-0/+13
| | | | Makes valgrind happier about the GL test.
* Fix up license blurbs and copyright year.Tavian Barnes2010-01-271-1/+1
|
* Clean up some dmnsn_new_*() functions.Tavian Barnes2009-10-261-4/+4
| | | | | Rather than special-case every failed memory allocation, just make dmnsn_delete_*() more robust and call it.
* Don't check if it's too late to add canvas optimizers.Tavian Barnes2009-10-261-12/+2
| | | | This fixes some errors displayed by concurrency checkers like helgrind and drd.
* Add destructor callbacks for polymorphic C types, and use their baseTavian Barnes2009-07-161-0/+1
| | | | dmnsn_delete_*() function.
* Update license copyrights to 2009.Tavian Barnes2009-07-081-1/+1
|
* Comments and style adjustments, and a couple fixes.Tavian Barnes2009-07-081-2/+3
|
* Make optimizer registration fail if a canvas has already been writtenTavian Barnes2009-07-051-2/+11
| | | | to.
* New interface for optimizing canvas conversions by registeringTavian Barnes2009-07-041-0/+39
| | | | dmnsn_set_pixel() callbacks.
* Inline some functions: about a 5% performance boost.Tavian Barnes2009-07-011-22/+0
|
* Remove thread-synchronicity from canvases.Tavian Barnes2009-06-261-100/+10
|
* Add lots of comments, and some code fixes discovered in the process.Tavian Barnes2009-06-261-6/+3
|
* Add some comments.Tavian Barnes2009-04-121-3/+29
|
* Change argument order of dmnsn_set_pixel; write C++ canvas wrapper.Tavian Barnes2009-04-121-2/+2
|
* Clarify licenses; add libdimensionxx library.Tavian Barnes2009-04-101-8/+8
|
* Add read-write mutexes to canvas pixels. New error infrastructure.Tavian Barnes2009-04-081-6/+100
|
* Revamp color handling.Tavian Barnes2009-03-201-164/+2
|
* Use CIE xyY internally, rather than CIE XYZ.Tavian Barnes2009-03-011-23/+34
|
* Initial commit.Tavian Barnes2009-03-011-0/+203