From 7ecc68172b00ef429ebde05064c8dfe39c25ecb9 Mon Sep 17 00:00:00 2001 From: Tavian Barnes Date: Wed, 15 Jun 2011 13:53:29 -0600 Subject: Add .pigment and .finish properties to Textures. --- libdimension/dimension/finish.h | 6 ++++++ libdimension/finish.c | 18 ++++++++++++++++++ 2 files changed, 24 insertions(+) (limited to 'libdimension') diff --git a/libdimension/dimension/finish.h b/libdimension/dimension/finish.h index a163496..a16ea1b 100644 --- a/libdimension/dimension/finish.h +++ b/libdimension/dimension/finish.h @@ -161,6 +161,12 @@ dmnsn_finish dmnsn_new_finish(void); */ void dmnsn_delete_finish(dmnsn_finish finish); +/** + * Increment a finish's reference count. + * @param[in,out] finish The finish to acquire. + */ +void dmnsn_finish_incref(dmnsn_finish *finish); + /** * Fill missing finish properties from a default finish. * @param[in] default_finish The default finish. diff --git a/libdimension/finish.c b/libdimension/finish.c index d356676..6c30646 100644 --- a/libdimension/finish.c +++ b/libdimension/finish.c @@ -129,6 +129,24 @@ dmnsn_delete_finish(dmnsn_finish finish) dmnsn_delete_ambient(finish.ambient); } +void +dmnsn_finish_incref(dmnsn_finish *finish) +{ + if (finish->ambient) { + DMNSN_INCREF(finish->ambient); + } + if (finish->diffuse) { + DMNSN_INCREF(finish->diffuse); + } + if (finish->specular) { + DMNSN_INCREF(finish->specular); + } + if (finish->reflection) { + DMNSN_INCREF(finish->reflection); + } + +} + void dmnsn_finish_cascade(const dmnsn_finish *default_finish, dmnsn_finish *finish) { -- cgit v1.2.3