[Bf-blender-cvs] [66f0236b97d] asset-lite-greasepencil: Move `gpencil_asset.c` to C++
Antonio Vazquez
noreply at git.blender.org
Thu Nov 17 15:39:53 CET 2022
Commit: 66f0236b97dfa3d4425fabdb8e2a2ffeb12832d6
Author: Antonio Vazquez
Date: Thu Nov 17 15:39:47 2022 +0100
Branches: asset-lite-greasepencil
https://developer.blender.org/rB66f0236b97dfa3d4425fabdb8e2a2ffeb12832d6
Move `gpencil_asset.c` to C++
This is a basic conversion to compile.
===================================================================
M source/blender/editors/gpencil/CMakeLists.txt
R090 source/blender/editors/gpencil/gpencil_asset.c source/blender/editors/gpencil/gpencil_asset.cc
===================================================================
diff --git a/source/blender/editors/gpencil/CMakeLists.txt b/source/blender/editors/gpencil/CMakeLists.txt
index 374b4238ae7..a72bef3e7e5 100644
--- a/source/blender/editors/gpencil/CMakeLists.txt
+++ b/source/blender/editors/gpencil/CMakeLists.txt
@@ -2,6 +2,7 @@
set(INC
../include
+ ../../asset_system
../../blenfont
../../blenkernel
../../blenlib
@@ -28,7 +29,7 @@ set(SRC
gpencil_add_monkey.c
gpencil_add_stroke.c
gpencil_armature.c
- gpencil_asset.c
+ gpencil_asset.cc
gpencil_bake_animation.cc
gpencil_convert.c
gpencil_data.c
diff --git a/source/blender/editors/gpencil/gpencil_asset.c b/source/blender/editors/gpencil/gpencil_asset.cc
similarity index 90%
rename from source/blender/editors/gpencil/gpencil_asset.c
rename to source/blender/editors/gpencil/gpencil_asset.cc
index f5848d4238f..9b798200511 100644
--- a/source/blender/editors/gpencil/gpencil_asset.c
+++ b/source/blender/editors/gpencil/gpencil_asset.cc
@@ -155,7 +155,7 @@ static bool gpencil_asset_create(const bContext *C,
const bool is_multiedit = (bool)GPENCIL_MULTIEDIT_SESSIONS_ON(gpd_src);
/* Create a copy of selected data block. */
- bGPdata *gpd = (bGPdata *)BKE_id_copy(bmain, &gpd_src->id);
+ bGPdata *gpd = reinterpret_cast<bGPdata *>(BKE_id_copy(bmain, &gpd_src->id));
/* Enable fake user by default. */
id_fake_user_set(&gpd->id);
/* Disable Edit mode. */
@@ -188,8 +188,8 @@ static bool gpencil_asset_create(const bContext *C,
}
/* Remove parenting data (feature non supported in data block). */
- if (gpl->parent != NULL) {
- gpl->parent = NULL;
+ if (gpl->parent != nullptr) {
+ gpl->parent = nullptr;
gpl->parsubstr[0] = 0;
gpl->partype = 0;
non_supported_feature = true;
@@ -198,12 +198,13 @@ static bool gpencil_asset_create(const bContext *C,
/* Remove masking (feature non supported in data block). */
if (gpl->mask_layers.first) {
bGPDlayer_Mask *mask_next;
- for (bGPDlayer_Mask *mask = gpl->mask_layers.first; mask; mask = mask_next) {
+ for (bGPDlayer_Mask *mask = static_cast<bGPDlayer_Mask *>(gpl->mask_layers.first); mask;
+ mask = mask_next) {
mask_next = mask->next;
BKE_gpencil_layer_mask_remove(gpl, mask);
}
- gpl->mask_layers.first = NULL;
- gpl->mask_layers.last = NULL;
+ gpl->mask_layers.first = nullptr;
+ gpl->mask_layers.last = nullptr;
non_supported_feature = true;
}
@@ -318,7 +319,7 @@ static bool gpencil_asset_create(const bContext *C,
apply_layer_settings(gpl);
}
- bGPDlayer *gpl_dst = gpd->layers.first;
+ bGPDlayer *gpl_dst = static_cast<bGPDlayer *>(gpd->layers.first);
LISTBASE_FOREACH_BACKWARD_MUTABLE (bGPDlayer *, gpl, &gpd->layers) {
if (gpl == gpl_dst) {
break;
@@ -350,7 +351,7 @@ static bool gpencil_asset_edit_poll(bContext *C)
const enum eContextObjectMode mode = CTX_data_mode_enum(C);
Object *ob = CTX_data_active_object(C);
- if ((ob == NULL) || (ob->type != OB_GPENCIL)) {
+ if ((ob == nullptr) || (ob->type != OB_GPENCIL)) {
CTX_wm_operator_poll_msg_set(C, "Need a Grease Pencil object selected");
return false;
}
@@ -367,9 +368,9 @@ static bool gpencil_asset_edit_poll(bContext *C)
static int gpencil_asset_create_exec(bContext *C, wmOperator *op)
{
Object *ob = CTX_data_active_object(C);
- bGPdata *gpd_src = ob->data;
+ bGPdata *gpd_src = static_cast<bGPdata *>(ob->data);
- const eGP_AssetSource source = RNA_enum_get(op->ptr, "source");
+ const eGP_AssetSource source = static_cast<eGP_AssetSource>(RNA_enum_get(op->ptr, "source"));
const bool reset_origin = RNA_boolean_get(op->ptr, "reset_origin");
const bool flatten_layers = RNA_boolean_get(op->ptr, "flatten_layers");
@@ -382,7 +383,7 @@ static int gpencil_asset_create_exec(bContext *C, wmOperator *op)
}
else {
non_supported_feature = gpencil_asset_create(
- C, op, gpd_src, NULL, source, reset_origin, flatten_layers);
+ C, op, gpd_src, nullptr, source, reset_origin, flatten_layers);
}
/* Warnings for non supported features in the created asset. */
@@ -393,8 +394,8 @@ static int gpencil_asset_create_exec(bContext *C, wmOperator *op)
"asset type. These features have been omitted in the asset.");
}
- WM_main_add_notifier(NC_ID | NA_EDITED, NULL);
- WM_main_add_notifier(NC_ASSET | NA_ADDED, NULL);
+ WM_main_add_notifier(NC_ID | NA_EDITED, nullptr);
+ WM_main_add_notifier(NC_ASSET | NA_ADDED, nullptr);
return OPERATOR_FINISHED;
}
@@ -444,7 +445,7 @@ void GPENCIL_OT_asset_create(wmOperatorType *ot)
0,
"Selected Points",
"Create asset using all selected points"},
- {0, NULL, 0, NULL, NULL},
+ {0, nullptr, 0, nullptr, nullptr},
};
/* identifiers */
@@ -484,11 +485,11 @@ static Material *gpencil_asset_material_get_from_id(ID *id, const int slot_index
const short *tot_slots_data_ptr = BKE_id_material_len_p(id);
const int tot_slots_data = tot_slots_data_ptr ? *tot_slots_data_ptr : 0;
if (slot_index >= tot_slots_data) {
- return NULL;
+ return nullptr;
}
Material ***materials_data_ptr = BKE_id_material_array_p(id);
- Material **materials_data = materials_data_ptr ? *materials_data_ptr : NULL;
+ Material **materials_data = materials_data_ptr ? *materials_data_ptr : nullptr;
Material *material = materials_data[slot_index];
return material;
@@ -570,7 +571,8 @@ static bool gpencil_asset_append_strokes(tGPDasset *tgpa)
}
/* Alloc array of strokes. */
- tgpa->data = MEM_calloc_arrayN(tgpa->data_len, sizeof(tGPDAssetStroke), __func__);
+ tgpa->data = static_cast<tGPDAssetStroke *>(
+ MEM_calloc_arrayN(tgpa->data_len, sizeof(tGPDAssetStroke), __func__));
int data_index = 0;
LISTBASE_FOREACH (bGPDlayer *, gpl_asset, &gpd_asset->layers) {
@@ -578,10 +580,10 @@ static bool gpencil_asset_append_strokes(tGPDasset *tgpa)
bGPDlayer *gpl_target = BKE_gpencil_layer_get_by_name(gpd_target, gpl_asset->info, false);
bool is_new_gpl = false;
- if (gpl_target == NULL) {
+ if (gpl_target == nullptr) {
gpl_target = BKE_gpencil_layer_duplicate(gpl_asset, false, false);
- BLI_assert(gpl_target != NULL);
- gpl_target->actframe = NULL;
+ BLI_assert(gpl_target != nullptr);
+ gpl_target->actframe = nullptr;
BLI_listbase_clear(&gpl_target->frames);
BLI_addtail(&gpd_target->layers, gpl_target);
is_new_gpl = true;
@@ -590,7 +592,7 @@ static bool gpencil_asset_append_strokes(tGPDasset *tgpa)
LISTBASE_FOREACH (bGPDframe *, gpf_asset, &gpl_asset->frames) {
/* Check if frame is in target layer. */
int fra = tgpa->cframe + (gpf_asset->framenum - 1);
- bGPDframe *gpf_target = NULL;
+ bGPDframe *gpf_target = nullptr;
/* Find a frame in same frame number. */
LISTBASE_FOREACH (bGPDframe *, gpf_find, &gpl_target->frames) {
if (gpf_find->framenum == fra) {
@@ -602,14 +604,14 @@ static bool gpencil_asset_append_strokes(tGPDasset *tgpa)
bool is_new_gpf = false;
/* Check Rec button. If button is disabled, try to use active frame.
* If no active keyframe, must create a new frame. */
- if ((gpf_target == NULL) && (!IS_AUTOKEY_ON(tgpa->scene))) {
+ if ((gpf_target == nullptr) && (!IS_AUTOKEY_ON(tgpa->scene))) {
gpf_target = BKE_gpencil_layer_frame_get(gpl_target, fra, GP_GETFRAME_USE_PREV);
}
- if (gpf_target == NULL) {
+ if (gpf_target == nullptr) {
gpf_target = BKE_gpencil_frame_addnew(gpl_target, fra);
gpl_target->actframe = gpf_target;
- BLI_assert(gpf_target != NULL);
+ BLI_assert(gpf_target != nullptr);
BLI_listbase_clear(&gpf_target->strokes);
is_new_gpf = true;
}
@@ -621,7 +623,7 @@ static bool gpencil_asset_append_strokes(tGPDasset *tgpa)
}
bGPDstroke *gps_target = BKE_gpencil_stroke_duplicate(gps_asset, true, true);
- gps_target->next = gps_target->prev = NULL;
+ gps_target->next = gps_target->prev = nullptr;
gps_target->flag &= ~GP_STROKE_SELECT;
BLI_addtail(&gpf_target->strokes, gps_target);
@@ -629,9 +631,9 @@ static bool gpencil_asset_append_strokes(tGPDasset *tgpa)
Material *ma_src = gpencil_asset_material_get_from_id(&tgpa->gpd_asset->id,
gps_asset->mat_nr);
- int mat_index = (ma_src != NULL) ? BKE_gpencil_object_material_index_get_by_name(
- tgpa->ob, ma_src->id.name + 2) :
- -1;
+ int mat_index = (ma_src != nullptr) ? BKE_gpencil_object_material_index_get_by_name(
+ tgpa->ob, ma_src->id.name + 2) :
+ -1;
bool is_new_mat = false;
if (mat_index == -1) {
const int totcolors = tgpa->ob->totcol;
@@ -692,10 +694,10 @@ static bool gpencil_asset_append_strokes(tGPDasset *tgpa)
/* Exit and free memory */
static void gpencil_asset_import_exit(bContext *C, wmOperator *op)
{
- tGPDasset *tgpa = op->customdata;
+ tGPDasset *tgpa = static_cast<tGPDasset *>(op->customdata);
if (tgpa) {
- bGPdata *gpd = tgpa->gpd;
+ bGPdata *gpd = static_cast<bGPdata *>(tgpa->gpd);
/* Free data. */
MEM_SAFE_FREE(tgpa->data);
@@ -704,31 +706,32 @@ static void gpencil_asset_import_exit(bContext *C, wmOperator *op)
DEG_id_tag_update(&gpd->id, ID_RECALC_TRANSFORM | ID_RECALC_GEOMETRY);
}
- WM_event_add_notifier(C, NC_GPENCIL | NA_EDITED | ND_DATA, NULL);
+ WM_event_add_notifier(C, NC_GPENCIL | NA_EDITED | ND_DATA, nullptr);
/* Clear pointer. */
- op->customdata = NULL;
+ op->customdata = nullptr;
}
/* Allocate memory and initialize values */
static tGPDasset *gpencil_session_init_asset_import(bContext *C, wmOperator *op)
{
Main *bmain = CTX_data_main(C);
- ID *id = NULL;
+ ID *id = nullptr;
PropertyRNA *prop_type = RNA_struct_find_property(op->ptr, "type");
const short id_type = RNA_property_enum_get(op->ptr,
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list