From 19b82be61e47cd30b72b7b215bd46c78e8207c89 Mon Sep 17 00:00:00 2001 From: Tamito Kajiyama Date: Tue, 13 May 2014 11:50:54 +0900 Subject: Freestyle: Added .new() and .remove() to the collection type of Python style modules. --- source/blender/blenkernel/intern/freestyle.c | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) (limited to 'source/blender/blenkernel/intern/freestyle.c') diff --git a/source/blender/blenkernel/intern/freestyle.c b/source/blender/blenkernel/intern/freestyle.c index 495e99d61af..445acc850e6 100644 --- a/source/blender/blenkernel/intern/freestyle.c +++ b/source/blender/blenkernel/intern/freestyle.c @@ -127,12 +127,13 @@ static FreestyleModuleConfig *alloc_module(void) return (FreestyleModuleConfig *)MEM_callocN(sizeof(FreestyleModuleConfig), "style module configuration"); } -void BKE_freestyle_module_add(FreestyleConfig *config) +FreestyleModuleConfig *BKE_freestyle_module_add(FreestyleConfig *config) { FreestyleModuleConfig *module_conf = alloc_module(); BLI_addtail(&config->modules, (void *)module_conf); module_conf->script = NULL; module_conf->is_displayed = 1; + return module_conf; } static void copy_module(FreestyleModuleConfig *new_module, FreestyleModuleConfig *module) @@ -141,21 +142,30 @@ static void copy_module(FreestyleModuleConfig *new_module, FreestyleModuleConfig new_module->is_displayed = module->is_displayed; } -void BKE_freestyle_module_delete(FreestyleConfig *config, FreestyleModuleConfig *module_conf) +bool BKE_freestyle_module_delete(FreestyleConfig *config, FreestyleModuleConfig *module_conf) { + if (BLI_findindex(&config->modules, module_conf) == -1) + return false; BLI_freelinkN(&config->modules, module_conf); + return true; } -void BKE_freestyle_module_move_up(FreestyleConfig *config, FreestyleModuleConfig *module_conf) +bool BKE_freestyle_module_move_up(FreestyleConfig *config, FreestyleModuleConfig *module_conf) { + if (BLI_findindex(&config->modules, module_conf) == -1) + return false; BLI_remlink(&config->modules, module_conf); BLI_insertlinkbefore(&config->modules, module_conf->prev, module_conf); + return true; } -void BKE_freestyle_module_move_down(FreestyleConfig *config, FreestyleModuleConfig *module_conf) +bool BKE_freestyle_module_move_down(FreestyleConfig *config, FreestyleModuleConfig *module_conf) { + if (BLI_findindex(&config->modules, module_conf) == -1) + return false; BLI_remlink(&config->modules, module_conf); BLI_insertlinkafter(&config->modules, module_conf->next, module_conf); + return true; } void BKE_freestyle_lineset_unique_name(FreestyleConfig *config, FreestyleLineSet *lineset) -- cgit v1.2.3