From bfbe9e43e108f6816c17b9b7764b75284ac78313 Mon Sep 17 00:00:00 2001 From: Tavian Barnes Date: Wed, 14 Dec 2011 19:27:22 -0500 Subject: Re-think colors. 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. --- libdimension/dimension/finish.h | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'libdimension/dimension/finish.h') diff --git a/libdimension/dimension/finish.h b/libdimension/dimension/finish.h index 2e3b48c..4ac9239 100644 --- a/libdimension/dimension/finish.h +++ b/libdimension/dimension/finish.h @@ -38,14 +38,12 @@ typedef dmnsn_color dmnsn_ambient_fn(const dmnsn_ambient *ambient, /** Ambient finish component. */ struct dmnsn_ambient { - dmnsn_ambient_fn *ambient_fn; /**< Ambient callback. */ - dmnsn_free_fn *free_fn; /**< Destructor callback. */ - void *ptr; /**< Generic data pointer. */ - dmnsn_refcount refcount; /**< @internal Reference count. */ + dmnsn_color ambient; /**< Ambient light. */ + dmnsn_refcount refcount; /**< @internal Reference count. */ }; /** Allocate a dummy ambient component. */ -dmnsn_ambient *dmnsn_new_ambient(void); +dmnsn_ambient *dmnsn_new_ambient(dmnsn_color ambient); /** Delete an ambient component. */ void dmnsn_delete_ambient(dmnsn_ambient *ambient); -- cgit v1.2.3