Initial Grease Pencil 3.0 stage #106848
|
@ -92,7 +92,7 @@ static void grease_pencil_copy_data(Main * /*bmain*/,
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
grease_pencil_dst->drawing_array[i]->user_count = src_drawing_base->user_count;
|
/* TODO: Update drawing user counts. */
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Do not copy layer tree storage. */
|
/* Do not copy layer tree storage. */
|
||||||
|
@ -900,11 +900,12 @@ void GreasePencil::add_empty_drawings(const int add_size)
|
||||||
for (const int i : new_drawings.index_range()) {
|
for (const int i : new_drawings.index_range()) {
|
||||||
new_drawings[i] = reinterpret_cast<GreasePencilDrawingBase *>(
|
new_drawings[i] = reinterpret_cast<GreasePencilDrawingBase *>(
|
||||||
MEM_new<GreasePencilDrawing>(__func__));
|
MEM_new<GreasePencilDrawing>(__func__));
|
||||||
new_drawings[i]->user_count = 0;
|
|
||||||
GreasePencilDrawing *drawing = reinterpret_cast<GreasePencilDrawing *>(new_drawings[i]);
|
GreasePencilDrawing *drawing = reinterpret_cast<GreasePencilDrawing *>(new_drawings[i]);
|
||||||
new (&drawing->geometry) bke::CurvesGeometry();
|
new (&drawing->geometry) bke::CurvesGeometry();
|
||||||
drawing->runtime = MEM_new<bke::GreasePencilDrawingRuntime>(__func__);
|
drawing->runtime = MEM_new<bke::GreasePencilDrawingRuntime>(__func__);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* TODO: Update drawing user counts. */
|
||||||
}
|
}
|
||||||
|
|
||||||
void GreasePencil::remove_drawing(const int index_to_remove)
|
void GreasePencil::remove_drawing(const int index_to_remove)
|
||||||
|
|
|
@ -248,10 +248,11 @@ void legacy_gpencil_to_grease_pencil(Main &bmain, GreasePencil &grease_pencil, b
|
||||||
new_frame.type = gpf->key_type;
|
new_frame.type = gpf->key_type;
|
||||||
SET_FLAG_FROM_TEST(new_frame.flag, (gpf->flag & GP_FRAME_SELECT), GP_FRAME_SELECTED);
|
SET_FLAG_FROM_TEST(new_frame.flag, (gpf->flag & GP_FRAME_SELECT), GP_FRAME_SELECTED);
|
||||||
new_layer.insert_frame(gpf->framenum, std::move(new_frame));
|
new_layer.insert_frame(gpf->framenum, std::move(new_frame));
|
||||||
drawing.base.user_count = 1;
|
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* TODO: Update drawing user counts. */
|
||||||
|
|
||||||
new_layer.tag_frames_map_keys_changed();
|
new_layer.tag_frames_map_keys_changed();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -79,11 +79,6 @@ typedef struct GreasePencilDrawingBase {
|
||||||
* Flag. Used to set e.g. the selection status. See `GreasePencilDrawingBaseFlag`.
|
* Flag. Used to set e.g. the selection status. See `GreasePencilDrawingBaseFlag`.
|
||||||
*/
|
*/
|
||||||
uint32_t flag;
|
uint32_t flag;
|
||||||
/**
|
|
||||||
* Number of users of this drawing in the layer tree.
|
|
||||||
*/
|
|
||||||
int32_t user_count;
|
|
||||||
char _pad2[4];
|
|
||||||
} GreasePencilDrawingBase;
|
} GreasePencilDrawingBase;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in New Issue