[Bf-blender-cvs] [73b047bcd43] master: Cleanup: Changed keyframe_keylist to CPP.
Jeroen Bakker
noreply at git.blender.org
Mon Aug 9 13:00:33 CEST 2021
Commit: 73b047bcd431c57687bc0c501dea97f44bd28b22
Author: Jeroen Bakker
Date: Mon Aug 9 12:59:28 2021 +0200
Branches: master
https://developer.blender.org/rB73b047bcd431c57687bc0c501dea97f44bd28b22
Cleanup: Changed keyframe_keylist to CPP.
Just a straight-forward change. Not utilizing CPP features.
===================================================================
M source/blender/editors/animation/CMakeLists.txt
R081 source/blender/editors/animation/keyframes_keylist.c source/blender/editors/animation/keyframes_keylist.cc
===================================================================
diff --git a/source/blender/editors/animation/CMakeLists.txt b/source/blender/editors/animation/CMakeLists.txt
index 7a53b54b5a4..d9f52d90766 100644
--- a/source/blender/editors/animation/CMakeLists.txt
+++ b/source/blender/editors/animation/CMakeLists.txt
@@ -47,7 +47,7 @@ set(SRC
keyframes_draw.c
keyframes_edit.c
keyframes_general.c
- keyframes_keylist.c
+ keyframes_keylist.cc
keyframing.c
keyingsets.c
time_scrub_ui.c
diff --git a/source/blender/editors/animation/keyframes_keylist.c b/source/blender/editors/animation/keyframes_keylist.cc
similarity index 81%
rename from source/blender/editors/animation/keyframes_keylist.c
rename to source/blender/editors/animation/keyframes_keylist.cc
index 98aedb9cd0c..85036efc983 100644
--- a/source/blender/editors/animation/keyframes_keylist.c
+++ b/source/blender/editors/animation/keyframes_keylist.cc
@@ -23,10 +23,10 @@
/* System includes ----------------------------------------------------- */
-#include <float.h>
-#include <math.h>
-#include <stdlib.h>
-#include <string.h>
+#include <cfloat>
+#include <cmath>
+#include <cstdlib>
+#include <cstring>
#include "MEM_guardedalloc.h"
@@ -47,11 +47,12 @@
#include "ED_anim_api.h"
#include "ED_keyframes_keylist.h"
+extern "C" {
/* *************************** Keyframe Processing *************************** */
-typedef struct AnimKeylist {
+struct AnimKeylist {
DLRBT_Tree keys;
-} AnimKeylist;
+};
static void ED_keylist_init(AnimKeylist *keylist)
{
@@ -60,7 +61,7 @@ static void ED_keylist_init(AnimKeylist *keylist)
AnimKeylist *ED_keylist_create(void)
{
- AnimKeylist *keylist = MEM_callocN(sizeof(AnimKeylist), __func__);
+ AnimKeylist *keylist = static_cast<AnimKeylist *>(MEM_callocN(sizeof(AnimKeylist), __func__));
ED_keylist_init(keylist);
return keylist;
}
@@ -93,18 +94,19 @@ const ActKeyColumn *ED_keylist_find_prev(const AnimKeylist *keylist, float cfra)
const ActKeyColumn *ED_keylist_find_any_between(const AnimKeylist *keylist,
const Range2f frame_range)
{
- for (const ActKeyColumn *ak = keylist->keys.root; ak;
- ak = (ak->cfra < frame_range.min) ? ak->right : ak->left) {
+ for (const ActKeyColumn *ak = static_cast<const ActKeyColumn *>(keylist->keys.root); ak;
+ ak = static_cast<const ActKeyColumn *>((ak->cfra < frame_range.min) ? ak->right :
+ ak->left)) {
if (range2f_in_range(&frame_range, ak->cfra)) {
return ak;
}
}
- return NULL;
+ return nullptr;
}
bool ED_keylist_is_empty(const struct AnimKeylist *keylist)
{
- return keylist->keys.root == NULL;
+ return keylist->keys.root == nullptr;
}
const struct ListBase *ED_keylist_listbase(const AnimKeylist *keylist)
@@ -145,7 +147,7 @@ BLI_INLINE bool is_cfra_lt(const float a, const float b)
short compare_ak_cfraPtr(void *node, void *data)
{
ActKeyColumn *ak = (ActKeyColumn *)node;
- const float *cframe = data;
+ const float *cframe = static_cast<const float *>(data);
const float val = *cframe;
if (is_cfra_eq(val, ak->cfra)) {
@@ -161,13 +163,13 @@ short compare_ak_cfraPtr(void *node, void *data)
/* --------------- */
/* Set of references to three logically adjacent keys. */
-typedef struct BezTripleChain {
+struct BezTripleChain {
/* Current keyframe. */
BezTriple *cur;
- /* Logical neighbors. May be NULL. */
+ /* Logical neighbors. May be nullptr. */
BezTriple *prev, *next;
-} BezTripleChain;
+};
/* Categorize the interpolation & handle type of the keyframe. */
static eKeyframeHandleDrawOpts bezt_handle_type(const BezTriple *bezt)
@@ -192,7 +194,7 @@ static eKeyframeHandleDrawOpts bezt_handle_type(const BezTriple *bezt)
*/
static eKeyframeExtremeDrawOpts bezt_extreme_type(const BezTripleChain *chain)
{
- if (chain->prev == NULL && chain->next == NULL) {
+ if (chain->prev == nullptr && chain->next == nullptr) {
return KEYFRAME_EXTREME_NONE;
}
@@ -227,13 +229,15 @@ static eKeyframeExtremeDrawOpts bezt_extreme_type(const BezTripleChain *chain)
if (prev_y < cur_y || next_y < cur_y) {
const bool is_overshoot = (handle_l > cur_y || handle_r > cur_y);
- return KEYFRAME_EXTREME_MAX | (is_overshoot ? KEYFRAME_EXTREME_MIXED : 0);
+ return static_cast<eKeyframeExtremeDrawOpts>(KEYFRAME_EXTREME_MAX |
+ (is_overshoot ? KEYFRAME_EXTREME_MIXED : 0));
}
if (prev_y > cur_y || next_y > cur_y) {
const bool is_overshoot = (handle_l < cur_y || handle_r < cur_y);
- return KEYFRAME_EXTREME_MIN | (is_overshoot ? KEYFRAME_EXTREME_MIXED : 0);
+ return static_cast<eKeyframeExtremeDrawOpts>(KEYFRAME_EXTREME_MIN |
+ (is_overshoot ? KEYFRAME_EXTREME_MIXED : 0));
}
return KEYFRAME_EXTREME_NONE;
@@ -242,7 +246,7 @@ static eKeyframeExtremeDrawOpts bezt_extreme_type(const BezTripleChain *chain)
/* Comparator callback used for ActKeyColumns and BezTripleChain */
static short compare_ak_bezt(void *node, void *data)
{
- BezTripleChain *chain = data;
+ BezTripleChain *chain = static_cast<BezTripleChain *>(data);
return compare_ak_cfraPtr(node, &chain->cur->vec[1][0]);
}
@@ -250,8 +254,9 @@ static short compare_ak_bezt(void *node, void *data)
/* New node callback used for building ActKeyColumns from BezTripleChain */
static DLRBT_Node *nalloc_ak_bezt(void *data)
{
- ActKeyColumn *ak = MEM_callocN(sizeof(ActKeyColumn), "ActKeyColumn");
- const BezTripleChain *chain = data;
+ ActKeyColumn *ak = static_cast<ActKeyColumn *>(
+ MEM_callocN(sizeof(ActKeyColumn), "ActKeyColumn"));
+ const BezTripleChain *chain = static_cast<const BezTripleChain *>(data);
const BezTriple *bezt = chain->cur;
/* store settings based on state of BezTriple */
@@ -270,8 +275,8 @@ static DLRBT_Node *nalloc_ak_bezt(void *data)
/* Node updater callback used for building ActKeyColumns from BezTripleChain */
static void nupdate_ak_bezt(void *node, void *data)
{
- ActKeyColumn *ak = node;
- const BezTripleChain *chain = data;
+ ActKeyColumn *ak = static_cast<ActKeyColumn *>(node);
+ const BezTripleChain *chain = static_cast<const BezTripleChain *>(data);
const BezTriple *bezt = chain->cur;
/* set selection status and 'touched' status */
@@ -319,7 +324,8 @@ static short compare_ak_gpframe(void *node, void *data)
/* New node callback used for building ActKeyColumns from GPencil frames */
static DLRBT_Node *nalloc_ak_gpframe(void *data)
{
- ActKeyColumn *ak = MEM_callocN(sizeof(ActKeyColumn), "ActKeyColumnGPF");
+ ActKeyColumn *ak = static_cast<ActKeyColumn *>(
+ MEM_callocN(sizeof(ActKeyColumn), "ActKeyColumnGPF"));
const bGPDframe *gpf = (bGPDframe *)data;
/* store settings based on state of BezTriple */
@@ -372,7 +378,8 @@ static short compare_ak_masklayshape(void *node, void *data)
/* New node callback used for building ActKeyColumns from GPencil frames */
static DLRBT_Node *nalloc_ak_masklayshape(void *data)
{
- ActKeyColumn *ak = MEM_callocN(sizeof(ActKeyColumn), "ActKeyColumnGPF");
+ ActKeyColumn *ak = static_cast<ActKeyColumn *>(
+ MEM_callocN(sizeof(ActKeyColumn), "ActKeyColumnGPF"));
const MaskLayerShape *masklay_shape = (const MaskLayerShape *)data;
/* store settings based on state of BezTriple */
@@ -405,7 +412,7 @@ static void nupdate_ak_masklayshape(void *node, void *data)
/* Add the given BezTriple to the given 'list' of Keyframes */
static void add_bezt_to_keycolumns_list(AnimKeylist *keylist, BezTripleChain *bezt)
{
- if (ELEM(NULL, keylist, bezt)) {
+ if (ELEM(nullptr, keylist, bezt)) {
return;
}
@@ -415,7 +422,7 @@ static void add_bezt_to_keycolumns_list(AnimKeylist *keylist, BezTripleChain *be
/* Add the given GPencil Frame to the given 'list' of Keyframes */
static void add_gpframe_to_keycolumns_list(AnimKeylist *keylist, bGPDframe *gpf)
{
- if (ELEM(NULL, keylist, gpf)) {
+ if (ELEM(nullptr, keylist, gpf)) {
return;
}
@@ -425,7 +432,7 @@ static void add_gpframe_to_keycolumns_list(AnimKeylist *keylist, bGPDframe *gpf)
/* Add the given MaskLayerShape Frame to the given 'list' of Keyframes */
static void add_masklay_to_keycolumns_list(AnimKeylist *keylist, MaskLayerShape *masklay_shape)
{
- if (ELEM(NULL, keylist, masklay_shape)) {
+ if (ELEM(nullptr, keylist, masklay_shape)) {
return;
}
@@ -507,20 +514,20 @@ static void add_keyblock_info(ActKeyColumn *col, const ActKeyBlockInfo *block)
static void add_bezt_to_keyblocks_list(AnimKeylist *keylist, BezTriple *bezt, const int bezt_len)
{
- ActKeyColumn *col = keylist->keys.first;
+ ActKeyColumn *col = static_cast<ActKeyColumn *>(keylist->keys.first);
if (bezt && bezt_len >= 2) {
ActKeyBlockInfo block;
/* Find the first key column while inserting dummy blocks. */
- for (; col != NULL && is_cfra_lt(col->cfra, bezt[0].vec[1][0]); col = col->next) {
+ for (; col != nullptr && is_cfra_lt(col->cfra, bezt[0].vec[1][0]); col = col->next) {
add_keyblock_info(col, &dummy_keyblock);
}
- BLI_assert(col != NULL);
+ BLI_assert(col != nullptr);
/* Insert real blocks. */
- for (int v = 1; col != NULL && v < bezt_len; v++, bezt++) {
+ for (int v = 1; col != nullptr && v < bezt_len; v++, bezt++) {
/* Wrong order of bezier keys: resync position. */
if (is_cfra_lt(bezt[1].vec[1][0], bezt[0].vec[1][0])) {
/* Backtrack to find the right location. */
@@ -528,11 +535,11 @@ static void add_bezt_to_keyblocks_list(AnimKeylist *keylist, BezTriple *bezt, co
ActKeyColumn *newcol = (ActKeyColumn *)BLI_dlrbTree_search_exact(
&keylist->keys, compare_ak_cfraPtr, &bezt[1].vec[1][0]);
- if (newcol != NULL) {
+ if (newcol != nullptr) {
col = newcol;
/* The previous keyblock is garbage too. */
- if (col->prev != NULL) {
+ if (col->prev != nullptr) {
add_keyblock_info(col->prev, &dummy_keyblock);
}
}
@@ -549,16 +556,16 @@ static void add_bezt_to_keyblocks_list(AnimKeylist *keylist, BezTriple *bezt, co
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list