Changeset View
Changeset View
Standalone View
Standalone View
source/blender/editors/space_view3d/view3d_manipulator_ruler.c
| Context not available. | |||||
| #include "BKE_object.h" | #include "BKE_object.h" | ||||
| #include "BKE_gpencil.h" | #include "BKE_gpencil.h" | ||||
| #include "BKE_unit.h" | #include "BKE_unit.h" | ||||
| #include "BKE_paint.h" | |||||
| #include "DNA_object_types.h" | #include "DNA_object_types.h" | ||||
| #include "DNA_gpencil_types.h" | #include "DNA_gpencil_types.h" | ||||
| Context not available. | |||||
| { | { | ||||
| // RulerInfo *ruler_info = mgroup->customdata; | // RulerInfo *ruler_info = mgroup->customdata; | ||||
| Scene *scene = CTX_data_scene(C); | Scene *scene = CTX_data_scene(C); | ||||
| bGPdata *gpd; | |||||
| bGPDlayer *gpl; | bGPDlayer *gpl; | ||||
| bGPDframe *gpf; | bGPDframe *gpf; | ||||
| bGPDstroke *gps; | bGPDstroke *gps; | ||||
| bGPDpalette *palette; | bGPDpaletteref *palslot; | ||||
| bGPDpalettecolor *palcolor; | Palette *palette = NULL; | ||||
| PaletteColor *palcolor = NULL; | |||||
| RulerItem *ruler_item; | RulerItem *ruler_item; | ||||
| const char *ruler_name = RULER_ID; | const char *ruler_name = RULER_ID; | ||||
| bool changed = false; | bool changed = false; | ||||
| if (scene->gpd == NULL) { | gpd = BKE_gpencil_data_addnew(CTX_data_main(C), "GPencil"); | ||||
| scene->gpd = BKE_gpencil_data_addnew("GPencil"); | gpl = BLI_findstring(&gpd->layers, ruler_name, offsetof(bGPDlayer, info)); | ||||
| } | |||||
| gpl = BLI_findstring(&scene->gpd->layers, ruler_name, offsetof(bGPDlayer, info)); | |||||
| if (gpl == NULL) { | if (gpl == NULL) { | ||||
| gpl = BKE_gpencil_layer_addnew(scene->gpd, ruler_name, false); | gpl = BKE_gpencil_layer_addnew(scene->gpd, ruler_name, false); | ||||
| gpl->thickness = 1; | gpl->thickness = 1; | ||||
| Context not available. | |||||
| } | } | ||||
| /* try to get active palette or create a new one */ | /* try to get active palette or create a new one */ | ||||
| palette = BKE_gpencil_palette_getactive(scene->gpd); | palslot = BKE_gpencil_paletteslot_validate(CTX_data_main(C), gpd); | ||||
| if (palette == NULL) { | palette = palslot->palette; | ||||
| palette = BKE_gpencil_palette_addnew(scene->gpd, DATA_("GP_Palette"), true); | palcolor = BKE_palette_color_get_active(palette); | ||||
| } | |||||
| /* try to get color with the ruler name or create a new one */ | /* try to get color with the ruler name or create a new one */ | ||||
| palcolor = BKE_gpencil_palettecolor_getbyname(palette, (char *)ruler_name); | palcolor = BKE_palette_color_getbyname(palette, (char *)ruler_name); | ||||
| if (palcolor == NULL) { | if (palcolor == NULL) { | ||||
| palcolor = BKE_gpencil_palettecolor_addnew(palette, (char *)ruler_name, true); | palcolor = BKE_palette_color_add_name(palette, (char *)ruler_name); | ||||
| } | } | ||||
| gpf = BKE_gpencil_layer_getframe(gpl, CFRA, true); | gpf = BKE_gpencil_layer_getframe(gpl, CFRA, true); | ||||
| Context not available. | |||||