[Bf-blender-cvs] [cd12b157562] greasepencil-object: Make Ruler works with Annotations not Grease Pencil object
Antonio Vazquez
noreply at git.blender.org
Mon Jul 9 15:45:19 CEST 2018
Commit: cd12b157562d43baefc692ab3264a79761910c09
Author: Antonio Vazquez
Date: Mon Jul 9 15:44:54 2018 +0200
Branches: greasepencil-object
https://developer.blender.org/rBcd12b157562d43baefc692ab3264a79761910c09
Make Ruler works with Annotations not Grease Pencil object
Now, the ruler is using the annotation datablock (scene) and not a object with materials
===================================================================
M source/blender/editors/space_view3d/view3d_manipulator_ruler.c
M source/blender/editors/space_view3d/view3d_ruler.c
===================================================================
diff --git a/source/blender/editors/space_view3d/view3d_manipulator_ruler.c b/source/blender/editors/space_view3d/view3d_manipulator_ruler.c
index 652b8ad5aa4..0d9efeb2de2 100644
--- a/source/blender/editors/space_view3d/view3d_manipulator_ruler.c
+++ b/source/blender/editors/space_view3d/view3d_manipulator_ruler.c
@@ -400,18 +400,19 @@ static bool view3d_ruler_to_gpencil(bContext *C, wmManipulatorGroup *mgroup)
bool changed = false;
float cur[3] = { 0 };
- Object *gp_ob = ED_add_gpencil_object(C,scene, cur);
- gpd = gp_ob->data;
+ if (scene->gpd == NULL) {
+ scene->gpd = BKE_gpencil_data_addnew(bmain, "Notes");
+ }
+ gpd = scene->gpd;
+
gpl = BLI_findstring(&gpd->layers, ruler_name, offsetof(bGPDlayer, info));
if (gpl == NULL) {
gpl = BKE_gpencil_layer_addnew(gpd, ruler_name, false);
+ copy_v4_v4(gpl->color, U.gpencil_new_layer_col);
gpl->thickness = 1;
gpl->flag |= GP_LAYER_HIDE;
}
- /* try to get active color or create a new one */
- Material *mat = BKE_gpencil_material_ensure(bmain, ob);
-
gpf = BKE_gpencil_layer_getframe(gpl, CFRA, true);
BKE_gpencil_free_strokes(gpf);
@@ -445,8 +446,6 @@ static bool view3d_ruler_to_gpencil(bContext *C, wmManipulatorGroup *mgroup)
}
gps->flag = GP_STROKE_3DSPACE;
gps->thickness = 3;
- /* assign color to stroke */
- gps->mat_nr = BKE_object_material_slot_find_index(ob, mat) - 1;
BLI_addtail(&gpf->strokes, gps);
changed = true;
diff --git a/source/blender/editors/space_view3d/view3d_ruler.c b/source/blender/editors/space_view3d/view3d_ruler.c
index 51351acf4fc..c661782a4d6 100644
--- a/source/blender/editors/space_view3d/view3d_ruler.c
+++ b/source/blender/editors/space_view3d/view3d_ruler.c
@@ -315,18 +315,19 @@ static bool view3d_ruler_to_gpencil(bContext *C, RulerInfo *ruler_info)
/* FIXME: This needs to be reviewed. Should it keep being done like this? */
float cur[3] = { 0 };
- Object *gp_ob = ED_add_gpencil_object(C, scene, cur);
- bGPdata *gpd = gp_ob->data;
+ if (scene->gpd == NULL) {
+ scene->gpd = BKE_gpencil_data_addnew(bmain, "Notes");
+ }
+ bGPdata *gpd = scene->gpd;
+
gpl = BLI_findstring(&gpd->layers, ruler_name, offsetof(bGPDlayer, info));
if (gpl == NULL) {
gpl = BKE_gpencil_layer_addnew(gpd, ruler_name, false);
+ copy_v4_v4(gpl->color, U.gpencil_new_layer_col);
gpl->thickness = 1;
gpl->flag |= GP_LAYER_HIDE;
}
- /* try to get active color or create a new one */
- Material *mat = BKE_gpencil_material_ensure(bmain, ob);
-
gpf = BKE_gpencil_layer_getframe(gpl, CFRA, true);
BKE_gpencil_free_strokes(gpf);
@@ -360,8 +361,6 @@ static bool view3d_ruler_to_gpencil(bContext *C, RulerInfo *ruler_info)
}
gps->flag = GP_STROKE_3DSPACE;
gps->thickness = 3;
- /* assign color to stroke */
- gps->mat_nr = BKE_object_material_slot_find_index(ob, mat) - 1;
BLI_addtail(&gpf->strokes, gps);
changed = true;
More information about the Bf-blender-cvs
mailing list