blob: 5cb29de8048918b2b342eba9b14033d11f7a2a94 [file] [log] [blame]
/*
* Copyright 2022 Rive
*/
#ifndef _RIVE_COUNTER_HPP_
#define _RIVE_COUNTER_HPP_
#include "rive/rive_types.hpp"
namespace rive {
struct Counter {
enum Type {
kFile,
kArtboardInstance,
kLinearAnimationInstance,
kStateMachineInstance,
kBuffer,
kPath,
kPaint,
kShader,
kImage,
kLastType = kImage,
};
static constexpr int kNumTypes = Type::kLastType + 1;
static int counts[kNumTypes];
static void update(Type ct, int delta) {
assert(delta == 1 || delta == -1);
counts[ct] += delta;
assert(counts[ct] >= 0);
}
};
} // namespace rive
#endif