diff options
author | Tamito Kajiyama <rd6t-kjym@asahi-net.or.jp> | 2014-05-13 06:50:54 +0400 |
---|---|---|
committer | Tamito Kajiyama <rd6t-kjym@asahi-net.or.jp> | 2014-05-13 11:18:32 +0400 |
commit | 19b82be61e47cd30b72b7b215bd46c78e8207c89 (patch) | |
tree | 60fc81c8e1a5cfd1bcc6caf2ee6fdcc1f71802a8 /source/blender/blenkernel | |
parent | c08f025fe1111a60fdd0a90606ed5b08d991b78d (diff) |
Freestyle: Added .new() and .remove() to the collection type of Python style modules.
Diffstat (limited to 'source/blender/blenkernel')
-rw-r--r-- | source/blender/blenkernel/BKE_freestyle.h | 8 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/freestyle.c | 18 |
2 files changed, 18 insertions, 8 deletions
diff --git a/source/blender/blenkernel/BKE_freestyle.h b/source/blender/blenkernel/BKE_freestyle.h index 7d0094d9c1e..bb909e4aa9d 100644 --- a/source/blender/blenkernel/BKE_freestyle.h +++ b/source/blender/blenkernel/BKE_freestyle.h @@ -52,10 +52,10 @@ void BKE_freestyle_config_free(FreestyleConfig *config); void BKE_freestyle_config_copy(FreestyleConfig *new_config, FreestyleConfig *config); /* FreestyleConfig.modules */ -void BKE_freestyle_module_add(FreestyleConfig *config); -void BKE_freestyle_module_delete(FreestyleConfig *config, FreestyleModuleConfig *module_conf); -void BKE_freestyle_module_move_up(FreestyleConfig *config, FreestyleModuleConfig *module_conf); -void BKE_freestyle_module_move_down(FreestyleConfig *config, FreestyleModuleConfig *module_conf); +FreestyleModuleConfig *BKE_freestyle_module_add(FreestyleConfig *config); +bool BKE_freestyle_module_delete(FreestyleConfig *config, FreestyleModuleConfig *module_conf); +bool BKE_freestyle_module_move_up(FreestyleConfig *config, FreestyleModuleConfig *module_conf); +bool BKE_freestyle_module_move_down(FreestyleConfig *config, FreestyleModuleConfig *module_conf); /* FreestyleConfig.linesets */ FreestyleLineSet *BKE_freestyle_lineset_add(FreestyleConfig *config, const char *name); 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) |