Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTamito Kajiyama <rd6t-kjym@asahi-net.or.jp>2011-11-14 01:55:13 +0400
committerTamito Kajiyama <rd6t-kjym@asahi-net.or.jp>2011-11-14 01:55:13 +0400
commitcaeeb376013a43da76d7927f415e78ca2ac6586b (patch)
tree14252b40080890280847473d19760ced4e56edab /source/blender/freestyle/intern/blender_interface
parent99f7f3ac81c3854e131562c660183bdf5279dc38 (diff)
Added a new operator in the Parameter Editor mode to make a copy
of the active line set.
Diffstat (limited to 'source/blender/freestyle/intern/blender_interface')
-rw-r--r--source/blender/freestyle/intern/blender_interface/FRS_freestyle.cpp26
1 files changed, 25 insertions, 1 deletions
diff --git a/source/blender/freestyle/intern/blender_interface/FRS_freestyle.cpp b/source/blender/freestyle/intern/blender_interface/FRS_freestyle.cpp
index d88331b7a04..d85ab0b6e82 100644
--- a/source/blender/freestyle/intern/blender_interface/FRS_freestyle.cpp
+++ b/source/blender/freestyle/intern/blender_interface/FRS_freestyle.cpp
@@ -542,7 +542,7 @@ extern "C" {
BLI_insertlinkafter(&config->modules, module_conf->next, module_conf);
}
- void FRS_add_lineset(FreestyleConfig *config)
+ FreestyleLineSet *FRS_add_lineset(FreestyleConfig *config)
{
int lineset_index = BLI_countlist(&config->linesets);
@@ -563,6 +563,30 @@ extern "C" {
else
strcpy(lineset->name, "LineSet");
BLI_uniquename(&config->linesets, lineset, "FreestyleLineSet", '.', offsetof(FreestyleLineSet, name), sizeof(lineset->name));
+
+ return lineset;
+ }
+
+ void FRS_copy_active_lineset(FreestyleConfig *config)
+ {
+ FreestyleLineSet *lineset = FRS_get_active_lineset(config);
+
+ if (lineset) {
+ FreestyleLineSet *new_lineset = FRS_add_lineset(config);
+ new_lineset->linestyle = lineset->linestyle;
+ new_lineset->linestyle->id.us++;
+ new_lineset->flags = lineset->flags;
+ new_lineset->selection = lineset->selection;
+ new_lineset->qi = lineset->qi;
+ new_lineset->qi_start = lineset->qi_start;
+ new_lineset->qi_end = lineset->qi_end;
+ new_lineset->edge_types = lineset->edge_types;
+ if (lineset->group) {
+ new_lineset->group = lineset->group;
+ new_lineset->group->id.us++;
+ }
+ new_lineset->flags |= FREESTYLE_LINESET_CURRENT;
+ }
}
void FRS_delete_active_lineset(FreestyleConfig *config)